Componente precompilado de autenticación de venta minorista

El componente compilado previamente de autenticación de venta minorista recopila información del usuario para autenticarlo en el nivel de autenticación requerido. Este componente cubre los requisitos de autenticación que son comunes, pero no exclusivos, para la industria de venta minorista. Este componente usa el componente compilado previamente Recopilación de números de teléfono para recopilar y validar los detalles del usuario.

Niveles de autenticación

Existen varios niveles de autenticación requeridos por diferentes componentes precompilados, y los niveles más altos requieren más información del usuario para autenticarlo. El componente de autenticación de venta minorista permite a los usuarios autenticarse en el nivel 0 (ANI Match) o el nivel 1 (básico), como se describe en la tabla de nivel de autenticación.

Nivel de autenticación Requisitos
Nivel 0: ANI Match Para autenticar al usuario, debes llamar desde un número de teléfono que corresponda a una cuenta registrada o proporcionarlo.

Un usuario se puede autenticar en el nivel 0 con el componente precompilado de saludo.
Nivel 1: Básico Para autenticar al usuario, se debe verificar un código de contraseña de un solo uso (OTP) que se envió a su correo electrónico o número de teléfono.

Tipos de usuarios admitidos

El componente de autenticación de venta minorista proporciona asistencia a los usuarios con un número de teléfono y un correo electrónico registrados.

Limitaciones

Además de las limitaciones comunes de los componentes compilados previamente, este tiene las siguientes limitaciones:

  • Las OTP solo se enviarán a un número de celular o una dirección de correo electrónico que el usuario haya registrado con anterioridad. El componente no usará OTP para autenticar a los clientes que llamen desde un número de teléfono alternativo que no esté registrado con su cuenta. Cuando un usuario llama desde un número de teléfono alternativo, se usan preguntas de seguridad para autenticar al emisor.
  • Este componente no encripta ningún dato.

Diálogos de muestra

En los siguientes diálogos de muestra, se muestran situaciones comunes controladas por este componente compilado previamente. Los diálogos de muestra demuestran el comportamiento cuando se llama al componente mediante telefonía, lo cual activa el intent de bienvenida predeterminado y la primera respuesta del agente al comienzo de la conversación.

Autenticación de nivel 0 correcta: coincidencia de ANI

El usuario llama desde un número de teléfono registrado en una cuenta existente, confirma su cuenta y se autentica correctamente al nivel 0.

Entrada del usuario Respuesta del agente
Hola. El número que marcaste está vinculado a la cuenta de Juan. ¿Tu consulta se relaciona con el pedido de otra persona? Si ese es el caso, di sí; de lo contrario, di no.
No
Gracias, John. Has sido identificado correctamente.

Autenticación exitosa de nivel 1: OTP

El usuario llama desde un número de teléfono no reconocido. El componente recopila el número de teléfono registrado del usuario y, luego, envía y le pide que confirme una OTP que se envió al canal que eligió. El usuario puede proporcionar una OTP válida y se autentica correctamente al nivel 1.

Entrada del usuario Respuesta del agente
No pudimos encontrar este número de teléfono asociado. Proporciona el número de teléfono registrado.
El agente recopila el número de teléfono mediante el componente precompilado de recopilación de números de teléfono.
Terminamos de recopilar el número de teléfono.

Por motivos de seguridad, debemos validar tu identidad y te enviaremos un código. ¿Prefieres recibir el código por teléfono o por correo electrónico?
teléfono
Solo para confirmar, ¿te gustaría recibir la OTP en tu teléfono? Di sí o no.
Enviamos un código al número de teléfono registrado que termina en 0000. Este proceso puede tardar unos segundos. ¿Puedes confirmar el código?
123457
Gracias, John. Has sido identificado correctamente.

Convenciones de nombres

Este componente compilado previamente usa las siguientes convenciones de nomenclatura:

Atributo Formato Ejemplo
Flujo [Nombre del componente] Autenticación de venta minorista
Intent específico del componente prebuilt_components_[component_name]_[intent_name] prebuilt_components_retail_authentication_incorrect_phone_number
Tipo de entidad 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

