Componente pré-criado de autenticação de retalho

O componente pré-criado de autenticação de retalho recolhe informações do utilizador para o autenticar ao nível de autenticação necessário. Este componente abrange os requisitos de autenticação que são comuns, mas não exclusivos, à indústria de retalho. Este componente usa o componente predefinido Recolha de números de telefone para recolher e validar os detalhes do utilizador.

Níveis de autenticação

Existem vários níveis de autenticação exigidos por diferentes componentes pré-criados, com níveis mais elevados que requerem mais informações do utilizador para autenticar o utilizador. O componente de autenticação de retalho permite que os utilizadores se autentiquem no nível 0 (correspondência do ANI) ou no nível 1 (básico), conforme descrito na tabela de nível de autenticação.

Nível de autenticação Requisitos
Nível 0: correspondência do ANI O utilizador é autenticado através de uma chamada ou da indicação de um número de telefone que corresponde a uma conta registada.

É possível autenticar um utilizador no nível 0 através do componente pré-criado Greeting.
Nível 1: básico O utilizador é autenticado através da validação de um código de palavra-passe de utilização única (CSUU) enviado para o respetivo email ou número de telefone.

Tipos de utilizadores suportados

O componente de autenticação de retalho oferece apoio técnico aos utilizadores com um número de telefone e um email registados.

Limitações

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

  • As PUUs só são enviadas para um número de telemóvel ou um endereço de email previamente registado para o utilizador. O componente não usa a PUU para autenticar clientes que ligam a partir de um número de telefone alternativo que não está registado na respetiva conta. Quando um utilizador liga a partir de um número de telefone alternativo, as perguntas de segurança são usadas para autenticar o autor da chamada.
  • Este componente não encripta dados.

Exemplos de caixas de diálogo

Os exemplos de caixas de diálogo seguintes demonstram cenários comuns processados por este componente pré-criado. Os diálogos de exemplo demonstram o comportamento quando o componente é chamado através da telefonia, o que aciona a intenção de boas-vindas predefinida e a primeira resposta do agente no início da conversa.

Autenticação de nível 0 bem-sucedida: ANI correspondente

O utilizador liga a partir de um número de telefone registado numa conta existente, confirma a respetiva conta e é autenticado com êxito no Nível 0.

Introdução do utilizador Resposta do agente
Olá, o número que ligou está associado à conta de João. Tem dúvidas sobre a encomenda de outra pessoa? Diga sim se for o caso, caso contrário, diga não.
Não
Obrigado, João. A sua identidade foi validada com êxito.

Êxito da autenticação de nível 1: PUU

O utilizador liga a partir de um número de telefone não reconhecido. O componente recolhe o número de telefone registado do utilizador e, em seguida, envia e pede ao utilizador para confirmar uma PUU enviada para o canal à escolha do utilizador. O utilizador consegue fornecer uma PUU válida e é autenticado com êxito no nível 1.

Introdução do utilizador Resposta do agente
Não foi possível encontrar este número de telefone associado a nós. Indique-nos o número de telefone registado.
O agente recolhe o número de telefone através do componente pré-criado Recolha do número de telefone
Ótimo, terminámos de recolher o número de telefone.

Por motivos de segurança, temos de validar a sua identidade, pelo que lhe vamos enviar um código. Prefere receber o código por telefone ou por email?
telemóvel
Só para confirmar, quer receber a PUU no seu telemóvel? Diga sim ou não.
sim
Enviámos um código para o seu número de telefone registado que termina em 0000. Pode demorar alguns segundos. Pode confirmar o código?
123457
Obrigado, João. A sua identidade foi validada com êxito.

Convenções de nomenclatura

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

