El componente compilado previamente de cancelación de pedidos verifica el nivel de autenticación de un usuario. Una vez que se autentica al usuario, el componente proporciona información sobre sus pedidos más recientes o anteriores. Luego, el usuario puede optar por cancelar un pedido completo o cancelar artículos específicos de un pedido. Este componente usa el componente precompilado de autenticación de venta minorista para autenticar a los usuarios. El componente también usa generadores para el resumen posterior a la llamada.
Limitaciones
Además de las limitaciones comunes de los componentes compilados previamente, este componente 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 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.
Cancelar un solo producto de un pedido reciente
El usuario final ya se autenticó. El agente confirma qué artículos del pedido más reciente se deben cancelar. El agente verifica la forma de pago original y confirma los detalles de la cancelación con el usuario.
| Entrada del usuario | Respuesta del agente |
|---|---|
| ¿Llamas por tu pedido más reciente, que termina en 12978, contiene 5 botellas de agua y 1 camiseta, y se realizó el 9 de noviembre de 2023 a las 8:00 p.m.? | |
| sí | |
| Encontramos algunos productos aptos en tu pedido. Dinos qué producto quieres cancelar. Producto 1: botella de agua de Google, Producto 2: camiseta de Google. Di o ingresa el número del producto que quieres seleccionar, o di "siguiente" para ver más productos. |
|
| siguiente | |
| No encontramos ningún otro elemento en nuestros registros. Elige un producto de la lista compartida. Producto 1: botella de agua de Google, Producto 2: camiseta de Google. Di o ingresa el número del producto que quieres seleccionar, o di "siguiente" para ver más productos. |
|
| 1 | |
| Para verificar, te interesa cancelar la botella de agua de Google. ¿Esto es correcto? | |
| sí | |
| Podemos ver que la cantidad disponible del producto que seleccionaste es 5. Especifica la cantidad de productos que quieres cancelar. | |
| 4 | |
| Especifica el motivo de la cancelación. Puedes decir algo como: cambié de opinión, ya no lo necesito, me gustaría comprar otro artículo, entrega retrasada, comprado por error, quiero cambiar la forma de pago, o bien decir otra cosa. | |
| Me gustaría comprar otro artículo | |
| Gracias por avisarnos. ¿Quieres cancelar otro producto? |
|
| no | |
| En el caso de las compras realizadas con tu billetera, los reembolsos se acreditan en la billetera o en la cuenta de crédito de Store. El reembolso tardará entre 3 y 5 días hábiles en aparecer en tu cuenta. Ten en cuenta que el importe del reembolso no incluirá los gastos de envío ni de gestión. |
Cancelar todo el pedido
El usuario final ya se autenticó. El agente confirma que el usuario quiere cancelar un pedido específico y, luego, recopila el motivo de la cancelación. El agente verifica la forma de pago original y confirma los detalles de la cancelación con el usuario.
| Entrada del usuario | Respuesta del agente |
|---|---|
| ¿Llamas por tu pedido más reciente, que termina en 12345, contiene 1 camisa y se realizó el 10 de noviembre de 2023 a las 6:00 p.m.? | |
| no | |
| ¿Quieres cancelar otro pedido? | |
| sí | |
| ¿Podrías proporcionar los últimos 5 dígitos del ID del pedido del que quieres hacer un seguimiento? | |
| 12346 | |
| Los últimos cinco dígitos del ID de pedido que recibimos son 12346, ¿es correcto? | |
| sí | |
| Excelente, ya recopilamos el ID del pedido. ¿Quieres cancelar todo el pedido? |
|
| sí | |
| Especifica el motivo de la cancelación. Puedes decir algo como: cambié de opinión, ya no lo necesito, me gustaría comprar otro artículo, entrega retrasada, comprado por error, quiero cambiar la forma de pago, o bien decir otra cosa. | |
| ya no es necesario | |
| Gracias por informarnos. Se generó tu solicitud de cancelación. |
Convenciones de nombres
Este componente precompilado usa las siguientes convenciones de nombres:
| Función | Formato | Ejemplo |
|---|---|---|
| Flujo | [Nombre del componente] | Cancelar pedido |
| Tipo de entidad | prebuilt_components_[component_name]_[entity_type] | prebuilt_components_product_cancel_reason |
| Webhook | prebuilt_components_[component_name]:[webhook_action] | prebuilt_components_cancel_order:post_cancellation_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. 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.phone_number | (Opcional) Es el número de teléfono local del usuario, sin el código de país, que se usa para identificarlo. | 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) El correo electrónico registrado con la cuenta. | cadena |
| $session.params.user_first_name | (Opcional) Nombre del usuario, que se usa para saludarlo y confirmar la propiedad de la cuenta. | cadena |
Este componente precompilado permite que los siguientes parámetros opcionales configuren el comportamiento del componente, incluidos los reintentos.
| Nombre del parámetro | Descripción | Formato |
|---|---|---|
| $flow.max_retry_another_account_counter | Especifica la cantidad de reintentos permitidos cuando se selecciona si se debe continuar con una cuenta alternativa. El valor predeterminado es 2. |
integer |
| $flow.max_retry_order_number | Especifica la cantidad de reintentos permitidos cuando se proporcionan los últimos cinco dígitos de un número de pedido. El valor predeterminado es 2. |
integer |
| $flow.max_retry_another_order | Especifica la cantidad de reintentos permitidos cuando se selecciona otro pedido en los casos en que no se encuentra el ID del pedido o este no es apto para la cancelación. El valor predeterminado es 2. |
integer |
| $flow.max_retry_select_order_number | Especifica la cantidad de reintentos permitidos cuando se proporciona el número de pedido completo en los casos en que varios pedidos comparten los mismos últimos cinco dígitos. El valor predeterminado es 2. |
integer |
| $flow.max_product_display_counter | Especifica la cantidad máxima de productos que se presentarán en un solo turno. El valor predeterminado es 2. |
integer |
| $flow.max_product_display | Especifica la cantidad máxima de productos que se presentarán durante toda la conversación. El valor predeterminado es 9. |
integer |
| $flow.max_retry_product_number_counter | Especifica la cantidad máxima de reintentos permitidos cuando se selecciona un producto para cancelar. El valor predeterminado es 2. |
integer |
| $flow.max_product_cancel_confirm_counter | Especifica la cantidad máxima de reintentos permitidos cuando se confirma el producto seleccionado. El valor predeterminado es 2. |
integer |
| $flow.max_retry_select_quantity | Especifica la cantidad máxima de reintentos permitidos cuando se selecciona la cantidad de productos que se cancelarán. El valor predeterminado es 2. |
integer |
| $flow.order_product_cancel_reason_others | Especifica el valor de la entidad prebuilt_components_product_cancel_reason que indica que el usuario seleccionó el motivo de la cancelación "otros". El valor predeterminado es "others". |
cadena |
| $flow.max_retry_cancel_reason | Especifica la cantidad de reintentos permitidos cuando se confirma el motivo de la cancelación. El valor predeterminado es 2. |
integer |
| $flow.order_payment_mode_COD | Especifica el valor del campo order_payment_mode que devuelve el webhook de get_order_details, que indica una forma de pago contra entrega (COD). El valor predeterminado es "COD". |
cadena |
| $flow.order_payment_mode_store_credit | Especifica el valor del campo order_payment_mode que devuelve el webhook de get_order_details que indica una forma de pago con crédito de Google Store. El valor predeterminado es "store_credit". |
cadena |
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 |
|---|---|---|
| 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 |
| 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 | 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 |
Generadores
Este componente usa generadores para habilitar partes específicas de la conversación.
Resúmenes
El generador Summarization se usa para generar un resumen posterior a la llamada que describe
la conversación que controla el componente.
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 Configuración de webhooks.
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.
Autenticación
Si no configuraste antes los servicios externos necesarios para la autenticación, deberás configurarlos para habilitar la autenticación de usuarios en este componente. Consulta Configuración del webhook de autenticación de Retail para obtener instrucciones detalladas.
Obtén los detalles del pedido
El componente usa el webhook prebuilt_components_cancel_order:get_order_details
para recuperar los detalles de un pedido específico.
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 |
|---|---|---|
| $flow.order_id | Es el ID del pedido del que se quieren recuperar 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 | Es la fecha en que se realizó el pedido, en formato YYYY-MM-DD. |
cadena |
| order_time | Es la hora en que se realizó el pedido, en formato HH:MM. |
cadena |
| order_product_count | Es la cantidad de productos únicos en un pedido. | integer |
| order_payment_mode | Indica la forma de pago que se usó cuando se realizó el pedido. | cadena |
| cancelable_product_id | Es la lista de IDs de productos cancelables dentro del pedido. | Lista (cadena) |
| cancelable_product_name | Es una lista de los nombres de los productos cancelables dentro del pedido. | Lista (cadena) |
| cancelable_product_brand_name | Es la lista de nombres de marcas de los productos cancelables del pedido. | Lista (cadena) |
| cancelable_product_quantity | Es la lista de cantidades de productos cancelables dentro del pedido. | Lista (cadena) |
Para configurar el webhook Obtener detalles del pedido 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_cancel_order: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 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.
Obtén detalles de pedidos duplicados
El componente usa el webhook prebuilt_components_retail_services:get_duplicate_order_details
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 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 compartidos entre uno o más 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 | Es la lista de fechas de los pedidos duplicados con los últimos cinco dígitos especificados en el formato YYYY-MM-DD. Cada elemento de este array corresponde al mismo elemento del array all_order_time. |
Lista (cadena) |
| all_order_time | Es la lista de 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. |
Lista (cadena) |
Para configurar el webhook Obtener detalles de pedidos duplicados 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_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.
Detalles de la cancelación de la publicación
El componente usa el webhook prebuilt_components_cancel_order:post_cancellation_details
para enviar una solicitud de cancelación.
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.order_id | Es el ID del pedido para el que se enviará un ticket. | cadena |
| $flow.cancel_product_id_list | Es la lista de IDs de productos que el usuario quiere cancelar. | Lista (cadena) |
| $flow.cancel_product_quantity_list | Es la lista de cantidades de productos que el usuario desea cancelar, que corresponde a cada elemento en $flow.cancel_product_id_list. |
Lista (cadena) |
| $flow.cancel_reason_list | Es la lista de motivos de la cancelación de cada producto cancelado, que corresponde a cada elemento de $flow.cancel_product_id_list. |
Lista (cadena) |
| $flow.order_refund_mode | Es el modo de pago para el reembolso. Los valores válidos se definen con la entidad prebuilt_components_cancel_mode_of_refund. |
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_cancellation_ticket_id | Es el ID del ticket de la cancelación enviada. | cadena |
Para configurar el webhook de detalles de cancelación de publicaciones 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 Administrar.
- Haz clic en Webhooks.
- Selecciona el webhook prebuilt_components_cancel_order:post_cancellation_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.
Completado
Tu agente y sus webhooks ya deberían estar configurados y listos para probarse.