Los parámetros de entrada son parámetros que se usan para configurar ciertos comportamientos del componente. Una o más condiciones dentro del flujo usarán los parámetros para determinar cómo debe comportarse el componente. Los parámetros centrados en el flujo deben establecerse en la página de inicio del componente, como se describe a continuación. Los parámetros centrados en la sesión se pueden configurar mediante un flujo de llamada o en la página de inicio de este componente.

Este componente compilado previamente acepta los siguientes parámetros de entrada:

Nombre del parámetro Descripción Formato de entrada
$session.params.auth_level_req Define el nivel de autenticación con el que se autenticará el usuario final. Los valores válidos son 0 o 1. integer
$session.params.auth_level Indica el nivel de autenticación actual del usuario final (opcional). integer
$session.params.phone_number. Número de teléfono del usuario final (opcional). Si no se proporciona este parámetro, el componente recopilará el número de teléfono del usuario final. string
$flow.max_retry_phone_number Especifica la cantidad de reintentos permitidos para recopilar el número de teléfono del usuario. El valor predeterminado es 3. integer
$flow.max_retry_otp. Especifica la cantidad de reintentos permitidos cuando se recopila la contraseña de un solo uso (OTP). El valor predeterminado es 3. integer
$flow.max_retry_otp_not_received Especifica la cantidad de reintentos permitidos cuando no se recibe la contraseña de un solo uso (OTP). El valor predeterminado es 1. integer
$flow.max_retry_otp_confirm_channel Especifica la cantidad de reintentos permitidos cuando se recopila el canal para recibir la contraseña de un solo uso (OTP). El valor predeterminado es 3. integer

Para configurar los parámetros de entrada de este componente, expande las instrucciones.

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona el agente.
  4. Selecciona la pestaña Build.
  5. Haz clic en el componente importado en la sección Flujos.
  6. Haz clic en la página de inicio de la sección Páginas.
  7. Haz clic en la ruta true en la página de inicio.
  8. En la ventana Route, edita los valores de Parameter Presets según sea necesario.
  9. Haz clic en Guardar.

Los parámetros de resultado

Los parámetros de salida son parámetros de sesión que permanecerán activos después de salir del componente. Estos parámetros contienen información importante que recopila el componente. Este componente compilado previamente proporciona valores para los siguientes parámetros de salida:

Nombre del parámetro Descripción Formato de salida
auth_level Indica el nivel de autenticación actual del usuario final. integer
all_recent_order_id Este parámetro enumera los ID de pedido asociados con el usuario autenticado, ordenados por fecha de colocación del pedido en orden descendente. El primer elemento del array representa el orden más reciente. Si un usuario no tiene pedidos, el valor de este parámetro es null. Lista (cadena)
phone_number Es el número de teléfono local del usuario, sin el código de país, que se usa para identificarlo. string
email El correo electrónico registrado en la cuenta. string
user_first_name Es el nombre del usuario, que se usa para saludar y confirmar que la cuenta es de su propiedad. string
transfer_reason Este parámetro indica el motivo por el que se cerró el flujo, si no fue exitoso. El valor que se muestra es uno de los siguientes:

agent: El usuario final solicitó un agente humano en algún momento de la conversación.

denial_of_information: El usuario final rechazó compartir la información solicitada por el componente.

max_no_input: La conversación alcanzó la cantidad máxima de reintentos para eventos sin entrada. Consulta los eventos integrados sin entrada.

max_no_match: La conversación alcanzó la cantidad máxima de reintentos para eventos sin coincidencias. Consulta los eventos integrados sin coincidencias.

webhook_error: Se produjo un error de webhook. Consulta evento integrado de webhook.error.

webhook_not_found: No se pudo acceder a una URL de webhook. Consulta webhook.error.not-found contenido integrado.
string

Configuración básica

Para configurar este componente precompilado, haz lo siguiente:

  1. Importa el componente precompilado.
  2. Para configurar los webhooks flexibles proporcionados con la configuración que describe tus servicios externos de Dialogflow, consulta la configuración de webhook que se muestra a continuación.

Configuración de webhooks

