El componente prediseñado de autenticación de comercio recoge 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, del sector retail. Este componente usa el componente precompilado Recogida de número de teléfono para recoger y validar los detalles del usuario.
Niveles de autenticación
Hay varios niveles de autenticación que requieren diferentes componentes prediseñados. Los niveles más altos requieren más información del usuario para autenticarlo. El componente de autenticación de comercio permite a los usuarios autenticarse en el nivel 0 (coincidencia de ANI) o en el nivel 1 (básico), tal 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 o proporcionando un número de teléfono que corresponda a una cuenta registrada. Para autenticarse en el nivel 0, el usuario puede usar el componente prediseñado 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 o número de teléfono. |
Tipos de usuarios admitidos
El componente de autenticación de comercio ofrece asistencia a los usuarios que tienen un número de teléfono y un correo registrados.
Limitaciones
Además de las limitaciones comunes de los componentes prediseñados, este componente prediseñado tiene las siguientes limitaciones:
- Las OTPs solo se enviarán a un número de móvil o una dirección de correo electrónico que el usuario haya registrado previamente. 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 utilizan preguntas de seguridad para autenticar a la persona que llama.
- Este componente no cifra ningún dato.
Ejemplos de cuadros de diálogo
En los siguientes ejemplos de cuadros de diálogo se muestran situaciones habituales que gestiona este componente prediseñado. Los diálogos de ejemplo muestran el comportamiento cuando se llama al componente mediante telefonía, lo que activa la intención de bienvenida predeterminada y la primera respuesta del agente al inicio 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, confirma su cuenta y se autentica correctamente en el nivel 0.
Entrada del usuario | Respuesta del agente |
---|---|
Hola, el número al que has llamado está vinculado a la cuenta de Juan. ¿Tu consulta es sobre el pedido de otra persona? Di "Sí" si es así o "No" si no lo es. | |
No | |
Gracias, Juan. Se ha verificado tu identidad correctamente. |
Autenticación de nivel 1 correcta: OTP
El usuario llama desde un número de teléfono desconocido. El componente recoge el número de teléfono registrado del usuario, envía una OTP y pide al usuario que la confirme en el canal que haya elegido. El usuario puede proporcionar una OTP válida y se autentica correctamente en el nivel 1.
Entrada del usuario | Respuesta del agente |
---|---|
No hemos encontrado este número de teléfono asociado a nosotros. Indícanos el número de teléfono registrado. | |
El agente recoge el número de teléfono mediante el componente precompilado Recogida de número de teléfono | |
Genial, ya hemos recogido el número de teléfono. Por motivos de seguridad, necesitamos validar tu identidad, así que te enviaremos un código. ¿Prefieres recibir el código por teléfono o por correo electrónico? |
|
teléfono | |
Para confirmarlo, ¿quieres recibir la OTP en tu teléfono? Di "Sí" o "No". | |
yes | |
Hemos enviado un código al número de teléfono registrado que termina en 0000. Este proceso puede tardar unos segundos. ¿Puede confirmar el código? | |
123457 | |
Gracias, Juan. Se ha verificado tu identidad correctamente. |
Convenciones de nombres
Este componente prediseñado usa las siguientes convenciones de nomenclatura:
Función | Formato | Ejemplo |
---|---|---|
Flujo | [Component Name] | Autenticación de comercio |
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 parámetros que se usan para configurar determinados comportamientos del componente. Los parámetros los usarán una o varias condiciones del flujo para determinar cómo debe comportarse el componente. Los parámetros de ámbito de flujo deben definirse en la página de inicio del componente, tal como se describe a continuación. Los parámetros de ámbito de sesión se pueden definir mediante 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 con el que se autenticará el usuario final. Los valores válidos son 0 y 1 . |
entero |
$session.params.auth_level | (Opcional) Indica el nivel de autenticación actual del usuario final. | entero |
$session.params.phone_number | (Opcional) Número de teléfono del usuario final. Si no se proporciona este parámetro, el componente recogerá el número de teléfono del usuario final. | cadena |
$flow.max_retry_phone_number | Especifica el número de reintentos permitidos al recoger el número de teléfono del usuario. El valor predeterminado es 3 . |
entero |
$flow.max_retry_otp | Especifica el número de reintentos permitidos al recoger la contraseña de un solo uso (OTP). El valor predeterminado es 3 . |
entero |
$flow.max_retry_otp_not_received | Especifica el número de reintentos permitidos cuando no se recibe la contraseña de un solo uso (OTP). El valor predeterminado es 1 . |
entero |
$flow.max_retry_otp_confirm_channel | Especifica el número de reintentos permitidos al recoger el canal para recibir la contraseña de un solo uso (OTP). El valor predeterminado es 3 . |
entero |
Para configurar los parámetros de entrada de este componente, despliega las instrucciones.
- Abre la consola de Dialogflow CX.
- Elige tu proyecto de Google Cloud.
- Selecciona tu agente.
- Selecciona la pestaña Crear.
- En la sección Flujos, haz clic en el componente importado.
- En la sección Páginas, haz clic en Página de inicio.
- Haz clic en la ruta true de la página de inicio.
- En la ventana Ruta, edita los valores de Preajustes de parámetros según sea necesario.
- Haz clic en Guardar.
Parámetros de salida
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 recogida por 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. | entero |
all_recent_order_id | Este parámetro muestra los IDs de pedido asociados al usuario autenticado, ordenados por la fecha de realización del pedido de forma descendente. El primer elemento del array representa el pedido más reciente. Si un usuario no tiene ningún pedido, 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 registrado en la cuenta. | cadena |
user_first_name | Nombre del usuario, que se usa para saludarle y confirmar que es el propietario de la cuenta. | cadena |
transfer_reason | Este parámetro indica el motivo por el que se ha cerrado el flujo, si no se ha completado correctamente. El valor devuelto es uno de los siguientes:agent : el usuario final ha solicitado un agente humano en algún momento de la conversación.denial_of_information : el usuario final se ha negado a compartir la información solicitada por el componente.max_no_input : la conversación ha alcanzado el número máximo de reintentos para eventos sin entrada. Consulta los eventos integrados sin entrada.max_no_match : la conversación ha alcanzado el número máximo de reintentos para los eventos sin coincidencias. Consulte los eventos integrados sin coincidencias.webhook_error : se ha producido un error de webhook. Consulte el evento integrado webhook.error. webhook_not_found : no se ha podido acceder a una URL de webhook. Consulte el evento integrado webhook.error.not-found. |
cadena |
Configuración básica
Para configurar este componente prediseñado, sigue estos pasos:
- Importa el componente precompilado.
- Configura los webhooks flexibles proporcionados con la configuración que describe tus servicios externos. Consulta la sección Configuración de webhook más abajo.
Configuración de webhook
Para usar este componente, debes configurar los webhooks flexibles incluidos para obtener la información necesaria de tus servicios externos.
Verificar los detalles del usuario
El webhook prebuilt_components_retail_authentication:verify_user_details
lo usa el componente para obtener 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 de 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
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 | El correo registrado en la cuenta. | cadena |
all_recent_order_id | Lista de IDs de pedido asociados al 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 ningún pedido, el valor de este parámetro es null . |
Lista (cadena) |
user_first_name | Nombre del usuario, que se usa para saludarle y confirmar que es el propietario de la cuenta. | cadena |
Para configurar el webhook de verificación de detalles de usuario de este componente, consulta las instrucciones.
- Abre la consola de Dialogflow CX.
- Elige tu proyecto de Google Cloud.
- Selecciona tu agente.
- Selecciona la pestaña Gestionar.
- Haz clic en Webhooks.
- Selecciona el webhook prebuilt_components_retail_authentication:verify_user_details.
- Sustituye la URL del campo URL de webhook de Conversational Agents (Dialogflow CX) por el endpoint del servicio con el que quieras integrar el agente. Seleccione el Método adecuado en el menú desplegable.
- Revisa y actualiza el cuerpo de la solicitud para que tenga el formato 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 modifique los nombres de los parámetros, ya que el componente los necesita para acceder a los valores de los campos devueltos.
- Revisa y actualiza la configuración de Autenticación según sea necesario.
- Haz clic en Guardar.
Enviar OTP
El webhook prebuilt_components_retail_authentication:send_otp
se usa por el componente para enviar una contraseña de un solo uso (OTP) a un canal registrado seleccionado por el usuario final.
Parámetros de solicitud a la API
El componente proporciona los siguientes parámetros como entradas para la solicitud de 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 | El canal que ha seleccionado el usuario para recibir la contraseña única. Los valores válidos se definen en 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 | 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 de este componente, consulta las instrucciones.
- Abre la consola de Dialogflow CX.
- Elige tu proyecto de Google Cloud.
- Selecciona tu agente.
- Selecciona la pestaña Gestionar.
- Haz clic en Webhooks.
- Selecciona el webhook prebuilt_components_retail_authentication:send_otp.
- Sustituye la URL del campo URL de webhook de Conversational Agents (Dialogflow CX) por el endpoint del servicio con el que quieras integrar el agente. Seleccione el Método adecuado en el menú desplegable.
- Revisa y actualiza el cuerpo de la solicitud para que tenga el formato 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 modifique los nombres de los parámetros, ya que el componente los necesita para acceder a los valores de los campos devueltos.
- 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.