> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ycloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# whatsapp.echo_message.updated

> Se produce cuando se recibe un estado de eco saliente para un Public REST API Agent; también se pueden entregar estados tardíos de menor prioridad.

Usa `whatsapp.echo_message.updated` para gestionar este evento en tu endpoint de webhook.

## Desencadenadores

Se produce cuando se recibe un estado de eco saliente para un Public REST API Agent; también se pueden entregar estados tardíos de menor prioridad.

Suscríbete a `whatsapp.echo_message.updated` cuando [configures tu endpoint de webhook](https://docs.ycloud.com/es/api-reference/guides/api-fundamentals/configure-webhooks.md).

Este evento está limitado a agentes incorporados a través de la Public REST API. Los ecos actualizados omiten el contenido del mensaje y `type`. Los estados tardíos de menor prioridad pueden llegar después de `read`; regístralos sin degradar el estado almacenado de tu mensaje.

## Sintaxis

YCloud envía una solicitud HTTP `POST` a la URL de webhook que hayas configurado. La siguiente estructura muestra una variante de carga útil. Los valores entre corchetes angulares son marcadores de posición; sus tipos se indican en **Parámetros**. Los campos opcionales y otras variantes se describen a continuación.

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "<ID>",
  "type": "whatsapp.echo_message.updated",
  "apiVersion": "<API_VERSION>",
  "createTime": "<CREATE_TIME>",
  "whatsappMessage": {
    "id": "<ID>",
    "wamid": "<WAMID>",
    "wabaId": "<WABA_ID>",
    "from": "<FROM>",
    "to": "<TO>",
    "recipientUserId": "<RECIPIENT_USER_ID>",
    "status": "<STATUS>",
    "updateTime": "<UPDATE_TIME>",
    "deliverTime": "<DELIVER_TIME>"
  }
}
```

## Parámetros

Valida el encabezado HTTP `YCloud-Signature` antes de procesar el cuerpo JSON. Consulta [validación de firmas](https://docs.ycloud.com/es/api-reference/guides/api-fundamentals/configure-webhooks.md).

### Envoltura del evento

| Parámetro | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `id` | string | Sí | ID único del evento. Longitud mínima: `6`. Longitud máxima: `128`. |
| `type` | string | Sí | Siempre `whatsapp.echo_message.updated`. |
| `apiVersion` | string | Sí | La versión de la API utilizada para renderizar este evento. |
| `createTime` | string (date-time) | Sí | La hora a la que se creó este evento, con formato [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Por ejemplo, `2022-06-01T12:00:00.000Z`. |

### Carga útil del evento

| Parámetro | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `whatsappMessage` | object | Sí | Carga útil de `whatsappMessage` específica del evento. |

Los cuatro campos comunes de la envoltura son obligatorios. Los campos de la carga útil dependen de la variante del evento. En cada tabla de objetos, **Obligatorio** se aplica cuando su objeto principal está presente. Los campos opcionales pueden omitirse; un ejemplo no convierte un campo en obligatorio.

#### whatsappMessage

| Parámetro | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `id` | string | Sí | ID de mensaje de YCloud. Úsalo para correlacionar eventos de eco creados y actualizados. |
| `wamid` | string | No | El ID del mensaje original en la plataforma de WhatsApp, cuando esté disponible. |
| `wabaId` | string | No | ID de la cuenta de WhatsApp Business de la retrollamada de origen, cuando esté disponible. |
| `from` | string | No | Número de remitente comercial en formato E.164, cuando esté disponible. |
| `to` | string | No | Número del destinatario en formato E.164 cuando la retrollamada identifica al cliente por su número de teléfono. |
| `recipientUserId` | string | No | ID de usuario con ámbito comercial de WhatsApp (BSUID) del destinatario, cuando lo suministre la retrollamada. |
| `parentRecipientUserId` | string | No | ID de usuario principal con ámbito comercial de WhatsApp del destinatario, cuando lo suministre la retrollamada. |
| `type` | string | No | Tipo de mensaje copiado de una retrollamada de proveedor compatible. Los valores actuales incluyen text, interactive, image, video, audio, document, sticker, location, contacts y reaction. Los clientes deben admitir valores futuros. |
| `text` | object | No | Objeto de texto de mensaje de WhatsApp. |
| `image` | object | No | Metadatos multimedia copiados de una retrollamada de eco de Meta Business Agent. |
| `video` | object | No | Metadatos multimedia copiados de una retrollamada de eco de Meta Business Agent. |
| `audio` | object | No | Metadatos multimedia copiados de una retrollamada de eco de Meta Business Agent. |
| `document` | object | No | Metadatos multimedia copiados de una retrollamada de eco de Meta Business Agent. |
| `sticker` | object | No | Metadatos multimedia copiados de una retrollamada de eco de Meta Business Agent. |
| `location` | object | No | Úsalo para mensajes `location`. |
| `interactive` | object | No | Úsalo para mensajes `interactive`. |
| `contacts` | object\[] | No | Los elementos del array se describen a continuación. |
| `reaction` | object | No | Cuando un usuario reacciona a los mensajes con un emoji, el tipo de mensaje se establece en `reaction` y se incluye este campo. |
| `context` | object | No | Se utiliza para mencionar un mensaje específico al que estás respondiendo. La respuesta puede ser de cualquier tipo de mensaje. |
| `status` | string | No | Estado del mensaje de WhatsApp. Uno de `accepted`, `failed`, `sent`, `delivered`, `read`.<ul><li>`accepted`: la solicitud de mensajería ha sido aceptada por nuestro sistema.</li><li>`failed`: no se pudo enviar un mensaje enviado por tu negocio.</li><li>`sent`: un mensaje enviado por tu negocio está en tránsito dentro de los sistemas de WhatsApp.</li><li>`delivered`: se entregó al dispositivo del usuario un mensaje enviado por tu negocio.</li><li>`read`: el usuario leyó un mensaje enviado por tu negocio.</li></ul> |
| `errorCode` | string | No | Código de error de origen cuando el estado es failed y el proveedor proporcionó uno. |
| `errorMessage` | string | No | Título de error de origen cuando el estado es failed y el proveedor proporcionó uno. |
| `createTime` | string (date-time) | No | Hora de eco de origen para un evento creado, en formato RFC 3339. |
| `updateTime` | string (date-time) | No | Hora de estado de origen para un evento actualizado, en formato RFC 3339. |
| `sendTime` | string (date-time) | No | Hora de eco de origen en eventos creados, u hora de estado de origen cuando el evento actual indica sent. |
| `deliverTime` | string (date-time) | No | Hora de estado de origen cuando el evento actual indica delivered. |
| `readTime` | string (date-time) | No | Hora de estado de origen cuando el evento actual indica read. |

> [accordion] whatsappMessage.text
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `body` | string | Sí | Obligatorio para mensajes de texto. El texto del mensaje de texto, que puede contener URL que comiencen con http\:// o https\:// y formato. Consulta las opciones de formato disponibles aquí. Si incluyes URL en tu texto y quieres incluir un cuadro de vista previa en los mensajes de texto (preview\_url: true), asegúrate de que la URL comience con http\:// o https\:// (se prefieren las URL https\://). Debes incluir un nombre de host, ya que las direcciones IP no coincidirán. Longitud máxima: 4096 caracteres.Longitud máxima: `4096`. |
> | `preview_url` | boolean | No | De forma predeterminada, WhatsApp reconoce las URL y permite hacer clic en ellas, pero también puedes incluir un cuadro de vista previa con más información sobre el enlace. Establece este campo en true si quieres incluir un cuadro de vista previa de URL. La mayoría de las veces, el receptor verá una URL en la que puede hacer clic cuando envíes una URL, establezcas preview\_url en true y proporciones un objeto body con un enlace http o https. Las vistas previas de URL solo se muestran después de que haya ocurrido una de las siguientes situaciones:<ul><li>El negocio ha enviado una plantilla de mensaje al usuario.</li><li>El usuario inicia una conversación con un enlace "clic para chatear".</li><li>El usuario añade el número de teléfono del negocio a su libreta de direcciones e inicia una conversación. Valor predeterminado: `false`.</li></ul> |

> [accordion] whatsappMessage.image
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | ID de medios del proveedor, cuando lo suministra el callback. |
> | `link` | string | No | URL de medios del proveedor, cuando la proporciona la devolución de llamada. |
> | `caption` | string | No | Pie de foto o descripción del archivo multimedia, cuando lo proporciona la devolución de llamada. |
> | `filename` | string | No | Nombre de archivo original, cuando lo proporciona la devolución de llamada. |
> | `mime_type` | string | No | Tipo MIME del proveedor copiado de la devolución de llamada. |

> [accordion] whatsappMessage.video
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | ID de medios del proveedor, cuando lo proporciona la devolución de llamada. |
> | `link` | string | No | URL de medios del proveedor, cuando la proporciona la devolución de llamada. |
> | `caption` | string | No | Pie de foto o descripción del archivo multimedia, cuando lo proporciona la devolución de llamada. |
> | `filename` | string | No | Nombre de archivo original, cuando lo proporciona la devolución de llamada. |
> | `mime_type` | string | No | Tipo MIME del proveedor copiado de la devolución de llamada. |

> [accordion] whatsappMessage.audio
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | ID de medios del proveedor, cuando lo proporciona la devolución de llamada. |
> | `link` | string | No | URL de medios del proveedor, cuando la proporciona la devolución de llamada. |
> | `caption` | string | No | Pie de foto o descripción del archivo multimedia, cuando lo proporciona la devolución de llamada. |
> | `filename` | string | No | Nombre de archivo original, cuando lo proporciona la devolución de llamada. |
> | `mime_type` | string | No | Tipo MIME del proveedor copiado de la devolución de llamada. |

> [accordion] whatsappMessage.document
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | ID de medios del proveedor, cuando lo proporciona la devolución de llamada. |
> | `link` | string | No | URL de medios del proveedor, cuando la proporciona la devolución de llamada. |
> | `caption` | string | No | Pie de foto o descripción del archivo multimedia, cuando lo proporciona la devolución de llamada. |
> | `filename` | string | No | Nombre de archivo original, cuando lo proporciona la devolución de llamada. |
> | `mime_type` | string | No | Tipo MIME del proveedor copiado de la devolución de llamada. |

> [accordion] whatsappMessage.sticker
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | ID de medios del proveedor, cuando lo proporciona la devolución de llamada. |
> | `link` | string | No | URL de medios del proveedor, cuando la proporciona la devolución de llamada. |
> | `caption` | string | No | Pie de foto o descripción del archivo multimedia, cuando lo proporciona la devolución de llamada. |
> | `filename` | string | No | Nombre de archivo original, cuando lo proporciona la devolución de llamada. |
> | `mime_type` | string | No | Tipo MIME del proveedor copiado de la devolución de llamada. |

> [accordion] whatsappMessage.location
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `latitude` | number (double) | Sí | Latitud de la ubicación. |
> | `longitude` | number (double) | Sí | Longitud de la ubicación. |
> | `name` | string | No | Nombre de la ubicación. |
> | `address` | string | No | Dirección de la ubicación. Solo se muestra si `name` está presente. |

> [accordion] whatsappMessage.interactive
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `type` | string | No | **Obligatorio.** El tipo de mensaje interactivo que deseas enviar.<ul><li>`button`: Úsalo para botones de respuesta rápida (Reply Buttons).</li><li>`list`: Úsalo para mensajes de lista.</li><li>`cta_url`: Úsalo para mensajes con botón de llamada a la acción (CTA) de URL.</li><li>`product`: Úsalo para mensajes de un solo producto.</li><li>`product_list`: Úsalo para mensajes multiproducto.</li><li>`catalog_message`: Úsalo para mensajes de catálogo.</li><li>`location_request_message`: Úsalo para mensajes de solicitud de ubicación.</li><li>`order_details`: Úsalo para mensajes de detalles del pedido.</li><li>`order_status`: Úsalo para mensajes de estado del pedido.</li><li>`voice_call`: Úsalo para mensajes de llamada de voz.</li><li>`flow`: Úsalo para mensajes de flujo (Flow).</li></ul> |
> | `action` | object | No | **Obligatorio.** Acción que deseas que realice el usuario después de leer el mensaje `interactive`. |
> | `body` | object | No | Opcional para el tipo `product`. Obligatorio para otros tipos de mensajes. |
> | `header` | object | No | Obligatorio para el tipo `product_list`. Opcional para otros tipos. |
> | `footer` | object | No | Opcional. Un objeto con el pie de página del mensaje. |

> [accordion] whatsappMessage.interactive.action
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `buttons` | object\[] | No | Obligatorio para botones de respuesta rápida (Reply Buttons). Puedes incluir hasta 3 botones. |
> | `button` | string | No | Obligatorio para mensajes de lista. Contenido del botón. No puede ser una cadena vacía y debe ser único dentro del mensaje. Se admiten emojis, pero no markdown. Longitud máxima: 20 caracteres.Longitud máxima: `20`. |
> | `catalog_id` | string | No | Obligatorio para mensajes de un solo producto y mensajes multiproducto. Identificador único del catálogo de Facebook vinculado a tu cuenta de WhatsApp Business. Este ID se puede obtener a través del [Meta Commerce Manager](https://business.facebook.com/commerce). |
> | `product_retailer_id` | string | No | Obligatorio para mensajes de un solo producto y mensajes multiproducto. Identificador único del producto en un catálogo. |
> | `sections` | object\[] | No | Obligatorio para mensajes de lista y mensajes multiproducto. Matriz de objetos de sección. Mínimo 1, máximo 10. |
> | `name` | string | No | Nombre de la acción. Obligatorio para botones de llamada a la acción (CTA).<ul><li>`cta_url`: Úsalo para botones de llamada a la acción (CTA) de URL.</li><li>`catalog_message`: Úsalo para mensajes de catálogo.</li><li>`send_location`: Úsalo para botones de solicitud de ubicación.</li><li>`flow`: Úsalo para botones de flujo (Flow).</li><li>`review_and_pay`: Úsalo para botones de detalles del pedido.</li><li>`review_order`: Úsalo para botones de estado del pedido.</li><li>`voice_call`: Úsalo para botones de llamada de voz.</li></ul> |
> | `parameters` | object | No | Parámetros de la acción. Obligatorio para botones de llamada a la acción (CTA). |

> [accordion] whatsappMessage.interactive.action.buttons\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `type` | string | No | El único tipo admitido es `reply` (para Reply Button). |
> | `reply` | object | No | Los campos del objeto se enumeran a continuación. |

> [accordion] whatsappMessage.interactive.action.buttons\[].reply
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `title` | string | No | Título del botón. No puede ser una cadena vacía y debe ser único dentro del mensaje. Se admiten emojis, pero no markdown. Longitud máxima: 20 caracteres.Longitud máxima: `20`. |
> | `id` | string | No | Identificador único para tu botón. Este ID se devuelve en el webhook cuando el usuario hace clic en el botón. Longitud máxima: 256 caracteres. No puedes incluir espacios al principio ni al final al configurar el ID.Longitud máxima: `256`. |

> [accordion] whatsappMessage.interactive.action.sections\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `title` | string | No | **Obligatorio si el mensaje tiene más de una sección.** Título de la sección. Longitud máxima: 24 caracteres.Longitud máxima: `24`. |
> | `rows` | object\[] | No | Contiene una lista de filas. Puedes tener un total de 10 filas entre todas tus secciones. Cada fila debe tener un título (longitud máxima: 24 caracteres) y un ID (longitud máxima: 200 caracteres). Puedes añadir una descripción (longitud máxima: 72 caracteres), pero es opcional. |
> | `product_items` | object\[] | No | Obligatorio para mensajes multiproducto. Matriz de objetos de producto. Debe haber un mínimo de 1 producto por sección y un máximo de 30 productos en todas las secciones. |

> [accordion] whatsappMessage.interactive.action.sections\[].rows\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | ID único de fila. Longitud máxima: 200 caracteres.Longitud máxima: `200`. |
> | `title` | string | No | Contenido del título de la fila. Longitud máxima: 24 caracteres.Longitud máxima: `24`. |
> | `description` | string | No | Contenido de la descripción de la fila. Longitud máxima: 72 caracteres.Longitud máxima: `72`. |

> [accordion] whatsappMessage.interactive.action.sections\[].product\_items\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `product_retailer_id` | string | No | Obligatorio para mensajes multiproducto. Identificador único del producto en un catálogo. |

> [accordion] whatsappMessage.interactive.action.parameters
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `display_text` | string | No | Texto del botón CTA URL. Longitud máxima: 20 bytes.Longitud máxima: `20`. |
> | `url` | string | No | URL del botón CTA URL. |
> | `thumbnail_product_retailer_id` | string | No | Número SKU del artículo. Etiquetado como **Content ID** en el [Commerce Manager](https://business.facebook.com/commerce). La miniatura de este artículo se utilizará como imagen del encabezado del mensaje. |
> | `flow_message_version` | string | No | Se utiliza para los botones `flow`. El valor debe ser "3". |
> | `flow_token` | string | No | Se utiliza para los botones `flow`. Token de Flow generado por la empresa para servir como identificador. El valor predeterminado es `unused`. |
> | `flow_id` | string | No | Condicionalmente obligatorio para los botones `flow`. ID único del Flow proporcionado por WhatsApp. No se puede utilizar con el parámetro `flow_name`. |
> | `flow_name` | string | No | Obligatorio condicionalmente para los botones `flow`. El nombre del Flow que creaste. No se puede usar con el parámetro `flow_id`. Si cambias el nombre del Flow, deberás actualizar este parámetro para que coincida con el nuevo nombre. |
> | `flow_cta` | string | No | Obligatorio para botones de tipo `flow`. Texto en el botón CTA. Por ejemplo: "Open flow!". Longitud máxima: 20 caracteres.Longitud máxima: `20`. |
> | `flow_action` | string | No | Úsalo para botones `flow`. Ya sea `navigate` o `data_exchange`. El valor predeterminado es `navigate`. |
> | `flow_action_payload` | object | No | Obligatorio si `flow_action` es `navigate`. De lo contrario, debe omitirse. |
> | `reference_id` | string | No | Obligatorio para botones de tipo `review_and_pay`. Identificador único del pedido proporcionado por la empresa. Distingue entre mayúsculas y minúsculas, no puede ser una cadena vacía y solo puede contener letras en inglés, números, guiones bajos, guiones o puntos, y no debe superar los 35 caracteres.El `reference_id` debe ser único para cada mensaje order\_details de una empresa determinada. Si es necesario enviar varios mensajes order\_details para el mismo pedido, se recomienda incluir un número de secuencia en el reference\_id (por ejemplo, "BM345A-12") para garantizar su exclusividad.\_ |
> | `type` | string | No | Obligatorio para los botones `review_and_pay`. El tipo de bienes que se pagan en este pedido. Las opciones admitidas actualmente son `digital-goods` y `physical-goods`. |
> | `beneficiaries` | object\[] | No | Obligatorio para los botones `review_and_pay`. Un array de beneficiarios para este pedido. Un beneficiario es el destinatario previsto para el envío de los bienes físicos del pedido. La información del beneficiario no se muestra a los usuarios, pero se requiere por motivos legales y de cumplimiento. |
> | `currency` | string | No | Obligatorio para los botones `review_and_pay`. La moneda de este pedido. Actualmente, el único valor admitido es `INR`. |
> | `total_amount` | object | No | Obligatorio para los botones `review_and_pay`. El importe total de este pedido. |
> | `order` | object | No | Obligatorio para botones de tipo `review_and_pay` o `review_order`.Para los botones `review_and_pay`, proporciona el pedido `status`, `items`, `subtotal`, `tax`, etc.Para los botones `review_order`, proporciona únicamente el pedido `status` y `description`. |
> | `payment_settings` | object\[] | No | Obligatorio para los botones `review_and_pay`. Configuración de pago para el pedido. |

> [accordion] whatsappMessage.interactive.action.parameters.flow\_action\_payload
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `screen` | string | No | El ID de la pantalla que se muestra primero. Debe ser una pantalla **entry** . |
> | `data` | object | No | Datos de entrada opcionales para la primera pantalla del Flow. Si se proporciona, debe ser un objeto no vacío. |

> [accordion] whatsappMessage.interactive.action.parameters.beneficiaries\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `name` | string | Sí | Nombre de la persona o empresa que recibe los bienes físicos. No puede superar los 200 caracteres.Longitud máxima: `200`. |
> | `address_line1` | string | Sí | Dirección de envío (número de puerta/torre, nombre de la calle, etc.). No puede exceder los 100 caracteres.Longitud máxima: `100`. |
> | `address_line2` | string | No | Dirección de envío (punto de referencia, zona, etc.). No puede exceder los 100 caracteres.Longitud máxima: `100`. |
> | `city` | string | Sí | Nombre de la ciudad. |
> | `state` | string | Sí | Nombre del estado o provincia. |
> | `country` | string | Sí | Nombre del país. Actualmente el único valor admitido es `India`. |
> | `postal_code` | string | Sí | Código postal de 6 dígitos de la dirección de envío.Longitud mínima: `6`. Longitud máxima: `6`. |

> [accordion] whatsappMessage.interactive.action.parameters.total\_amount
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `offset` | integer (int32) | Sí | Debe ser `100` para `INR`. |
> | `value` | integer (int32) | Sí | Entero positivo que representa el valor del importe multiplicado por offset. Por ejemplo, ₹12.34 tiene el valor 1234. |
> | `description` | string | No | Usa solo para `tax`, `shipping` o `discount`. Descripción del importe. El límite máximo de caracteres es 60.Longitud máxima: `60`. |
> | `discount_program_name` | string | No | Usa solo para `discount`. Texto utilizado para definir pedidos con incentivos. Si el pedido tiene incentivos, el comerciante debe definir esta información. El límite máximo de caracteres es 60.Longitud máxima: `60`. |

> [accordion] whatsappMessage.interactive.action.parameters.order
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `status` | string | No | El único valor admitido en el mensaje `order_details` es `pending`. En un mensaje `order_status`, `status` puede ser: `pending`, `processing`, `partially_shipped`, `shipped`, `completed` o `canceled`. |
> | `type` | string | No | El único valor admitido es `quick_pay`. Cuando se pasa este campo, ocultamos el botón "Review and Pay" y solo mostramos el botón "Pay Now" en la burbuja de detalles del pedido. |
> | `catalog_id` | string | No | Identificador único del catálogo de Facebook que utiliza la empresa. Si no proporcionas este campo, debes proporcionar los siguientes campos dentro del objeto items: `country_of_origin`, `importer_name` y `importer_address`. |
> | `items` | object\[] | No | Matriz de artículos del pedido. |
> | `subtotal` | object | No | El valor **debe ser igual** a la suma de `order.amount.value` \* `order.amount.quantity`. |
> | `tax` | object | No | La información fiscal de este pedido. |
> | `shipping` | object | No | El coste de envío del pedido. |
> | `discount` | object | No | El importe del descuento para este pedido. |
> | `expiration` | object | No | Vencimiento de este pedido. |
> | `description` | string | No | **Opcional.** Texto para compartir información relacionada con el estado. Puede resultar útil al enviar una cancelación. El límite máximo es de 120 caracteres.Longitud máxima: `120`. |

> [accordion] whatsappMessage.interactive.action.parameters.order.items\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `retailer_id` | string | No | ID de contenido de un artículo del pedido perteneciente a tu catálogo. |
> | `name` | string | Sí | El nombre del artículo que se mostrará al usuario. No puede superar los 60 caracteres.Longitud máxima: `60`. |
> | `image` | object | No | Imagen personalizada para el artículo que se mostrará al usuario. |
> | `amount` | object | Sí | El precio por artículo. |
> | `sale_amount` | object | No | El precio con descuento por artículo. Debe ser inferior al importe original. Si se incluye, este campo se utiliza para calcular el subtotal. |
> | `quantity` | integer (int32) | Sí | La cantidad de artículos en el pedido. |
> | `country_of_origin` | string | No | Obligatorio si `catalog_id` no está presente. El país de origen del producto. |
> | `importer_name` | string | No | Obligatorio si `catalog_id` no está presente. Nombre de la empresa importadora. |
> | `importer_address` | string | No | Obligatorio si `catalog_id` no está presente. Dirección de la empresa importadora. |

> [accordion] whatsappMessage.interactive.action.parameters.order.items\[].image
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | \*\*Úsalo cuando el archivo multimedia se suba a los servidores de WhatsApp.\*\*Proporciona el ID del objeto multimedia obtenido de la API de subida de archivos multimedia de WhatsApp (\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)).Nota](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)\).Nota): Se debe proporcionar `id` o `link`. Si se proporcionan ambos, `id` tiene prioridad. |
> | `link` | string | No | \*\*Úsalo cuando envíes archivos multimedia directamente desde tu servidor.\*\*El protocolo y la URL del archivo multimedia que se va a enviar. Úsalo solo con URL HTTP/HTTPS.Nota: La Cloud API de WhatsApp almacena en caché los recursos multimedia durante 10 minutos. Para asegurarte de obtener el contenido más reciente, añade cadenas de consulta aleatorias a la URL.Nota: Se debe proporcionar `id` o `link`. Si se proporcionan ambos, `id` tiene prioridad y se ignorará `link`. |
> | `caption` | string | No | Describe el contenido multimedia especificado en `image`, `gif`, `video` o `document`. No aplica en el `header` de mensajes `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre de archivo del documento específico. Úsalo únicamente con medios `document`. |