Funcionalidade Formato Exemplo
Flow [Component Name] Autenticação de retalho
Intenção específica do componente prebuilt_components_[component_name]_[intent_name] prebuilt_components_retail_authentication_incorrect_phone_number
Tipo de 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 parâmetros usados para configurar determinados comportamentos do componente. Os parâmetros vão ser usados por uma ou mais condições no fluxo para determinar o comportamento do componente. Os parâmetros ao nível do fluxo têm de ser definidos na página inicial do componente, conforme descrito abaixo. Os parâmetros ao nível da sessão podem ser definidos por um fluxo de chamadas ou na página de início deste componente.

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

Nome do parâmetro Descrição Formato de entrada
$session.params.auth_level_req Define o nível de autenticação para o qual o utilizador final vai ser autenticado. Os valores válidos são 0 ou 1. número inteiro
$session.params.auth_level (Opcional) Indica o nível de autenticação atual do utilizador final. número inteiro
$session.params.phone_number (opcional) Número de telefone do utilizador final. Se este parâmetro não for fornecido, o componente recolhe o número de telefone do utilizador final. de string
$flow.max_retry_phone_number Especifica o número de novas tentativas permitidas ao recolher o número de telefone do utilizador. O valor predefinido é 3. número inteiro
$flow.max_retry_otp Especifica o número de tentativas permitidas ao recolher a palavra-passe de utilização única (PUU). O valor predefinido é 3. número inteiro
$flow.max_retry_otp_not_received Especifica o número de novas tentativas permitidas quando a palavra-passe de utilização única (PUU) não é recebida. O valor predefinido é 1. número inteiro
$flow.max_retry_otp_confirm_channel Especifica o número de novas tentativas permitidas ao recolher o canal para receber a palavra-passe de utilização única (PUU). O valor predefinido é 3. número inteiro

Para configurar os parâmetros de entrada deste componente, expanda para ver as instruções.

  1. Abra a consola do Dialogflow CX.
  2. Escolha o seu projeto do Google Cloud.
  3. Selecione o seu agente.
  4. Selecione o separador Criar.
  5. Clique no componente importado na secção Fluxos.
  6. Clique na página inicial na secção Páginas.
  7. Clique no percurso verdadeiro na página inicial.
  8. Na janela Route, edite os valores de Predefinições de parâmetros conforme necessário.
  9. Clique em Guardar.

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. Estes parâmetros contêm informações importantes recolhidas pelo componente. Este componente pré-criado fornece valores para os seguintes parâmetros de saída:

Nome do parâmetro Descrição Formato de saída
auth_level Indica o nível de autenticação atual do utilizador final. número inteiro
all_recent_order_id Este parâmetro apresenta os IDs de encomendas associados ao utilizador autenticado, ordenados pela data de colocação da encomenda por ordem descendente. O primeiro elemento da matriz representa a encomenda mais recente. Se um utilizador não tiver encomendas, o valor deste parâmetro é null. Lista (string)
phone_number Número de telefone local do utilizador, sem o indicativo do país, usado para identificar o utilizador. de string
email O email registado na conta. de string
user_first_name Nome próprio do utilizador, usado para cumprimentar e confirmar a propriedade da conta. de string
transfer_reason Este parâmetro indica o motivo pelo qual o fluxo foi terminado, se não tiver sido bem-sucedido. O valor devolvido é um dos seguintes:

agent: o utilizador final pediu um agente humano em algum momento durante a conversa.

denial_of_information: o utilizador final recusou-se a partilhar informações pedidas pelo componente.

max_no_input: a conversa atingiu o número máximo de novas tentativas para eventos sem introdução. Consulte os eventos incorporados sem entrada.

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

webhook_error: ocorreu um erro de webhook. Veja o evento incorporado webhook.error.

webhook_not_found: não foi possível aceder a um URL de webhook. Veja o evento incorporado webhook.error.not-found.
de string

Configuração básica

Para configurar este componente pré-criado:

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

Configuração do webhook

Para usar este componente, tem de configurar os webhooks flexíveis incluídos para obter as informações necessárias dos seus serviços externos.

