Componente prediseñado de estado del pedido

El componente precompilado de estado del pedido comprueba el nivel de autenticación de un cliente y, a continuación, 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 comercio para autenticar a los usuarios. El componente también usa Generators para generar resúmenes después de las llamadas.

Limitaciones

Además de las limitaciones comunes de los componentes prediseñados, este componente prediseñado tiene las siguientes limitaciones:

  • 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.

Pedido reciente

Un usuario final llama desde un número no registrado. El agente autentica al usuario y, a continuación, le proporciona información detallada sobre los envíos del pedido. El usuario confirma que quiere que se le envíe un SMS a su número de teléfono registrado con más detalles.

Entrada del usuario Respuesta del agente
El agente autentica al usuario mediante el componente precompilado Autenticación de Retail.
De acuerdo, Juan. ¿Llamas por tu pedido más reciente de John Doe, que contiene una lámpara, una camisa y otros 10 artículos, realizado el 10 de noviembre del 2023 a las 18:00?
Tu pedido tiene 2 envíos, que se entregarán antes del 15 de enero del 2024.

¿Quieres obtener más información sobre estos envíos?
El envío 1, que contiene unos vaqueros, un cinturón y otros dos artículos, está en tránsito y se entregará el 12/01/2024.

El envío 2, que contiene una lámpara, una camisa y otros seis artículos, se entregó el 12/11/2023.

¿Quieres recibir un SMS con más detalles sobre tus artículos?
Te hemos enviado un SMS con un enlace para hacer un seguimiento del estado de todos tus envíos. Gracias por llamarnos.

Pedidos duplicados

El usuario final ya se ha autenticado. El usuario solicita información sobre un pedido y proporciona los cinco últimos dígitos del pedido. El agente identifica que varios pedidos realizados por este usuario comparten los mismos cinco últimos dígitos, por lo que confirma de qué pedido quiere saber el estado y se lo proporciona.

Entrada del usuario Respuesta del agente
De acuerdo, Amber. ¿Llamas por tu pedido más reciente de Amber Doe, que incluye una lámpara, una camiseta y otros dos artículos, y que hiciste el 10 de noviembre del 2023 a las 18:00?
No
¿Podrías facilitarnos los 5 últimos dígitos del ID del pedido que quieres monitorizar?
12355
Los últimos cinco dígitos del ID de pedido que hemos recibido son 12355. ¿Son correctos?
Sí, es correcto
Genial, ya hemos recogido el ID de pedido.
Según nuestros registros, hemos encontrado 2 pedidos que terminan con los mismos 5 dígitos: 12355. ¿Qué pedido buscas?

¿El pedido número 1, que se hizo el 10 de noviembre del 2023 a las 18:00, o el pedido número 2, que se hizo el 9 de noviembre del 2023 a las 20:00?

Para seleccionar el pedido número 1, di 1. Para seleccionar el pedido número 2, di 2. Si no, di No.
Pedir uno
Tu pedido tiene 2 envíos, que se entregarán antes del 15 de enero del 2024.

¿Quieres obtener más información sobre estos envíos?
El envío 1, que contiene unos vaqueros, está en tránsito y se entregará el 15/01/2024.

El envío 2, que contiene una lámpara, una camiseta y otro artículo, se ha cancelado.

¿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 [Component Name] Estado del pedido
Webhook prebuilt_components_[component_name]:[webhook_action] prebuilt_components_order_status:get_order_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 definidos en el flujo deben establecerse en la página de inicio del componente. 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.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 muestra los 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)
$session.params.email (Opcional) El correo registrado en la cuenta. cadena
$session.params.user_first_name Nombre del usuario (opcional). Se usa para saludar al usuario y confirmar la propiedad de la cuenta. cadena
$flow.max_shipment Especifica el número de envíos que se muestran al usuario a la vez. El valor predeterminado es 2. entero
$flow.tracking_status_delivered Especifica el valor devuelto por el webhook que indica el estado de un pedido entregado. El valor predeterminado es "delivered". cadena
$flow.tracking_status_cancelled Especifica el valor devuelto por el webhook que indica el estado de un pedido cancelado. El valor predeterminado es "cancelled". cadena
$flow.tracking_status_returned Especifica el valor devuelto por el webhook que indica un estado de pedido devuelto. El valor predeterminado es "returned". cadena
$flow.tracking_status_partially_returned Especifica el valor devuelto por el webhook que indica un estado de pedido devuelto parcialmente. El valor predeterminado es "partially returned". cadena
$flow.max_retry_alternate_profile Especifica el número de reintentos permitidos al solicitar el estado de un pedido desde un número de teléfono no registrado o un perfil alternativo. El valor predeterminado es 3. entero
$flow.max_retry_order_number Especifica el número de reintentos permitidos al proporcionar un número de pedido. El valor predeterminado es 3. entero
$flow.max_retry_another_order_id Especifica el número de reintentos permitidos después de proporcionar un número de pedido no válido. El valor predeterminado es 3. entero

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

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona tu agente.
  4. Selecciona la pestaña Crear.
  5. En la sección Flujos, haz clic en el componente importado.
  6. En la sección Páginas, haz clic en Página de inicio.
  7. Haz clic en la ruta true de la página de inicio.
  8. En la ventana Ruta, edita los valores de Preajustes de parámetros según sea necesario.
  9. 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
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 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)
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:

  1. Importa el componente precompilado.
  2. Configura los webhooks flexibles proporcionados con la configuración que describe tus servicios externos. Consulta la sección sobre la configuración de webhooks.

