Componente predefinido de autenticação de varejo

O componente pré-criado de autenticação de varejo coleta informações do usuário para autenticá-lo no nível de autenticação necessário. Esse componente abrange requisitos de autenticação que são comuns, mas não exclusivos, ao setor de varejo. Esse componente usa o componente pré-criado Coleta de número de telefone para coletar e validar os detalhes do usuário.

Níveis de autenticação

Há vários níveis de autenticação exigidos por diferentes componentes pré-criados, com níveis mais altos que exigem mais informações do usuário para autenticá-lo. O componente de autenticação de varejo permite que os usuários se autentiquem no Nível 0 (correspondência de ANI) ou no Nível 1 (básico), conforme descrito na tabela de níveis de autenticação.

Nível de autenticação Requisitos
Nível 0: correspondência de ANI O usuário é autenticado ao ligar ou fornecer um número de telefone que corresponde a uma conta registrada.

Um usuário pode ser autenticado no nível 0 usando o componente pré-criado de saudação.
Nível 1: básico O usuário é autenticado ao verificar um código de senha única (OTP, na sigla em inglês) enviado para o e-mail ou número de telefone dele.

Tipos de usuário compatíveis

O componente de autenticação de varejo oferece suporte para usuários com um número de telefone e e-mail registrados.

Limitações

Além das limitações comuns de componentes pré-criados, este componente tem as seguintes limitações:

  • As OTPs só serão enviadas para um número de celular ou endereço de e-mail registrado anteriormente para o usuário. O componente não vai usar a OTP para autenticar clientes que ligarem de um número de telefone alternativo que não esteja registrado na conta. Quando um usuário liga de um número de telefone alternativo, perguntas de segurança são usadas para autenticar o autor da chamada.
  • Esse componente não criptografa dados.

Diálogos de exemplo

Os exemplos de diálogos a seguir demonstram cenários comuns processados por esse componente pré-criado. As caixas de diálogo de exemplo demonstram o comportamento quando o componente é chamado usando telefonia, o que aciona a intent de boas-vindas padrão e a primeira resposta do agente no início da conversa.

Sucesso na autenticação de nível 0: correspondência de ANI

O usuário liga de um número de telefone registrado em uma conta, confirma a conta e é autenticado no nível 0.

Entrada do usuário Resposta do agente
Olá, o número que você discou está vinculado à conta do João. Sua dúvida é sobre o pedido de outra pessoa? Diga "sim" se for o caso, ou "não".
Não
Obrigado, John. Sua identificação foi concluída.

Sucesso na autenticação de nível 1: OTP

O usuário liga de um número de telefone não reconhecido. O componente coleta o número de telefone registrado do usuário, envia uma OTP para o canal escolhido por ele e pede que ele a confirme. O usuário fornece uma OTP válida e é autenticado com sucesso no nível 1.

Entrada do usuário Resposta do agente
Não encontramos esse número de telefone associado a nós. Informe o número de telefone registrado.
O agente coleta o número de telefone usando o componente pré-criado Coleta de número de telefone
Pronto, já coletamos o número de telefone.

Por motivos de segurança, precisamos validar sua identidade. Por isso, vamos enviar um código para você. Você prefere receber o código por telefone ou e-mail?
telefone
Só para confirmar, você quer receber a OTP no seu smartphone? Diga "Sim" ou "Não".
sim
Enviamos um código para seu número de telefone registrado que termina em 0000. Isso pode levar alguns segundos. Você pode confirmar o código?
123457
Obrigado, John. Sua identificação foi concluída.

Convenções de nomenclatura

Este componente pré-criado usa as seguintes convenções de nomenclatura:

Recurso Formatar Exemplo
Flow [Nome do componente] Autenticação de varejo
Intenção específica do componente prebuilt_components_[component_name]_[intent_name] prebuilt_components_retail_authentication_incorrect_phone_number
Tipo da entidade prebuilt_components_[component_name]_[entity_type] prebuilt_components_channel_email_phone
Webhook prebuilt_components_[component_name]:[webhook_action] prebuilt_components_retail_authentication:verify_user_details

Parâmetros de entrada