Valide os detalhes do utilizador

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

Parâmetros de pedidos de API

Os seguintes parâmetros são fornecidos pelo componente como entradas para o pedido da API.

Nome do parâmetro Descrição Formato de entrada
$session.params.phone_number Número de telefone local do utilizador, sem o indicativo do país, usado para identificar o utilizador. de string

Parâmetros de resposta da API

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

Nome do parâmetro Descrição Formato de saída
email O email registado na conta. de string
all_recent_order_id Lista de IDs de encomendas associados ao utilizador autenticado, ordenada por data de colocação da encomenda por ordem descendente. O primeiro elemento da matriz representa a encomenda mais recente. Se um utilizador não tiver encomendas, o valor deste parâmetro é null. Lista (string)
user_first_name Nome próprio do utilizador, usado para cumprimentar e confirmar a propriedade da conta. de string

Para configurar o webhook Verify user details (Validar detalhes do utilizador) para este componente, expanda para ver as instruções.

  1. Abra a consola do Dialogflow CX.
  2. Escolha o seu projeto do Google Cloud.
  3. Selecione o seu agente.
  4. Selecione o separador Gerir.
  5. Clique em Webhooks.
  6. Selecione o webhook prebuilt_components_retail_authentication:verify_user_details.
  7. Substitua o URL no campo URL do webhook dos agentes conversacionais (Dialogflow CX) pelo ponto final do serviço com o qual quer fazer a integração. Selecione o Método adequado no menu pendente.
  8. Reveja e atualize o corpo do pedido para formar o formato de pedido adequado para o seu webhook.
  9. Reveja e atualize a configuração de resposta para extrair campos específicos da resposta do webhook. Não modifique os nomes dos parâmetros, uma vez que são necessários para que o componente aceda aos valores dos campos devolvidos.
  10. Reveja e atualize as definições de autenticação, conforme necessário.
  11. Clique em Guardar.

Enviar PUU

O webhook prebuilt_components_retail_authentication:send_otp é usado pelo componente para enviar uma palavra-passe de utilização única (PUU) para um canal registado selecionado pelo utilizador final.

Parâmetros de pedidos de API

Os seguintes parâmetros são fornecidos pelo componente como entradas para o pedido da API.

Nome do parâmetro Descrição Formato de entrada
$session.params.phone_number Número de telefone local do utilizador, sem o indicativo do país, usado para identificar o utilizador. de string
$flow.channel O canal que o utilizador selecionou para receber o OTP. Os valores válidos são definidos pela entidade personalizada prebuilt_components_channel_email_phone. Por predefinição, são suportados os formatos email e phone. de string

Parâmetros de resposta da API

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

Nome do parâmetro Descrição Formato de saída
generated_otp O valor do OTP gerado e enviado ao utilizador através do canal selecionado. de string

Para configurar o webhook Enviar OTP para este componente, expanda para ver as instruções.

  1. Abra a consola do Dialogflow CX.
  2. Escolha o seu projeto do Google Cloud.
  3. Selecione o seu agente.
  4. Selecione o separador Gerir.
  5. Clique em Webhooks.
  6. Selecione o webhook prebuilt_components_retail_authentication:send_otp.
  7. Substitua o URL no campo URL do webhook dos agentes conversacionais (Dialogflow CX) pelo ponto final do serviço com o qual quer fazer a integração. Selecione o Método adequado no menu pendente.
  8. Reveja e atualize o corpo do pedido para formar o formato de pedido adequado para o seu webhook.
  9. Reveja e atualize a configuração de resposta para extrair campos específicos da resposta do webhook. Não modifique os nomes dos parâmetros, uma vez que são necessários para que o componente aceda aos valores dos campos devolvidos.
  10. Reveja e atualize as definições de autenticação, conforme necessário.
  11. Clique em Guardar.

Concluído

O seu agente e os respetivos webhooks já devem estar configurados e prontos para teste.