Configuración de webhook

Para usar este componente, debes configurar los webhooks flexibles incluidos para obtener la información necesaria de tus servicios externos.

Autenticación

Si no has configurado previamente los servicios externos necesarios para la autenticación, tendrás que hacerlo para habilitar la autenticación de los usuarios de este componente. Consulta las instrucciones detalladas para configurar el webhook de autenticación de comercio.

Obtener detalles del pedido

El webhook prebuilt_components_order_status:get_order_details lo usa el componente para obtener los detalles de un pedido concreto.

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
$flow.order_id ID del pedido del que se quieren obtener los detalles. 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
order_date Fecha en la que se hizo el pedido, en formato YYYY-MM-DD. cadena
order_time Hora en la que se hizo 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 Lista de nombres de productos del pedido. Lista (cadena)
order_product_quantity Número total de productos pedidos de cada producto de un pedido. entero
order_product_count Número de productos únicos de un pedido. entero
order_status_notification Indica si las notificaciones están habilitadas en este pedido. booleano
return_eligibility_date Lista de fechas hasta las que se puede devolver cada producto del pedido, en formato YYYY-MM-DD. Lista (cadena)
order_customer_billing_name Nombre del cliente de facturación del pedido. cadena
order_latest_delivery_date La fecha de entrega más reciente de todas las fechas de entrega estimadas de 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 Número de envíos del pedido. entero
order_shipment_product_count Número total de productos de cada envío del pedido. Lista (entero)
order_shipment_product_name Lista de los nombres de los productos de cada envío del pedido. Lista (cadena)
order_estimated_delivery_date Lista de fechas de entrega estimadas de cada envío del pedido en formato YYYY-MM-DD. Lista (cadena)
order_shipment_status Lista que indica el estado de cada envío 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 de este componente, consulta las instrucciones.

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona tu agente.
  4. Selecciona la pestaña Gestionar.
  5. Haz clic en Webhooks.
  6. Selecciona el webhook prebuilt_components_order_status:get_order_details.
  7. 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.
  8. Revisa y actualiza el cuerpo de la solicitud para que tenga el formato adecuado para tu webhook.
  9. 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.
  10. Revisa y actualiza la configuración de Autenticación según sea necesario.
  11. Haz clic en Guardar.

Obtener pedidos duplicados

El webhook prebuilt_components_retail_services:get_duplicate_order lo usa el componente para obtener información detallada y distinguir entre pedidos cuando varios números de pedido tienen los mismos cinco últimos dígitos.

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
$flow.duplicate_order_id Lista que contiene los cinco últimos dígitos de los números de pedido compartidos entre uno o varios pedidos del usuario. Lista (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
all_order_date Lista de fechas de pedidos duplicados con los cinco últimos dígitos especificados en formato YYYY-MM-DD. Cada elemento de esta matriz se corresponde con el mismo elemento de la matriz all_order_time. booleano
all_order_time Lista de horas de los pedidos duplicados con los cinco últimos dígitos especificados en formato HH:MM. Cada elemento de esta matriz se corresponde con el mismo elemento de la matriz all_order_date. número

Para configurar el webhook Get duplicate orders de este componente, despliega las instrucciones.

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona tu agente.
  4. Selecciona la pestaña Gestionar.
  5. Haz clic en Webhooks.
  6. Selecciona el webhook prebuilt_components_retail_services:get_duplicate_order.
  7. 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.
  8. Revisa y actualiza el cuerpo de la solicitud para que tenga el formato adecuado para tu webhook.
  9. 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.
  10. Revisa y actualiza la configuración de Autenticación según sea necesario.
  11. Haz clic en Guardar.

Enviar un SMS

El webhook prebuilt_components_order_status:send_sms se usa para que el componente envíe los detalles del pedido al número de teléfono especificado mediante SMS.

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.order_id ID del pedido del que se van a enviar los detalles. cadena

Para configurar el webhook de envío de SMS de este componente, consulta las instrucciones.

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona tu agente.
  4. Selecciona la pestaña Gestionar.
  5. Haz clic en Webhooks.
  6. Selecciona el webhook prebuilt_components_order_status:send_sms.
  7. 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.
  8. Revisa y actualiza el cuerpo de la solicitud para que tenga el formato adecuado para tu webhook.
  9. 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.
  10. Revisa y actualiza la configuración de Autenticación según sea necesario.
  11. Haz clic en Guardar.

Habilitar notificaciones

El webhook prebuilt_components_order_status:enable_notification se usa para que el componente habilite las notificaciones del número de teléfono registrado de un usuario.

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.order_notification Indica si las notificaciones deben estar habilitadas para el usuario. booleano

Para configurar el webhook Enable notifications de este componente, consulta las instrucciones.

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona tu agente.
  4. Selecciona la pestaña Gestionar.
  5. Haz clic en Webhooks.
  6. Selecciona el webhook prebuilt_components_order_status:enable_notification.
  7. 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.
  8. Revisa y actualiza el cuerpo de la solicitud para que tenga el formato adecuado para tu webhook.
  9. 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.
  10. Revisa y actualiza la configuración de Autenticación según sea necesario.
  11. Haz clic en Guardar.

Completado

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