Os parâmetros de entrada são usados para configurar determinados comportamentos do componente. Os parâmetros serão usados por uma ou mais condições no fluxo para determinar como o componente deve se comportar. Os parâmetros com escopo de fluxo precisam ser definidos na página inicial do componente, conforme descrito abaixo. Os parâmetros no escopo da sessão podem ser definidos por um fluxo de chamada ou na página inicial desse componente.

Esse componente pré-criado aceita os seguintes parâmetros de entrada:

Nome do parâmetro Descrição Formato da entrada
$session.params.auth_level_req Define o nível de autenticação do usuário final. Os valores válidos são 0 ou 1. integer
$session.params.auth_level (Opcional) Indica o nível de autenticação atual do usuário final. integer
$session.params.phone_number (Opcional) Número de telefone do usuário final. Se esse parâmetro não for fornecido, o componente vai coletar o número de telefone do usuário final. string
$flow.max_retry_phone_number Especifica o número de novas tentativas permitidas ao coletar o número de telefone do usuário. O valor padrão é 3. integer
$flow.max_retry_otp Especifica o número de novas tentativas permitidas ao coletar a senha de uso único (OTP, na sigla em inglês). O valor padrão é 3. integer
$flow.max_retry_otp_not_received Especifica o número de tentativas permitidas quando a senha de uso único (OTP, na sigla em inglês) não é recebida. O valor padrão é 1. integer
$flow.max_retry_otp_confirm_channel Especifica o número de novas tentativas permitidas ao coletar o canal para receber a senha única (OTP, na sigla em inglês). O valor padrão é 3. integer

Para configurar os parâmetros de entrada desse componente, abra as instruções.

  1. Abra o console do Dialogflow CX.
  2. Escolha seu projeto do Google Cloud.
  3. Selecione seu agente.
  4. Selecione a guia Build.
  5. Clique no componente importado na seção Fluxos.
  6. Clique na página inicial na seção Páginas.
  7. Clique na rota true na página inicial.
  8. Na janela "Rota", edite os valores de Predefinições de parâmetros conforme necessário.
  9. Clique em Salvar.

Parâmetros de saída

Os parâmetros de saída são parâmetros de sessão que permanecem ativos após sair do componente. Esses parâmetros contêm informações importantes coletadas pelo componente. Esse componente pré-criado fornece valores para os seguintes parâmetros de saída:

Nome do parâmetro Descrição Formato da saída
auth_level Indica o nível de autenticação atual do usuário final. integer
all_recent_order_id Esse parâmetro lista os códigos de pedido associados ao usuário autenticado, classificados pela data de realização do pedido em ordem decrescente. O primeiro elemento da matriz representa o pedido mais recente. Se um usuário não tiver pedidos, o valor desse parâmetro será null. Lista (string)
phone_number Número de telefone local do usuário, sem o código do país, usado para identificar o usuário. string
e-mail O e-mail registrado na conta. string
user_first_name Nome do usuário, usado para cumprimentar e confirmar a propriedade da conta. string
transfer_reason Esse parâmetro indica o motivo da saída do fluxo, se não tiver sido bem-sucedido. O valor retornado é um dos seguintes:

agent: o usuário final solicitou um agente humano em algum momento da conversa.

denial_of_information: o usuário final se recusou a compartilhar as informações solicitadas pelo componente.

max_no_input: a conversa atingiu o número máximo de novas tentativas para eventos sem entrada. Consulte eventos integrados sem entrada.

max_no_match: a conversa atingiu o número máximo de novas tentativas para eventos sem correspondência. Consulte eventos integrados sem correspondência.

webhook_error: ocorreu um erro de webhook. Consulte o evento integrado webhook.error.

webhook_not_found: um URL do webhook estava inacessível. Consulte o evento integrado webhook.error.not-found.
string

Configuração básica

Para configurar esse componente pré-criado:

  1. Importe o componente pré-criado.
  2. Configure os webhooks flexíveis fornecidos com a configuração que descreve seus serviços externos. Consulte a configuração do webhook abaixo.

Configuração do webhook