> [accordion] whatsappMessage.interactive.action.parameters.order.items\[].amount
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `offset` | integer (int32) | Sí | Debe ser `100` para `INR`. |
> | `value` | integer (int32) | Sí | Entero positivo que representa el valor del importe multiplicado por el offset. Por ejemplo, ₹12.34 tiene el valor 1234. |
> | `description` | string | No | Úsalo solo para `tax`, `shipping` o `discount`. Descripción del importe. El límite máximo es de 60 caracteres.Longitud máxima: `60`. |
> | `discount_program_name` | string | No | Úsalo solo para `discount`. Texto utilizado para definir pedidos con incentivos. Si el pedido tiene incentivos, el comerciante debe definir esta información. El límite máximo de caracteres es de 60.Longitud máxima: `60`. |

> [accordion] whatsappMessage.interactive.action.parameters.order.items\[].sale\_amount
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `offset` | integer (int32) | Sí | Debe ser `100` para `INR`. |
> | `value` | integer (int32) | Sí | Entero positivo que representa el valor del importe multiplicado por el desplazamiento (offset). Por ejemplo, ₹12.34 tiene el valor 1234. |
> | `description` | string | No | Úsalo solo para `tax`, `shipping` o `discount`. Descripción del importe. El límite máximo de caracteres es de 60.Longitud máxima: `60`. |
> | `discount_program_name` | string | No | Úsalo solo para `discount`. Texto utilizado para definir pedidos con incentivos. Si el pedido tiene incentivos, el comerciante debe definir esta información. El límite máximo de caracteres es de 60.Longitud máxima: `60`. |

