El componente precompilado de autenticación de venta 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 de venta minorista. Este componente usa el componente precompilado 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 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 el nivel 1 (básico), como se describe en la tabla de niveles de autenticación.
| Nivel de autenticación | Requisitos |
|---|---|
| Nivel 0: Coincidencia de ANI | El usuario se autentica llamando desde un número de teléfono que corresponde a una cuenta registrada o proporcionándolo. Un usuario se puede autenticar en el nivel 0 con el componente precompilado de saludo. |
| 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 que tienen 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 componente 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 llame desde un número de teléfono alternativo, se usarán preguntas de seguridad para autenticarlo.
- Este componente no encripta ningún dato.
Diálogos de muestra
En los siguientes diálogos de ejemplo, se muestran situaciones comunes que controla este componente precompilado. En los diálogos de ejemplo, se muestra el comportamiento cuando se llama al componente con la telefonía, lo que 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 en el nivel 0.
| Entrada del usuario | Respuesta del agente |
|---|---|
| Hola, el número que marcaste está vinculado a la cuenta de Juan. ¿Estás consultando sobre el pedido de otra persona? Di sí si ese es el caso; de lo contrario, di no. | |
| No | |
| Gracias, John. Se identificó tu cuenta correctamente. |
Autenticación de nivel 1 correcta: 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 y le pide al usuario que confirme una OTP enviada al canal que elija. El usuario puede proporcionar una OTP válida y se autentica correctamente en el nivel 1.
| Entrada del usuario | Respuesta del agente |
|---|---|
| No pudimos encontrar este número de teléfono asociado con nosotros. Proporciónanos el número de teléfono registrado. | |
| El agente recopila el número de teléfono con el componente precompilado Recopilación de números de teléfono | |
| Excelente, ya recopilamos 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? Di sí o no. | |
| sí | |
| Enviamos un código a tu 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 identificó tu cuenta correctamente. |
Convenciones de nombres
Este componente precompilado usa las siguientes convenciones de nombres:
| Función | Formato | Ejemplo |
|---|---|---|
| Flujo | [Nombre del componente] | Autenticación de comercios |
| Intento 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 con alcance de flujo se deben establecer en la página de inicio del componente, como se describe a continuación. Los parámetros centrados en la sesión se pueden establecer mediante un flujo de llamada o en la página de inicio de este componente.
Este componente precompilado 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 | (Opcional) Indica el nivel de autenticación actual del usuario final. | integer |
| $session.params.phone_number | (Opcional) Es el 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.
- Abre la consola de Dialogflow CX.
- Elige tu proyecto de Google Cloud.
- Selecciona el agente.
- Selecciona la pestaña Build.
- Haz clic en el componente importado en la sección Flujos.
- Haz clic en la página de inicio en la sección Páginas.
- Haz clic en la ruta true en la página de inicio.
- En la ventana Route, edita los valores de Parameter Presets según sea necesario.
- 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 precompilado 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 | Es el número de teléfono local del usuario, sin el código de país, que se usa para identificarlo. | cadena |
| correo electrónico | Es el correo electrónico registrado con 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 cerró el flujo, si no se completó correctamente. El valor que se devuelve 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 que solicitó el componente.max_no_input: La conversación alcanzó la cantidad máxima de reintentos para eventos sin entrada. Consulta eventos integrados sin entrada.max_no_match: La conversación alcanzó la cantidad máxima de reintentos para eventos sin coincidencia. Consulta los eventos integrados de no 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 compilado previamente, haz lo siguiente:
- Importa el componente compilado previamente.
- Configura los webhooks flexibles proporcionados con la configuración que describe tus servicios externos. Consulta la configuración de webhooks a continuación.
Configuración del 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 componente usa el webhook prebuilt_components_retail_authentication:verify_user_details para recuperar los detalles de la cuenta del 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. | cadena |
Parámetros de respuesta de la API
Los siguientes parámetros se extraen de la respuesta de la API para que los use el componente.
| Nombre del parámetro | Descripción | Formato de salida |
|---|---|---|
| correo electrónico | Es el correo electrónico registrado con la cuenta. | cadena |
| all_recent_order_id | Es la lista de 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 verificación de detalles del usuario para este componente, expande las instrucciones.
- Abre la consola de Dialogflow CX.
- Elige tu proyecto de Google Cloud.
- Selecciona el agente.
- Selecciona la pestaña Administrar.
- Haz clic en Webhooks.
- Selecciona el webhook prebuilt_components_retail_authentication:verify_user_details.
- 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.
- Revisa y actualiza el Cuerpo de la solicitud para crear el formato de solicitud adecuado para tu webhook.
- Revisa y actualiza la configuración de la 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 devuelven.
- Revisa y actualiza la configuración de Autenticación según sea necesario.
- 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 selecciona 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. | cadena |
| $flow.channel | Es el canal que el usuario seleccionó para recibir la 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
Los siguientes parámetros se extraen de la respuesta de la API para que los use el componente.
| 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 envío de OTP para este componente, expande las instrucciones.
- Abre la consola de Dialogflow CX.
- Elige tu proyecto de Google Cloud.
- Selecciona el agente.
- Selecciona la pestaña Administrar.
- Haz clic en Webhooks.
- Selecciona el webhook prebuilt_components_retail_authentication:send_otp.
- 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.
- Revisa y actualiza el Cuerpo de la solicitud para crear el formato de solicitud adecuado para tu webhook.
- Revisa y actualiza la configuración de la 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 devuelven.
- Revisa y actualiza la configuración de Autenticación según sea necesario.
- Haz clic en Guardar.
Completado
Tu agente y sus webhooks ya deberían estar configurados y listos para probarse.