Si deseas usar este componente, deberás configurar los webhooks flexibles incluidos para recuperar la información necesaria de tus servicios externos.

Verifica los detalles del usuario

El componente usa el webhook prebuilt_components_retail_authentication:verify_user_details para recuperar los detalles de la cuenta de usuario en función del número de teléfono proporcionado.

Parámetros de solicitud a la API

El componente proporciona los siguientes parámetros como entradas para la solicitud a la API.

Nombre del parámetro Descripción Formato de entrada
$session.params.phone_number. Es el número de teléfono local del usuario, sin el código de país, que se usa para identificarlo. string

Parámetros de respuesta de la API

Los siguientes parámetros se extraen de la respuesta de la API para que los utilice el componente.

Nombre del parámetro Descripción Formato de salida
email El correo electrónico registrado en la cuenta. string
all_recent_order_id Lista de los IDs de pedido asociados con el usuario autenticado, ordenados por fecha de realización del pedido en orden descendente. El primer elemento del array representa el orden más reciente. Si un usuario no tiene pedidos, el valor de este parámetro es null. Lista (cadena)
user_first_name Es el nombre del usuario, que se usa para saludar y confirmar que la cuenta es de su propiedad. string

Si deseas configurar el webhook Verificar los detalles del usuario para este componente, expande la sección de instrucciones.

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona el agente.
  4. Selecciona la pestaña Administrar.
  5. Haz clic en Webhooks.
  6. Selecciona el webhook compilado_components_retail_authentication:verify_user_details.
  7. Reemplaza la URL en el campo URL de webhook de Dialogflow con el extremo del servicio con el que deseas integrarte. Selecciona el Método adecuado en el menú desplegable.
  8. Revisa y actualiza el Cuerpo de la solicitud a fin de obtener el formato de solicitud adecuado para tu webhook.
  9. Revisa y actualiza la Configuración de respuesta para extraer campos específicos de la respuesta de tu webhook. No modifiques los nombres de los parámetros, ya que el componente los requiere para acceder a los valores de campo que se muestran.
  10. Revisa y actualiza la configuración de Authentication según sea necesario.
  11. Haz clic en Guardar.

Enviar OTP

El componente usa el webhook prebuilt_components_retail_authentication:send_otp para enviar una contraseña de un solo uso (OTP) a un canal registrado que seleccionó el usuario final.

Parámetros de solicitud a la API

El componente proporciona los siguientes parámetros como entradas para la solicitud a la API.

Nombre del parámetro Descripción Formato de entrada
$session.params.phone_number. Es el número de teléfono local del usuario, sin el código de país, que se usa para identificarlo. string
$flow.channel Es el canal que seleccionó el usuario para recibir la OTP. La entidad personalizada prebuilt_components_channel_email_phone define los valores válidos. De forma predeterminada, se admiten email y phone. string

Parámetros de respuesta de la API

Los siguientes parámetros se extraen de la respuesta de la API para que los utilice el componente.

Nombre del parámetro Descripción Formato de salida
generated_otp El valor de la OTP que se generó y se envió al usuario a través del canal seleccionado. string

Si quieres configurar el webhook de Enviar OTP para este componente, expande las instrucciones.

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona el agente.
  4. Selecciona la pestaña Administrar.
  5. Haz clic en Webhooks.
  6. Selecciona el webhook compilado_components_retail_authentication:send_otp.
  7. Reemplaza la URL en el campo URL de webhook de Dialogflow con el extremo del servicio con el que deseas integrarte. Selecciona el Método adecuado en el menú desplegable.
  8. Revisa y actualiza el Cuerpo de la solicitud a fin de obtener el formato de solicitud adecuado para tu webhook.
  9. Revisa y actualiza la Configuración de respuesta para extraer campos específicos de la respuesta de tu webhook. No modifiques los nombres de los parámetros, ya que el componente los requiere para acceder a los valores de campo que se muestran.
  10. Revisa y actualiza la configuración de Authentication según sea necesario.
  11. Haz clic en Guardar.

Completos

Tu agente y sus webhooks ya deberían estar configurados y listos para las pruebas.