> [accordion] whatsappMessage.interactive.action.parameters.order.subtotal
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `offset` | integer (int32) | Sí | Debe ser `100` para `INR`. |
> | `value` | integer (int32) | Sí | Entero positivo que representa el valor del importe multiplicado por el desplazamiento (offset). Por ejemplo, ₹12.34 tiene el valor 1234. |
> | `description` | string | No | Úsalo solo para `tax`, `shipping` o `discount`. Descripción del importe. El límite máximo de caracteres es de 60.Longitud máxima: `60`. |
> | `discount_program_name` | string | No | Úsalo solo para `discount`. Texto utilizado para definir pedidos con incentivos. Si el pedido tiene incentivos, el comerciante debe definir esta información. El límite máximo de caracteres es de 60.Longitud máxima: `60`. |

> [accordion] whatsappMessage.interactive.action.parameters.order.tax
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `offset` | integer (int32) | Sí | Debe ser `100` para `INR`. |
> | `value` | integer (int32) | Sí | Entero positivo que representa el valor del importe multiplicado por el desplazamiento (offset). Por ejemplo, ₹12.34 tiene el valor 1234. |
> | `description` | string | No | Úsalo solo para `tax`, `shipping` o `discount`. Descripción del importe. El límite máximo de caracteres es de 60.Longitud máxima: `60`. |
> | `discount_program_name` | string | No | Úsalo solo para `discount`. Texto utilizado para definir pedidos con incentivos. Si el pedido tiene incentivos, el comerciante debe definir esta información. El límite máximo de caracteres es de 60.Longitud máxima: `60`. |

