Componente precompilado de autenticación de venta minorista

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

Niveles de autenticación

Hay varios niveles de autenticación que requieren diferentes componentes prediseñados, y los niveles más altos requieren más información del usuario para autenticarlo. El componente de autenticación de venta minorista permite que los usuarios se autentiquen en el nivel 0 (coincidencia de ANI) o en el nivel 1 (básico), como se describe en la tabla de niveles de autenticación.

Nivel de autenticación Requisitos
Nivel 0: Coincidencia del ANI El usuario se autentica llamando o proporcionando un número de teléfono que corresponde a una cuenta registrada.

Se puede autenticar a un usuario en el nivel 0 con el componente prediseñado Greeting.
Nivel 1: Básico El usuario se autentica verificando un código de contraseña de un solo uso (OTP) que se envía a su correo electrónico o número de teléfono.

Tipos de usuarios admitidos

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

Limitaciones

Además de las limitaciones comunes de los componentes prediseñados, este componente prediseñado 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 se hayan registrado previamente para el usuario. El componente no usará la OTP para autenticar a los clientes que llamen desde un número de teléfono alternativo que no esté registrado en su cuenta. Cuando un usuario llama desde un número de teléfono alternativo, se usarán preguntas de seguridad para autenticar a la persona que llama.
  • Este componente no encripta ningún dato.

Diálogos de muestra

En los siguientes diálogos de ejemplo, se muestran situaciones comunes que maneja este componente prediseñado. Los diálogos de ejemplo demuestran el comportamiento cuando se llama al componente por telefonía, lo que activa el intent de bienvenida predeterminado y la primera respuesta del agente al comienzo de la conversación.

La autenticación de nivel 0 se realizó correctamente: Coincidencia del ANI

El usuario llama desde un número de teléfono registrado en una cuenta existente, confirma su cuenta y se autentica correctamente en el 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? Di sí si es así o no si no lo es.
No
Gracias, John. Se te identificó correctamente.

Éxito de la autenticación de nivel 1: OTP

El usuario llama desde un número de teléfono desconocido. El componente recopila el número de teléfono registrado del usuario y, luego, envía un OTP y le pide al usuario que lo confirme en el canal de su elección. El usuario puede proporcionar un OTP válido y se autentica correctamente en el nivel 1.

Entrada del usuario Respuesta del agente
No encontramos este número de teléfono asociado a nosotros. Proporciónanos el número de teléfono registrado.
El agente recopila el número de teléfono con el componente prediseñado Recopilación del número de teléfono
Excelente. Terminamos de recopilar el número de teléfono.

Por motivos de seguridad, debemos validar tu identidad, por lo que te enviaremos un código. ¿Prefieres recibir el código por teléfono o por correo electrónico?
teléfono
Solo para confirmar, ¿quieres recibir la OTP en tu teléfono? Responde 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. Se te identificó correctamente.

Convenciones de nombres

Este componente prediseñado usa las siguientes convenciones de nomenclatura:

Función Formato Ejemplo
Flujo [Nombre del componente] Autenticación de Retail
Intención específica 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 los que se usan para configurar ciertos comportamientos del componente. Los parámetros se usarán en una o más condiciones dentro del flujo para determinar cómo debe comportarse el componente. Los parámetros con alcance de flujo se deben establecer en la página de inicio del componente, como se describe a continuación. Los parámetros con alcance de sesión se pueden establecer a través de un flujo de llamada o en la página de inicio de este componente.

Este componente prediseñado 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 al que se autenticará el usuario final. Los valores válidos son 0 o 1. integer
$session.params.auth_level (Opcional) Indica el nivel de autenticación actual del usuario final. integer
$session.params.phone_number (Opcional) Número de teléfono del usuario final. Si no se proporciona este parámetro, el componente recopilará el número de teléfono del usuario final. cadena
$flow.max_retry_phone_number Especifica la cantidad de reintentos permitidos cuando se recopila 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 en la sección Pages.
  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 prediseñado 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 IDs de pedido asociados con el usuario autenticado, ordenados por la fecha de realización del pedido en orden descendente. El primer elemento del array representa el pedido más reciente. Si un usuario no tiene pedidos, el valor de este parámetro es null. Lista (cadena)
phone_number Número de teléfono local del usuario, sin el código de país, que se usa para identificar al usuario. cadena
correo electrónico El correo electrónico registrado en la cuenta. cadena
user_first_name Nombre del usuario, que se usa para saludarlo y confirmar la propiedad de la cuenta. cadena
transfer_reason Este parámetro indica el motivo por el que se salió del flujo, si no se completó correctamente. El valor devuelto 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 se negó a compartir la información que solicitó el componente.

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

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

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

webhook_not_found: No se pudo acceder a una URL de webhook. Consulta el evento integrado webhook.error.not-found.
cadena

Configuración básica

Para configurar este componente prediseñado, haz lo siguiente:

  1. Importa el componente compilado previamente.
  2. Configura los webhooks flexibles proporcionados con la configuración que describe tus servicios externos. Consulta la configuración de webhook a continuación.

Configuración de webhook

Para 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 webhook prebuilt_components_retail_authentication:verify_user_details se usa para que el componente recupere los detalles de la cuenta del usuario según el número de teléfono proporcionado.

Parámetros de la 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 Número de teléfono local del usuario, sin el código de país, que se usa para identificar al usuario. cadena

Parámetros de respuesta de la API

El componente usa los siguientes parámetros extraídos de la respuesta de la API.

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

Para configurar el webhook de Verify user details 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 prebuilt_components_retail_authentication:verify_user_details.
  7. Reemplaza la URL en el campo URL de webhook de Dialogflow CX por el extremo del servicio con el que deseas realizar la integración. Selecciona el Método adecuado en el menú desplegable.
  8. Revisa y actualiza el cuerpo de la solicitud para formar 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 necesita para acceder a los valores de los campos devueltos.
  10. Revisa y actualiza la configuración de Authentication según sea necesario.
  11. Haz clic en Guardar.

Enviar OTP

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

Parámetros de la 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 Número de teléfono local del usuario, sin el código de país, que se usa para identificar al usuario. cadena
$flow.channel Canal que seleccionó el usuario para recibir el OTP. Los valores válidos se definen con la entidad personalizada prebuilt_components_channel_email_phone. De forma predeterminada, se admiten email y phone. cadena

Parámetros de respuesta de la API

El componente usa los siguientes parámetros extraídos de la respuesta de la API.

Nombre del parámetro Descripción Formato de salida
generated_otp Es el valor de la OTP generada y enviada al usuario a través del canal seleccionado. cadena

Para configurar el webhook de Send 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 prebuilt_components_retail_authentication:send_otp.
  7. Reemplaza la URL en el campo URL de webhook de Dialogflow CX por el extremo del servicio con el que deseas realizar la integración. Selecciona el Método adecuado en el menú desplegable.
  8. Revisa y actualiza el cuerpo de la solicitud para formar 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 necesita para acceder a los valores de los campos devueltos.
  10. Revisa y actualiza la configuración de Authentication según sea necesario.
  11. Haz clic en Guardar.

Completado

Tu agente y sus webhooks ya deberían estar configurados y listos para la prueba.