Cancelar el pedido de un componente prediseñado

El componente precompilado de cancelación de pedido comprueba el nivel de autenticación de un usuario. Una vez que se ha autenticado al usuario, el componente proporciona información sobre sus pedidos más recientes o anteriores. El usuario puede cancelar un pedido completo o artículos específicos de un pedido. Este componente usa el componente prediseñado Retail authentication 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.

Cancelar un producto de un pedido reciente

El usuario final ya se ha autenticado. El agente confirma qué artículos del pedido más reciente se deben cancelar. El agente comprueba el método de pago original y confirma los detalles de la cancelación con el usuario.

Entrada del usuario Respuesta del agente
¿Llamas por el pedido más reciente, cuyo número termina en 12978 y que contiene 5 botellas de agua y 1 camiseta, que hiciste el 09-11-2023 a las 20:00?
yes
Hemos encontrado algunos productos aptos en su pedido. Díganos qué producto quiere cancelar.
Producto 1: botella de agua de Google. Producto 2: camiseta de Google.

Diga o introduzca el número del producto que quiera seleccionar, o diga "siguiente" para ver más productos.
siguiente
No hemos encontrado 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 introduce el número del producto que quieras seleccionar, o di "siguiente" para ver más productos.
1
Para verificar que quieres cancelar la botella de agua de Google. ¿Es correcto?
yes
Vemos que la cantidad disponible del producto que ha seleccionado es 5. Especifica la cantidad de productos que quieres cancelar.
4
Especifica el motivo de la cancelación. Puedes decir algo como: he cambiado de opinión, ya no lo necesito, quiero comprar otro artículo, la entrega se ha retrasado, lo he comprado por error, quiero cambiar el método de pago u otras opciones.
Quiero comprar otro artículo
Gracias por informarnos.

¿Quieres cancelar otro producto?
no
En el caso de las compras realizadas con tu cartera, los reembolsos se abonan en la cartera o en la cuenta de saldo de Google 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 incluye los gastos de envío y manipulación.

Cancelar todo el pedido

El usuario final ya se ha autenticado. El agente confirma que el usuario quiere cancelar un pedido específico y, a continuación, le pregunta por el motivo de la cancelación. El agente comprueba el método de pago original y confirma los detalles de la cancelación con el usuario.

Entrada del usuario Respuesta del agente
¿Llamas por el pedido más reciente, que termina en 12345, contiene 1 camiseta y lo hiciste el 10 de noviembre del 2023 a las 18:00?
no
¿Quieres cancelar otro pedido?
yes
¿Podrías facilitarnos los 5 últimos dígitos del ID del pedido que quieres monitorizar?
12346
Los cinco últimos dígitos del ID de pedido que hemos recibido son 12346. ¿Son correctos?
yes
Genial, ya tenemos el ID de pedido.

¿Quieres cancelar todo el pedido?
yes
Especifica el motivo de la cancelación. Puedes decir algo como: he cambiado de opinión, ya no lo necesito, quiero comprar otro artículo, la entrega se ha retrasado, lo he comprado por error, quiero cambiar el método de pago u otras opciones.
Ya no es necesario
Gracias por informarnos.

Se ha generado tu solicitud de cancelación.

Convenciones de nombres

Este componente prediseñado usa las siguientes convenciones de nomenclatura:

Función Formato Ejemplo
Flujo [Component Name] 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 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

Este componente prediseñado permite usar los siguientes parámetros opcionales para configurar el comportamiento del componente, incluidos los reintentos.