> [accordion] whatsappMessage.interactive.action.parameters.order.shipping
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `offset` | integer (int32) | Sí | Debe ser `100` para `INR`. |
> | `value` | integer (int32) | Sí | Entero positivo que representa el valor del importe multiplicado por el desplazamiento (offset). Por ejemplo, ₹12.34 tiene el valor 1234. |
> | `description` | string | No | Úsalo solo para `tax`, `shipping` o `discount`. Descripción del importe. El límite máximo de caracteres es de 60.Longitud máxima: `60`. |
> | `discount_program_name` | string | No | Úsalo solo para `discount`. Texto utilizado para definir pedidos con incentivos. Si el pedido tiene incentivos, el comerciante debe definir esta información. El límite máximo de caracteres es de 60.Longitud máxima: `60`. |

> [accordion] whatsappMessage.interactive.action.parameters.order.discount
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `offset` | integer (int32) | Sí | Debe ser `100` para `INR`. |
> | `value` | integer (int32) | Sí | Entero positivo que representa el valor del importe multiplicado por el desplazamiento (offset). Por ejemplo, ₹12.34 tiene el valor 1234. |
> | `description` | string | No | Úsalo solo para `tax`, `shipping` o `discount`. Descripción del importe. El límite máximo de caracteres es de 60.Longitud máxima: `60`. |
> | `discount_program_name` | string | No | Úsalo solo para `discount`. Texto utilizado para definir pedidos con incentivos. Si el pedido tiene incentivos, el comerciante debe definir esta información. El límite máximo de caracteres es de 60.Longitud máxima: `60`. |