Para usar esse componente, você precisa configurar os webhooks flexíveis incluídos para recuperar as informações necessárias dos seus serviços externos.

Verificar detalhes do usuário

O webhook prebuilt_components_retail_authentication:verify_user_details é usado pelo componente para buscar detalhes da conta do usuário com base no número de telefone fornecido.

Parâmetros de solicitação de API

Os parâmetros a seguir são fornecidos pelo componente como entradas para a solicitação de API.

Nome do parâmetro Descrição Formato da entrada
$session.params.phone_number Número de telefone local do usuário, sem o código do país, usado para identificar o usuário. string

Parâmetros de resposta da API

Os parâmetros a seguir são extraídos da resposta da API para serem usados pelo componente.

Nome do parâmetro Descrição Formato da saída
e-mail O e-mail registrado na conta. string
all_recent_order_id Lista de códigos de pedido associados ao usuário autenticado, classificados pela data de realização do pedido em ordem decrescente. O primeiro elemento da matriz representa o pedido mais recente. Se um usuário não tiver pedidos, o valor desse parâmetro será null. Lista (string)
user_first_name Nome do usuário, usado para cumprimentar e confirmar a propriedade da conta. string

Para configurar o webhook de verificação de detalhes do usuário para esse componente, abra as instruções.

  1. Abra o console do Dialogflow CX.
  2. Escolha seu projeto do Google Cloud.
  3. Selecione seu agente.
  4. Selecione a guia Gerenciar.
  5. Clique em Webhooks.
  6. Selecione o webhook prebuilt_components_retail_authentication:verify_user_details.
  7. Substitua o URL no campo URL do webhook do Dialogflow CX pelo endpoint do serviço com que você quer fazer a integração. Selecione o Método adequado no menu suspenso.
  8. Revise e atualize o corpo da solicitação para criar o formato de solicitação adequado para seu webhook.
  9. Revise e atualize a Configuração de resposta para extrair campos específicos da resposta do webhook. Não modifique os nomes dos parâmetros, porque eles são necessários para que o componente acesse os valores de campo retornados.
  10. Revise e atualize as configurações de Autenticação conforme necessário.
  11. Clique em Salvar.

Enviar OTP

O webhook prebuilt_components_retail_authentication:send_otp é usado pelo componente para enviar uma senha única (OTP) a um canal registrado selecionado pelo usuário final.

Parâmetros de solicitação de API

Os parâmetros a seguir são fornecidos pelo componente como entradas para a solicitação de API.

Nome do parâmetro Descrição Formato da entrada
$session.params.phone_number Número de telefone local do usuário, sem o código do país, usado para identificar o usuário. string
$flow.channel O canal que o usuário selecionou para receber a OTP. Os valores válidos são definidos pela entidade personalizada prebuilt_components_channel_email_phone. Por padrão, email e phone são aceitos. string

Parâmetros de resposta da API

Os parâmetros a seguir são extraídos da resposta da API para serem usados pelo componente.

Nome do parâmetro Descrição Formato da saída
generated_otp O valor da OTP gerada e enviada ao usuário usando o canal selecionado. string

Para configurar o webhook de envio de OTP para esse componente, abra as instruções.

  1. Abra o console do Dialogflow CX.
  2. Escolha seu projeto do Google Cloud.
  3. Selecione seu agente.
  4. Selecione a guia Gerenciar.
  5. Clique em Webhooks.
  6. Selecione o webhook prebuilt_components_retail_authentication:send_otp.
  7. Substitua o URL no campo URL do webhook do Dialogflow CX pelo endpoint do serviço com que você quer fazer a integração. Selecione o Método adequado no menu suspenso.
  8. Revise e atualize o corpo da solicitação para criar o formato de solicitação adequado para seu webhook.
  9. Revise e atualize a Configuração de resposta para extrair campos específicos da resposta do webhook. Não modifique os nomes dos parâmetros, porque eles são necessários para que o componente acesse os valores de campo retornados.
  10. Revise e atualize as configurações de Autenticação conforme necessário.
  11. Clique em Salvar.

Concluído

Seu agente e os webhooks dele agora devem estar configurados e prontos para teste.