Nombre del parámetro Descripción Formato
$flow.max_retry_another_account_counter Especifica el número de reintentos permitidos al seleccionar si se debe continuar con una cuenta alternativa. El valor predeterminado es 2. entero
$flow.max_retry_order_number Especifica el número de reintentos permitidos al proporcionar los últimos cinco dígitos de un número de pedido. El valor predeterminado es 2. entero
$flow.max_retry_another_order Especifica el número de reintentos permitidos al seleccionar otro pedido en los casos en los que no se encuentra el ID de pedido o el pedido no cumple los requisitos para cancelarse. El valor predeterminado es 2. entero
$flow.max_retry_select_order_number Especifica el número de reintentos permitidos al proporcionar el número de pedido completo en los casos en los que varios pedidos comparten los mismos cinco últimos dígitos. El valor predeterminado es 2. entero
$flow.max_product_display_counter Especifica el número máximo de productos que se pueden presentar en un solo turno. El valor predeterminado es 2. entero
$flow.max_product_display Especifica el número máximo de productos que se pueden presentar en toda la conversación. El valor predeterminado es 9. entero
$flow.max_retry_product_number_counter Especifica el número máximo de reintentos permitidos al seleccionar un producto para cancelarlo. El valor predeterminado es 2. entero
$flow.max_product_cancel_confirm_counter Especifica el número máximo de reintentos permitidos al confirmar el producto seleccionado. El valor predeterminado es 2. entero
$flow.max_retry_select_quantity Especifica el número máximo de reintentos permitidos al seleccionar la cantidad de producto que se va a cancelar. El valor predeterminado es 2. entero
$flow.order_product_cancel_reason_others Especifica el valor de la entidad prebuilt_components_product_cancel_reason que indica que el usuario ha seleccionado el motivo de cancelación "Otros". El valor predeterminado es "others". cadena
$flow.max_retry_cancel_reason Especifica el número de reintentos permitidos al confirmar el motivo de la cancelación. El valor predeterminado es 2. entero
$flow.order_payment_mode_COD Especifica el valor del campo order_payment_mode devuelto por el get_order_details webhook que indica un método de pago contra reembolso. El valor predeterminado es "COD". cadena
$flow.order_payment_mode_store_credit Especifica el valor del campo order_payment_mode devuelto por el get_order_details webhook que indica un método de pago con saldo de Google Store. El valor predeterminado es "store_credit". cadena

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

Generadores

Este componente usa Generators para habilitar partes específicas de la conversación.

Creación de resúmenes

El generador Summarization se usa para generar un resumen posterior a la llamada que describa la conversación gestionada por el componente.

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_cancel_order: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_product_count Número de productos únicos de un pedido. entero
order_payment_mode Indica el método de pago utilizado al hacer el pedido. cadena
cancelable_product_id Lista de IDs de producto de los productos cancelables del pedido. Lista (cadena)
cancelable_product_name Lista de nombres de productos cancelables del pedido. Lista (cadena)
cancelable_product_brand_name Lista de nombres de marca de los productos cancelables del pedido. Lista (cadena)
cancelable_product_quantity Lista de cantidades de productos cancelables del pedido. 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_cancel_order: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 detalles de un pedido duplicado

El webhook prebuilt_components_retail_services:get_duplicate_order_details 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. Lista (cadena)
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. Lista (cadena)

Para configurar el webhook Get duplicate 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_retail_services:get_duplicate_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.

Detalles posteriores a la cancelación

El webhook prebuilt_components_cancel_order:post_cancellation_details se usa para que el componente envíe una solicitud de cancelación.

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 de pedido para enviar una incidencia. cadena
$flow.cancel_product_id_list Lista de IDs de producto que el usuario quiere cancelar. Lista (cadena)
$flow.cancel_product_quantity_list Lista de cantidades de productos que el usuario quiere cancelar, correspondiente a cada elemento de $flow.cancel_product_id_list. Lista (cadena)
$flow.cancel_reason_list Lista de motivos de cancelación de cada producto cancelado, correspondiente a cada elemento de $flow.cancel_product_id_list. Lista (cadena)
$flow.order_refund_mode El modo de pago del reembolso. Los valores válidos se definen en 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 ID de la incidencia de la cancelación enviada. cadena

Para configurar el webhook de detalles de cancelación de la publicación 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_cancel_order:post_cancellation_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.

Completado

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