> [accordion] whatsappMessage.interactive.action.parameters.order.expiration
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `timestamp` | string | Sí | Una cadena de marca de tiempo UTC en segundos de la hora en la que debe expirar el pedido. El umbral mínimo es de 300 segundos. |
> | `description` | string | No | Explicación de texto para la expiración.Longitud máxima: `120`. |

> [accordion] whatsappMessage.interactive.action.parameters.payment\_settings\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `type` | string | Sí | Debe establecerse en `payment_gateway`. |
> | `payment_gateway` | object | Sí | Un objeto que describe la información de la cuenta de pago. |

> [accordion] whatsappMessage.interactive.action.parameters.payment\_settings\[].payment\_gateway
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `type` | string | Sí | Tipo de pago. Debes establecerlo en `billdesk`, `razorpay`, `payu` o `zaakpay`, si has vinculado tu pasarela de pago BillDesk, Razorpay, PayU o Zaakpay para aceptar pagos. |
> | `configuration_name` | string | Sí | El nombre de la configuración de pago preconfigurada que se usará para este pedido; no debe superar los 60 caracteres. Este valor debe coincidir con una configuración de pago configurada en el WhatsApp Business Manager.Longitud máxima: `60`. |
> | `billdesk` | object | No | Información adicional para BillDesk. Los campos definidos por el usuario (extra) se utilizan para almacenar cualquier información correspondiente a un pedido en particular. Cada campo extra tiene un límite máximo de 120 caracteres. |
> | `payu` | object | No | Información adicional para PayU. Los campos definidos por el usuario (udf) se utilizan para almacenar cualquier información correspondiente a un pedido en particular. Cada campo UDF tiene un límite máximo de 255 caracteres. |
> | `razorpay` | object | No | Información adicional para Razorpay. |
> | `zaakpay` | object | No | Información adicional para Zaakpay. Los campos definidos por el usuario (extra) se utilizan para almacenar cualquier información correspondiente a un pedido en particular. Cada campo extra tiene un límite máximo de 180 caracteres. |

