El componente prediseñado de estado del pedido verifica el nivel de autenticación de un cliente y, luego, proporciona información sobre los pedidos más recientes o anteriores del usuario a un cliente autenticado. Este componente usa el componente prediseñado Autenticación de venta minorista para autenticar a los usuarios. El componente también usa Generators para generar resúmenes después de la llamada.
Limitaciones
Además de las limitaciones comunes de los componentes prediseñados, este componente prediseñado tiene las siguientes limitaciones:
- 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.
Pedido reciente
Llamadas de usuarios finales desde un número no registrado: El agente autentica al usuario y, luego, proporciona información detallada sobre los envíos del pedido. El usuario confirma que desea que se envíe un SMS a su número de teléfono registrado con detalles adicionales.
| Entrada del usuario | Respuesta del agente |
|---|---|
| El agente autentica al usuario con el componente prediseñado Autenticación de comercio minorista | |
| De acuerdo, Juan. ¿Llama por su pedido más reciente de John Doe, que contiene una lámpara, una camisa y otros 10 artículos, realizado el 2023-11-10 a las 6:00 p.m.? | |
| Sí | |
| Tu pedido tiene 2 envíos que se entregarán el 15/01/2024. ¿Quieres saber más sobre estos envíos? |
|
| Sí | |
| El envío 1, que contiene jeans, un cinturón y otros 2 artículos, está en tránsito y se entregará el 2024-01-12. El envío 2, que contiene una lámpara, una camisa y otros 6 artículos, se entregó el 2023-11-12. ¿Quieres recibir un SMS con más detalles sobre tus artículos? |
|
| Sí | |
| Te enviamos un SMS con un vínculo para hacer un seguimiento del estado de todos tus envíos. Gracias por llamarnos. |
Pedidos duplicados
El usuario final ya se autenticó. El usuario solicita información sobre un pedido y proporciona los últimos cinco dígitos del número de pedido. El agente identifica que varios pedidos realizados por este usuario comparten los mismos últimos cinco dígitos, por lo que confirma de qué pedido le gustaría conocer el estado y se lo proporciona.
| Entrada del usuario | Respuesta del agente |
|---|---|
| De acuerdo, Amber. ¿Llama por su pedido más reciente de Amber Doe que contiene una lámpara, una camisa y otros 2 artículos, realizado el 2023-11-10 a las 6:00 p.m.? | |
| No | |
| ¿Podrías proporcionar los últimos 5 dígitos del ID del pedido que deseas rastrear? | |
| 12355 | |
| Los últimos cinco dígitos del ID del pedido que recibimos son 12355. ¿Es correcto? | |
| Sí, así es. | |
| Excelente. Terminamos de recopilar el ID de pedido. | |
| Según nuestros registros, encontramos 2 pedidos que terminan con los mismos 5 dígitos 12355. ¿Qué pedido buscas? ¿El pedido número 1, que se realizó el 10 de noviembre de 2023 a las 6:00 p.m., o el pedido número 2, que se realizó el 9 de noviembre de 2023 a las 8:00 p.m.? Para seleccionar el pedido número 1, di 1. Para seleccionar el pedido número 2, di 2. De lo contrario, di que no. |
|
| Pedir uno | |
| Tu pedido tiene 2 envíos que se entregarán el 15/01/2024. ¿Quieres saber más sobre estos envíos? |
|
| Sí | |
| El envío 1, que contiene jeans, está en tránsito y se entregará el 2024-01-15. Se canceló el envío 2, que contiene una lámpara, una camisa y 1 artículo más. ¿Quieres recibir un SMS con más detalles sobre tus artículos? |
|
| No, eso es todo. | |
| Gracias por llamarnos. |
Convenciones de nombres
Este componente prediseñado usa las siguientes convenciones de nomenclatura:
| Función | Formato | Ejemplo |
|---|---|---|
| Flujo | [Nombre del componente] | Order Status |
| Webhook | prebuilt_components_[component_name]:[webhook_action] | prebuilt_components_order_status:get_order_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. 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.phone_number | (opcional) Número de teléfono local del usuario, sin el código de país, que se usa para identificar al usuario. | cadena |
| $session.params.all_recent_order_id | (Opcional) 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) |
| $session.params.email | (Opcional) Es el correo electrónico registrado en la cuenta. | cadena |
| $session.params.user_first_name | (Opcional) Es el nombre del usuario, que se usa para saludarlo y confirmar la propiedad de la cuenta. | cadena |
| $flow.max_shipment | Especifica la cantidad de envíos que se muestran al usuario a la vez. El valor predeterminado es 2. |
integer |
| $flow.tracking_status_delivered | Especifica el valor que devuelve el webhook y que indica el estado de pedido entregado. El valor predeterminado es "delivered". |
cadena |
| $flow.tracking_status_cancelled | Especifica el valor que devuelve el webhook y que indica un estado de pedido cancelado. El valor predeterminado es "cancelled". |
cadena |
| $flow.tracking_status_returned | Especifica el valor que devuelve el webhook y que indica el estado de un pedido devuelto. El valor predeterminado es "returned". |
cadena |
| $flow.tracking_status_partially_returned | Especifica el valor que devuelve el webhook y que indica un estado del pedido devuelto parcialmente. El valor predeterminado es "partially returned". |
cadena |
| $flow.max_retry_alternate_profile | Especifica la cantidad de reintentos permitidos cuando se solicita el estado del pedido desde un número de teléfono no registrado o un perfil alternativo. El valor predeterminado es 3. |
integer |
| $flow.max_retry_order_number | Especifica la cantidad de reintentos permitidos cuando se proporciona un número de pedido. El valor predeterminado es 3. |
integer |
| $flow.max_retry_another_order_id | Especifica la cantidad de reintentos permitidos después de proporcionar un número de pedido no válido. 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 Pages.
- 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 prediseñado proporciona valores para los siguientes parámetros de salida:
| Nombre del parámetro | Descripción | Formato de salida |
|---|---|---|
| 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 |
| 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) |
| 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:
- 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.
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.
Autenticación
Si no configuraste previamente los servicios externos necesarios para la autenticación, deberás configurarlos para habilitar la autenticación de usuarios para este componente. Consulta Configuración del webhook de autenticación de la tienda para obtener instrucciones detalladas.
Obtén los detalles del pedido
El webhook prebuilt_components_order_status:get_order_details lo usa el componente para recuperar los detalles de un pedido específico.
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 |
|---|---|---|
| $flow.order_id | ID del pedido del que se recuperarán los detalles. | 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 |
|---|---|---|
| order_date | Fecha en la que se realizó el pedido, en formato YYYY-MM-DD. |
cadena |
| order_time | Fecha y hora en que se realizó el pedido, en formato HH:MM. |
cadena |
| order_status | Indica el estado del pedido. Entre los valores de ejemplo, se incluyen "pending", "processing", "in-transit", "on-hold", "cancelled", "delivered", "returned" y "partially returned". |
cadena |
| order_product_name | Es la lista de nombres de productos incluidos en el pedido. | Lista (cadena) |
| order_product_quantity | Es el recuento total de la cantidad de productos pedidos para cada producto dentro de un pedido. | integer |
| order_product_count | Es la cantidad de productos únicos en un pedido. | integer |
| order_status_notification | Indica si las notificaciones están habilitadas para este pedido. | booleano |
| return_eligibility_date | Es la lista de fechas hasta las que cada producto del pedido es apto para devolverse, en formato YYYY-MM-DD. |
Lista (cadena) |
| order_customer_billing_name | Es el nombre de facturación del cliente para el pedido. | cadena |
| order_latest_delivery_date | Es la fecha de entrega más reciente entre todas las fechas de entrega estimadas para los envíos del pedido, en formato YYYY-MM-DD. |
cadena |
| order_shipment_multiple | Indica si el pedido contiene varios envíos. | booleano |
| order_shipment_count | Es la cantidad de envíos dentro del pedido. | integer |
| order_shipment_product_count | Es el recuento total de productos en cada envío del pedido. | Lista (número entero) |
| order_shipment_product_name | Es la lista de los nombres de los productos en cada envío del pedido. | Lista (cadena) |
| order_estimated_delivery_date | Es la lista de fechas de entrega estimadas para cada envío del pedido, en formato YYYY-MM-DD. |
Lista (cadena) |
| order_shipment_status | Es una lista que indica el estado de cada envío dentro del pedido. Entre los valores de ejemplo, se incluyen "pending", "processing", "in-transit", "on-hold", "cancelled", "delivered", "returned" y "partially returned". |
Lista (cadena) |
Para configurar el webhook Get order details para este componente, expándelo y sigue 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_order_status:get_order_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 formar el formato de solicitud adecuado para tu webhook.
- 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.
- Revisa y actualiza la configuración de Authentication según sea necesario.
- Haz clic en Guardar.
Obtén pedidos duplicados
El webhook prebuilt_components_retail_services:get_duplicate_order lo usa el componente para recuperar información detallada y distinguir entre pedidos cuando varios números de pedido tienen los mismos últimos cinco dígitos.
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 |
|---|---|---|
| $flow.duplicate_order_id | Es una lista que contiene los últimos cinco dígitos de los números de pedido que se comparten entre uno o más pedidos del usuario. | Lista (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 |
|---|---|---|
| all_order_date | Es una lista de las fechas de los pedidos duplicados con los últimos cinco dígitos especificados en formato YYYY-MM-DD. Cada elemento de este array corresponde al mismo elemento del array all_order_time. |
booleano |
| all_order_time | Es una lista de las horas de los pedidos duplicados con los últimos cinco dígitos especificados en formato HH:MM. Cada elemento de este array corresponde al mismo elemento del array all_order_date. |
número |
Para configurar el webhook Get duplicate orders 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_services:get_duplicate_order.
- 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 formar el formato de solicitud adecuado para tu webhook.
- 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.
- Revisa y actualiza la configuración de Authentication según sea necesario.
- Haz clic en Guardar.
Enviar SMS
El webhook de prebuilt_components_order_status:send_sms se usa para que el componente envíe detalles del pedido al número de teléfono especificado por SMS.
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.order_id | ID del pedido para el que se enviarán los detalles. | cadena |
Para configurar el webhook de Send SMS 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_order_status:send_sms.
- 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 formar el formato de solicitud adecuado para tu webhook.
- 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.
- Revisa y actualiza la configuración de Authentication según sea necesario.
- Haz clic en Guardar.
Habilitar notificaciones
El webhook prebuilt_components_order_status:enable_notification lo usa el componente para habilitar las notificaciones del número de teléfono registrado de un usuario.
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.order_notification | Indica si se deben habilitar las notificaciones para el usuario. | booleano |
Para configurar el webhook de Enable notifications 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_order_status:enable_notification.
- 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 formar el formato de solicitud adecuado para tu webhook.
- 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.
- Revisa y actualiza la configuración de Authentication según sea necesario.
- Haz clic en Guardar.
Completado
Tu agente y sus webhooks ya deberían estar configurados y listos para la prueba.