> [accordion] whatsappMessage.interactive.action.parameters.payment\_settings\[].payment\_gateway.billdesk
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `additional_info1` | string | No | Información definida por el usuario sobre este pedido para BillDesk.Longitud máxima: `120` caracteres. |
> | `additional_info2` | string | No | Información definida por el usuario sobre este pedido para BillDesk.Longitud máxima: `120` caracteres. |
> | `additional_info3` | string | No | Información definida por el usuario sobre este pedido para BillDesk.Longitud máxima: `120` caracteres. |
> | `additional_info4` | string | No | Información definida por el usuario sobre este pedido para BillDesk.Longitud máxima: `120` caracteres. |
> | `additional_info5` | string | No | Información definida por el usuario sobre este pedido para BillDesk.Longitud máxima: `120` caracteres. |
> | `additional_info6` | string | No | Información definida por el usuario sobre este pedido para BillDesk.Longitud máxima: `120` caracteres. |
> | `additional_info7` | string | No | Información definida por el usuario sobre este pedido para BillDesk.Longitud máxima: `120` caracteres. |

> [accordion] whatsappMessage.interactive.action.parameters.payment\_settings\[].payment\_gateway.payu
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `udf1` | string | No | Información definida por el usuario sobre este pedido para PayU.Longitud máxima: `255` caracteres. |
> | `udf2` | string | No | Información definida por el usuario sobre este pedido para PayU.Longitud máxima: `255` caracteres. |
> | `udf3` | string | No | Información definida por el usuario sobre este pedido para PayU.Longitud máxima: `255` caracteres. |
> | `udf4` | string | No | Información definida por el usuario sobre este pedido para PayU.Longitud máxima: `255` caracteres. |

> [accordion] whatsappMessage.interactive.action.parameters.payment\_settings\[].payment\_gateway.razorpay
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `receipt` | string | No | Número de recibo correspondiente a este pedido, establecido para tu referencia interna. Admite una longitud máxima de 40 caracteres, con una longitud mínima superior a 0 caracteres. |
> | `notes` | object | No | El objeto puede ser pares clave-valor con un máximo de 15 claves y cada valor está limitado a 256 caracteres. |

> [accordion] whatsappMessage.interactive.action.parameters.payment\_settings\[].payment\_gateway.zaakpay
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `extra1` | string | No | Información definida por el usuario sobre este pedido para Zaakpay.Longitud máxima: `180` caracteres. |
> | `extra2` | string | No | Información definida por el usuario sobre este pedido para Zaakpay.Longitud máxima: `180` caracteres. |

> [accordion] whatsappMessage.interactive.body
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `text` | string | No | El contenido del cuerpo del mensaje. Se admiten emojis y markdown. Longitud máxima: 1024 caracteres.Longitud máxima: `1024`. |

> [accordion] whatsappMessage.interactive.header
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `type` | string | No | **Obligatorio.** El tipo de encabezado que deseas usar.<ul><li>`text`: Se usa para List Messages, Reply Buttons y Multi-Product Messages.</li><li>`video`: Se usa para Reply Buttons.</li><li>`image`: Se usa para Reply Buttons.</li><li>`document`: Se usa para Reply Buttons.</li></ul> |
> | `text` | string | No | Texto para el encabezado. El formato permite emojis, pero no markdown.Longitud máxima: `60`. |
> | `image` | object | No | Úsalo para mensajes `image`, `gif`, `video`, `audio`, `document` o `sticker`. Consulta también [Supported Media Types](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media#supported-media-types). |
> | `video` | object | No | Úsalo para mensajes `image`, `gif`, `video`, `audio`, `document` o `sticker`. Consulta también [Supported Media Types](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media#supported-media-types). |
> | `document` | object | No | Úsalo para mensajes `image`, `gif`, `video`, `audio`, `document` o `sticker`. Consulta también [Supported Media Types](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media#supported-media-types). |

> [accordion] whatsappMessage.interactive.header.image
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | \*\*Usa esto cuando el archivo multimedia esté subido a los servidores de WhatsApp.\*\*Proporciona el ID del objeto multimedia obtenido de la API de subida de archivos multimedia de WhatsApp (\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)).Nota](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)\).Nota): Debe proporcionarse `id` o `link`. Si se proporcionan ambos, `id` tiene prioridad. |
> | `link` | string | No | \*\*Usa esto cuando envíes archivos multimedia directamente desde tu servidor.\*\*El protocolo y la URL del archivo multimedia que se enviará. Úsalo solo con URL HTTP/HTTPS.Nota: La API de WhatsApp Cloud almacena en caché los recursos multimedia durante 10 minutos. Para asegurarte de tener el contenido más reciente, añade parámetros de consulta aleatorios a la URL.Nota: Debe proporcionarse `id` o `link`. Si se proporcionan ambos, `id` tiene prioridad y `link` se ignorará. |
> | `caption` | string | No | Describe el archivo multimedia especificado de tipo `image`, `gif`, `video` o `document`. No aplicable en el `header` de mensajes `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre de archivo para el documento específico. Úsalo solo con archivos multimedia `document`. |

> [accordion] whatsappMessage.interactive.header.video
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | \*\*Usa esto cuando el archivo multimedia esté subido a los servidores de WhatsApp.\*\*Proporciona el ID del objeto multimedia obtenido de la API de subida de archivos multimedia de WhatsApp (\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)).Nota](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)\).Nota): Debe proporcionarse `id` o `link`. Si se proporcionan ambos, `id` tiene prioridad. |
> | `link` | string | No | \*\*Usa esto cuando envíes archivos multimedia directamente desde tu servidor.\*\*El protocolo y la URL del archivo multimedia que se enviará. Úsalo solo con URL HTTP/HTTPS.Nota: La API de WhatsApp Cloud almacena en caché los recursos multimedia durante 10 minutos. Para asegurar el contenido más reciente, añade cadenas de consulta aleatorias a la URL.Nota: Se debe proporcionar `id` o `link`. Si se proporcionan ambos, `id` tiene prioridad y `link` se ignorará. |
> | `caption` | string | No | Describe el contenido multimedia especificado en `image`, `gif`, `video` o `document`. No se aplica en el `header` de los mensajes de `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre de archivo para el documento específico. Úsalo solo con contenido multimedia `document`. |

> [accordion] whatsappMessage.interactive.header.document
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | \*\*Usa esto cuando el archivo multimedia se suba a los servidores de WhatsApp.\*\*Proporciona el ID del objeto multimedia obtenido de la API de subida de medios de WhatsApp (\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)).Nota](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)\).Nota): Se debe proporcionar `id` o `link`. Si se proporcionan ambos, `id` tiene prioridad. |
> | `link` | string | No | \*\*Usa esto cuando envíes archivos multimedia directamente desde tu servidor.\*\*El protocolo y la URL del archivo multimedia que se enviará. Úsalo solo con URL HTTP/HTTPS.Nota: La API de WhatsApp Cloud almacena en caché los recursos multimedia durante 10 minutos. Para asegurar el contenido más reciente, añade cadenas de consulta aleatorias a la URL.Nota: Se debe proporcionar `id` o `link`. Si se proporcionan ambos, `id` tiene prioridad y `link` se ignorará. |
> | `caption` | string | No | Describe el contenido multimedia especificado en `image`, `gif`, `video` o `document`. No se aplica en el `header` de los mensajes de `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre de archivo para el documento específico. Úsalo solo con contenido multimedia `document`. |

> [accordion] whatsappMessage.interactive.footer
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `text` | string | No | El contenido del pie de página. Se admiten emojis y markdown. Se admiten enlaces. Longitud máxima: 60 caracteres.Longitud máxima: `60`. |

> [accordion] whatsappMessage.contacts\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `addresses` | object\[] | No | Los elementos del arreglo se describen a continuación. |
> | `birthday` | string | No | Cadena formateada `YYYY-MM-DD`. |
> | `emails` | object\[] | No | Los elementos del arreglo se describen a continuación. |
> | `name` | object | Sí | Nombre completo del contacto formateado como un objeto name. |
> | `org` | object | No | Información de la organización del contacto formateada como un objeto org. |
> | `phones` | object\[] | No | Número(s) de teléfono del contacto formateado(s) como un objeto phone. |
> | `urls` | object\[] | No | URL(s) del contacto formateada(s) como un objeto urls. |
> | `vcard` | string | No | vCard opcional suministrada con la carga útil del contacto compartido. |
> | `origin` | string | No | Se establece en `contact_request` cuando el usuario compartió el contacto en respuesta a un mensaje de solicitud de información de contacto. |

> [accordion] whatsappMessage.contacts\[].addresses\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `street` | string | No | Nombre y número de la calle. |
> | `city` | string | No | Nombre de la ciudad. |
> | `state` | string | No | Abreviatura del estado o provincia. |
> | `zip` | string | No | Código postal. |
> | `country` | string | No | Nombre completo del país. |
> | `country_code` | string | No | Abreviatura de dos letras del país. |
> | `type` | string | No | Los valores estándar son `HOME` y `WORK`. |

> [accordion] whatsappMessage.contacts\[].emails\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `email` | string | No | Dirección de correo electrónico. |
> | `type` | string | No | Los valores estándar son `HOME` y `WORK`. |

> [accordion] whatsappMessage.contacts\[].name
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `formatted_name` | string | Sí | Nombre completo, tal como aparece normalmente. |
> | `first_name` | string | No | Nombre. |
> | `last_name` | string | No | Apellido. |
> | `middle_name` | string | No | Segundo nombre. |
> | `suffix` | string | No | Sufijo del nombre. |
> | `prefix` | string | No | Prefijo o tratamiento del nombre. |

> [accordion] whatsappMessage.contacts\[].org
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `company` | string | No | Nombre de la empresa del contacto. |
> | `department` | string | No | Nombre del departamento del contacto. |
> | `title` | string | No | Cargo profesional del contacto. |

> [accordion] whatsappMessage.contacts\[].phones\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `phone` | string | No | Se completa automáticamente con el valor `wa_id` como un número de teléfono formateado. |
> | `type` | string | No | Los valores estándar son `CELL`, `MAIN`, `IPHONE`, `HOME` y `WORK`. |
> | `wa_id` | string | No | ID de WhatsApp. |

> [accordion] whatsappMessage.contacts\[].urls\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `url` | string | No | URL. |
> | `type` | string | No | Los valores estándar son `HOME` y `WORK`. |

> [accordion] whatsappMessage.reaction
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `message_id` | string | Sí | Especifica el `wamid` del mensaje recibido que contenía la reacción. |
> | `emoji` | string | No | **Obligatorio** cuando envías un mensaje `reaction`. Establécelo en `""` si deseas eliminar el emoji. **Opcional** cuando recibiste un mensaje de un usuario. Este campo se incluye cuando un usuario reacciona a los mensajes con un emoji. De lo contrario, indica que un usuario eliminó el emoji. |

> [accordion] whatsappMessage.context
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `message_id` | string | No | Especifica el `wamid` del mensaje al que estás respondiendo. `wamid` es el ID del mensaje original en la plataforma de WhatsApp. |

## Ejemplo

El siguiente JSON es el cuerpo entregado a tu receptor. Los ID, números de teléfono y otros valores de cuenta son ilustrativos.

> [accordion] Mensaje de eco entregado
>
> Correlaciona con el evento creado por id o wamid. Los eventos actualizados omiten el contenido y el tipo de mensaje.
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_example_echo_delivered",
>   "type": "whatsapp.echo_message.updated",
>   "apiVersion": "v2",
>   "createTime": "2026-09-09T02:00:03.000Z",
>   "whatsappMessage": {
>     "id": "MESSAGE_ID",
>     "wamid": "wamid.EXAMPLE",
>     "wabaId": "WABA_ID",
>     "from": "+12025550124",
>     "to": "+12025550123",
>     "recipientUserId": "GB.898232076600896",
>     "status": "delivered",
>     "updateTime": "2026-09-09T02:00:01.000Z",
>     "deliverTime": "2026-09-09T02:00:01.000Z"
>   }
> }
> ```

> [accordion] Mensaje de eco leído
>
> Correlaciona con el evento creado por id o wamid. Los eventos actualizados omiten el contenido y el tipo de mensaje.
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_example_echo_read",
>   "type": "whatsapp.echo_message.updated",
>   "apiVersion": "v2",
>   "createTime": "2026-09-09T02:00:03.000Z",
>   "whatsappMessage": {
>     "id": "MESSAGE_ID",
>     "wamid": "wamid.EXAMPLE",
>     "wabaId": "WABA_ID",
>     "from": "+12025550124",
>     "to": "+12025550123",
>     "recipientUserId": "GB.898232076600896",
>     "status": "read",
>     "updateTime": "2026-09-09T02:00:02.000Z",
>     "readTime": "2026-09-09T02:00:02.000Z"
>   }
> }
> ```

> [accordion] Estado enviado tardío después de leído
>
> Un estado de origen de menor rango puede llegar después de leído. Registra el evento sin degradar el estado actual de tu mensaje.
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_example_echo_sent",
>   "type": "whatsapp.echo_message.updated",
>   "apiVersion": "v2",
>   "createTime": "2026-09-09T02:00:03.000Z",
>   "whatsappMessage": {
>     "id": "MESSAGE_ID",
>     "wamid": "wamid.EXAMPLE",
>     "wabaId": "WABA_ID",
>     "from": "+12025550124",
>     "to": "+12025550123",
>     "recipientUserId": "GB.898232076600896",
>     "status": "sent",
>     "updateTime": "2026-09-09T02:00:00.000Z",
>     "sendTime": "2026-09-09T02:00:00.000Z"
>   }
> }
> ```

> [accordion] Mensaje de eco fallido
>
> Este es un mensaje fallido independiente, no una transición desde leído. Las actualizaciones fallidas incluyen los detalles del error de origen cuando están disponibles.
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_example_echo_failed",
>   "type": "whatsapp.echo_message.updated",
>   "apiVersion": "v2",
>   "createTime": "2026-09-09T02:00:03.000Z",
>   "whatsappMessage": {
>     "id": "FAILED_MESSAGE_ID",
>     "wamid": "wamid.FAILED_EXAMPLE",
>     "wabaId": "WABA_ID",
>     "from": "+12025550124",
>     "to": "+12025550123",
>     "recipientUserId": "GB.898232076600896",
>     "status": "failed",
>     "errorCode": "131000",
>     "errorMessage": "Provider failure",
>     "updateTime": "2026-09-09T02:00:03.000Z"
>   }
> }
> ```

Tras verificar la firma y aceptar el evento de forma duradera, devuelve una respuesta `2xx`. Procesa el trabajo lento de forma asíncrona.

```http theme={"theme":{"light":"github-light","dark":"github-dark"}}
HTTP/1.1 200 OK
```

Para ver tutoriales de escenarios, consulta los [ejemplos comentados](https://docs.ycloud.com/es/api-reference/guides/examples/webhook-examples/whatsapp-echo-message-updated).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.