> ## 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.message.updated

> Se produce cuando se actualiza el estado de un mensaje saliente de WhatsApp y el estado cambia a `sent`, `failed`, `delivered` o `read`.

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

## Desencadenadores

Se produce cuando se actualiza el estado de un mensaje saliente de WhatsApp y el estado cambia a `sent`, `failed`, `delivered` o `read`.

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

Usa `whatsappMessage` para las actualizaciones de mensajes individuales. Las actualizaciones de estado de mensajes grupales pueden incluir `whatsappGroup`. Enruta la carga útil antes de leer los campos específicos del 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**. A continuación se describen los campos opcionales y otras variantes.

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "<ID>",
  "type": "whatsapp.message.updated",
  "apiVersion": "<API_VERSION>",
  "createTime": "<CREATE_TIME>",
  "whatsappMessage": {
    "id": "<ID>",
    "wabaId": "<WABA_ID>",
    "from": "<FROM>",
    "to": "<TO>",
    "type": "<TYPE>",
    "status": "<STATUS>",
    "pricingCategory": "<PRICING_CATEGORY>",
    "bidPricingFlag": "<BID_PRICING_FLAG_VALUE>",
    "totalPrice": "<TOTAL_PRICE_VALUE>",
    "currency": "<CURRENCY>"
  }
}
```

## Parámetros

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

### Sobre 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.message.updated`. |
| `apiVersion` | string | Sí | La versión de la API utilizada para generar este evento. |
| `createTime` | string (date-time) | Sí | La hora en 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 | No | Carga útil de `whatsappMessage` específica del evento. |
| `whatsappGroup` | object | No | Carga útil de `whatsappGroup` específica del evento. |

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

#### whatsappMessage

| Parámetro | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `id` | string | Sí | ID único del mensaje. |
| `wamid` | string | No | El ID del mensaje original en la plataforma de WhatsApp. |
| `wabaId` | string | Sí | ID de la cuenta de WhatsApp Business. |
| `from` | string | Sí | El número de teléfono del remitente en formato [E.164](https://en.wikipedia.org/wiki/E.164). |
| `to` | string | No | El número de teléfono del destinatario en formato [E.164](https://en.wikipedia.org/wiki/E.164). |
| `recipient` | string | No | El valor del destinatario enviado en la solicitud cuando se usó un BSUID o un BSUID principal. |
| `recipientUserId` | string | No | El ID de usuario con ámbito de WhatsApp Business (BSUID) del destinatario. |
| `toUserId` | string | No | Alias de `recipientUserId` conservado por compatibilidad. |
| `parentRecipientUserId` | string | No | El ID de usuario principal con ámbito de WhatsApp Business del destinatario. |
| `toParentUserId` | string | No | Alias de `parentRecipientUserId` conservado por compatibilidad. |
| `customerProfile` | object | No | La información del perfil del destinatario, incluido el nombre de usuario de WhatsApp cuando esté disponible. |
| `conversation` | object | No | WhatsApp define una conversación como una sesión de mensajería de 24 horas entre una persona y una empresa. Este campo está presente después de que el estado del mensaje cambie a `sent`. Consulta también [Precios basados en conversaciones](https://developers.facebook.com/docs/whatsapp/pricing). |
| `type` | string | No | Tipo de mensaje saliente de WhatsApp. Consulta también [mensajes de WhatsApp](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages).Valores: `template`, `text`, `image`, `audio`, `video`, `document`, `sticker`, `location`, `interactive`, `contacts`, `reaction`. |
| `template` | object | No | Utilízalo para enviar un mensaje `template` de WhatsApp. |
| `text` | object | No | Objeto de texto del mensaje de WhatsApp. |
| `image` | object | No | Utilízalo para mensajes de tipo `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 | Utilízalo para mensajes de tipo `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). |
| `audio` | object | No | Utilízalo para mensajes de tipo `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 | Utilízalo para mensajes de tipo `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). |
| `sticker` | object | No | Utilízalo para mensajes de tipo `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). |
| `location` | object | No | Utilízalo para mensajes de tipo `location`. |
| `interactive` | object | No | Utilízalo para mensajes de tipo `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. |
| `externalId` | string | No | Cadena única (recomendada) para hacer referencia al objeto. Puede ser un número de pedido o similar, y puede utilizarse para conciliar el objeto con tus sistemas internos. |
| `category` | string | No | La categoría de Direct Send, como `utility` o `authentication`, cuando corresponda. |
| `ttlSeconds` | integer | No | La vida útil del mensaje configurada para Direct Send en segundos, cuando corresponda. |
| `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`: un mensaje enviado por tu empresa no se pudo enviar.</li><li>`sent`: un mensaje enviado por tu empresa está en tránsito dentro de los sistemas de WhatsApp.</li><li>`delivered`: un mensaje enviado por tu empresa se entregó en el dispositivo del usuario.</li><li>`read`: un mensaje enviado por tu empresa fue leído por el usuario.</li></ul> |
| `errorCode` | string | No | Código de error cuando el estado del mensaje es `failed`. |
| `errorMessage` | string | No | Mensaje de error cuando el estado del mensaje es `failed`. |
| `createTime` | string (date-time) | No | La fecha y hora en que se creó este mensaje, con formato [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Por ejemplo, `2022-06-01T12:00:00.000Z`. |
| `updateTime` | string (date-time) | No | La fecha y hora en que se actualizó este mensaje, con formato [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Por ejemplo, `2022-06-01T12:00:00.000Z`. |
| `sendTime` | string (date-time) | No | La fecha y hora en que este mensaje `status` cambió a `sent`, con formato [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Por ejemplo, `2022-06-01T12:00:00.000Z`. |
| `deliverTime` | string (date-time) | No | La fecha y hora en que este mensaje `status` cambió a `delivered`, con formato [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Por ejemplo, `2022-06-01T12:00:00.000Z`. |
| `readTime` | string (date-time) | No | La fecha y hora en que este mensaje `status` cambió a `read`, con formato [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Por ejemplo, `2022-06-01T12:00:00.000Z`. |
| `totalPrice` | number (double) | No | Precio total de este mensaje. **Nota: Es solo un precio estimado cuando el `status` es `accepted` o `sent`. Pasa a ser el precio definitivo una vez que el mensaje se entrega, es decir, cuando el `status` es `delivered` o `read`.**Para los mensajes con Max Price, el importe en el momento del envío es una estimación. Usa el evento whatsapp.message.updated de entregado/leído para ver el cargo final; maxBid no es el importe final cobrado. |
| `currency` | string | No | Moneda del precio. [Código de moneda ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). |
| `regionCode` | string | No | El [código de región](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) del número de teléfono del destinatario. |
| `pricingCategory` | string | No | La categoría de precios del mensaje. **Nota: Es solo una categoría de precios estimada cuando el `status` es `accepted` o `sent`. Pasa a ser definitiva una vez que el mensaje se entrega, es decir, cuando el `status` es `delivered` o `read`.**Valores: `referral_conversion`, `authentication`, `authentication_international`, `marketing`, `marketing_lite`, `utility`, `service`, `marketing_lite_bidding`. |
| `pricingModel` | string | No | El modelo de precios del mensaje.<ul><li>`PMP`: Se aplica el precio por mensaje.</li><li>`CBP`: Se aplica el precio basado en conversaciones.</li></ul> |
| `pricingType` | string | No | El tipo de precio del mensaje. Este campo solo está disponible en el modo PMP (precio por mensaje).<ul><li>`regular`: Indica que el mensaje es facturable.</li><li>`free_customer_service`: Indica que el mensaje es gratuito porque fue un mensaje con plantilla de utilidad o un mensaje sin plantilla enviado dentro de una ventana de servicio al cliente.</li><li>`free_entry_point`: Indica que el mensaje es gratuito porque forma parte de una conversación de punto de entrada gratuito.</li></ul> |
| `whatsappApiError` | object | No | El objeto de error original devuelto por WhatsApp. Consulta [Handling Errors](https://developers.facebook.com/docs/graph-api/guides/error-handling), [Cloud API Error Codes](https://developers.facebook.com/docs/whatsapp/cloud-api/support/error-codes). |
| `bizType` | string | No | Puede estar vacío o ser uno de `whatsapp` o `verify`. El valor predeterminado es `whatsapp`.<ul><li>`whatsapp`: Indica que el mensaje se envía a través del producto **WhatsApp**.</li><li>`verify`: Indica que el mensaje se envía a través del producto **Verify**.</li></ul> |
| `verificationId` | string | No | El ID de verificación. Solo se incluye cuando `bizType` es `verify`. |
| `bidPricingFlag` | boolean | No | True cuando el mensaje se identifica como un mensaje de puja de Marketing Lite. Su pricingCategory es marketing\_lite\_bidding. |

> [accordion] whatsappMessage.customerProfile
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `name` | string | No | Nombre de la cuenta de WhatsApp. |
> | `username` | string | No | Nombre de usuario de WhatsApp. |

> [accordion] whatsappMessage.conversation
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | ID único para el objeto. |
> | `type` | string | No | Tipo de conversación. Se cobra cuando se entrega el primer mensaje empresarial de esta conversación, lo que da inicio a la sesión de conversación de 24 horas. Por lo tanto, el tipo de conversación puede ser `null` antes de que se entregue el primer mensaje.<ul><li>`FREE_ENTRY`: Conversaciones que se originan a partir de un [punto de entrada gratuito](https://developers.facebook.com/docs/whatsapp/pricing#free-entry-point-conversations).</li><li>`FREE_TIER`: Conversaciones dentro del [nivel gratuito](https://developers.facebook.com/docs/whatsapp/pricing#free-tier-conversations) mensual.</li><li>`REGULAR`: Cualquier conversación que no se haya originado en un [punto de entrada gratuito](https://developers.facebook.com/docs/whatsapp/pricing#free-entry-point-conversations) o que supere la asignación mensual del [nivel gratuito](https://developers.facebook.com/docs/whatsapp/pricing#free-tier-conversations).</li></ul> |
> | `originType` | string | No | Indica la [categoría de conversación](https://developers.facebook.com/docs/whatsapp/pricing#conversation-categories). Esto también puede denominarse punto de entrada de la conversación.<ul><li>`referral_conversion`: Indica una [conversación de punto de entrada gratuito](https://developers.facebook.com/docs/whatsapp/pricing#free-entry-point-conversations).</li><li>`authentication`: Indica que la conversación fue abierta por una empresa al enviar al cliente una plantilla categorizada como `AUTHENTICATION`. Esto se aplica siempre que hayan pasado más de 24 horas desde el último mensaje del cliente.</li><li>`marketing`: Indica que la conversación fue abierta por una empresa al enviar al cliente una plantilla categorizada como `MARKETING`. Esto se aplica siempre que hayan pasado más de 24 horas desde el último mensaje del cliente.</li><li>`utility`: Indica que la conversación fue abierta por una empresa al enviar al cliente una plantilla categorizada como `UTILITY`. Esto se aplica siempre que hayan pasado más de 24 horas desde el último mensaje del cliente.</li><li>`service`: Indica que la conversación fue abierta por una empresa al responder a un cliente dentro de una [ventana de atención al cliente](https://developers.facebook.com/docs/whatsapp/pricing#customer-service-windows).</li></ul> |
> | `expireTime` | string (date-time) | No | Fecha en la que caduca la conversación, formateada en [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). P. ej., `2022-06-01T12:00:00.000Z`. |

> [accordion] whatsappMessage.template
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `name` | string | Sí | Nombre de la plantilla. |
> | `language` | object | Sí | Contiene un objeto de idioma. Especifica el idioma en el que se puede renderizar la plantilla. |
> | `components` | object\[] | No | **Obligatorio cuando la plantilla especificada contiene variables o archivos multimedia.** Array de objetos de componentes que contienen los parámetros del mensaje. |

> [accordion] whatsappMessage.template.language
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `code` | string | Sí | El código del idioma o la configuración regional que se usará. Admite tanto formatos de solo idioma como de idioma\_región (p. ej., en y en\_US). Consulta [Idiomas admitidos](https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/supported-languages) para ver todos los códigos. |
> | `policy` | string | No | La política de idioma que debe seguir el mensaje. Valor predeterminado (y única opción admitida): `deterministic`, lo que significa que WhatsApp entrega la plantilla de mensaje exactamente en el idioma y la configuración regional solicitados. |

> [accordion] whatsappMessage.template.components\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `type` | string | Sí | Tipo de componente.Valores: `header`, `body`, `button`, `limited_time_offer`, `carousel`, `order_status`. |
> | `sub_type` | string | No | **Obligatorio cuando el tipo es `button`.** Tipo de botón.<ul><li>`quick_reply`: hace referencia a un botón de respuesta rápida creado previamente que permite al cliente responder con un mensaje predefinido.</li><li>`url`: hace referencia a un botón de URL creado previamente que permite al cliente visitar la URL generada al añadir el parámetro de texto al prefijo de URL predefinido en la plantilla.</li><li>`copy_code`: hace referencia a un botón para copiar código creado previamente que permite al cliente copiar una cadena de texto (definida cuando la plantilla se envía en un mensaje de plantilla) en el portapapeles del dispositivo al ser pulsado por el usuario de la app.</li><li>`catalog`: hace referencia a un botón de catálogo creado previamente que permite al cliente ver tu catálogo de productos.</li><li>`mpm`: hace referencia a un botón MPM (mensaje de varios productos) creado previamente que permite al cliente explorar productos y secciones.</li><li>`flow`: hace referencia a un botón de flow creado previamente que permite al cliente interactuar con un [flow](https://developers.facebook.com/docs/whatsapp/flows).</li><li>`order_details`: hace referencia a un botón de detalles del pedido creado previamente que permite al cliente ver los detalles de un pedido.</li></ul> |
> | `index` | integer (int32) | No | **Obligatorio cuando `type` = `button`. No se utiliza para los otros tipos.** Indica el orden en que debe aparecer el botón, si la plantilla utiliza varios botones. Los botones tienen índice basado en cero, por lo que establecer el valor en 0 hará que el botón aparezca primero, y otro botón con un índice de 1 aparecerá a continuación, etc.Mínimo: `0`. Máximo: `9`. |
> | `parameters` | object\[] | No | **Obligatorio cuando `type` = `button`, o hay variables en el componente de plantilla correspondiente, o el formato del `HEADER` de la plantilla es multimedia (`IMAGE`, `VIDEO` o `DOCUMENT`).** Matriz de objetos de parámetros con el contenido del mensaje. |
> | `cards` | object\[] | No | Úsalo para componentes de tipo `carousel`. Proporciona componentes de tarjeta que contienen los parámetros del mensaje. |

> [accordion] whatsappMessage.template.components\[].parameters\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `type` | string | No | **Obligatorio.** Tipo de parámetro del componente.<ul><li>`text`: se utiliza cuando el tipo de componente de la plantilla es `BODY`, o el formato del componente `HEADER` es `TEXT`.</li><li>`image`: se utiliza cuando el componente `HEADER` de la plantilla es `IMAGE`.</li><li>`gif`: se utiliza cuando el componente `HEADER` de la plantilla es `GIF`.</li><li>`video`: se utiliza cuando el componente `HEADER` de la plantilla es `VIDEO`.</li><li>`document`: se utiliza cuando el componente `HEADER` de la plantilla es `DOCUMENT`.</li><li>`payload`: se utiliza cuando el tipo de botón del componente de la plantilla es `QUICK_REPLY`.</li><li>`coupon_code`: se utiliza cuando el tipo de botón del componente de la plantilla es `COPY_CODE`.</li><li>`limited_time_offer`: se utiliza cuando el tipo de componente de la plantilla es `LIMITED_TIME_OFFER`.</li><li>`action`: se utiliza cuando el tipo de botón del componente de la plantilla es `CATALOG`, `MPM`, `FLOW` u `ORDER_DETAILS`.</li><li>`order_status`: se utiliza cuando la subcategoría de la plantilla es `ORDER_STATUS`.</li><li>`location`: se utiliza cuando el componente `HEADER` de la plantilla es `LOCATION`.</li></ul> |
> | `text` | string | No | **Obligatorio cuando `type` = `text`.** El texto del mensaje. Para el componente de encabezado, el límite de caracteres es de 60 caracteres. Para el componente de cuerpo, el límite de caracteres es de 1024 caracteres. Para botones de URL, indica el sufijo proporcionado por el desarrollador que se añade al prefijo de URL predefinido en la plantilla. |
> | `payload` | string | No | Obligatorio para botones de tipo `quick_reply`. Carga útil (payload) definida por el desarrollador que se devuelve al hacer clic en el botón, además del texto visible en el botón. |
> | `coupon_code` | string | No | **Obligatorio cuando `type` = `coupon_code`.** El código de cupón que se copiará cuando el cliente pulse el botón. |
> | `image` | object | No | **Obligatorio cuando el formato del componente `HEADER` de la plantilla es `IMAGE`.** |
> | `gif` | object | No | **Obligatorio cuando el formato del componente `HEADER` de la plantilla es `GIF`.** |
> | `video` | object | No | **Obligatorio cuando el formato del componente `HEADER` de la plantilla es `VIDEO`.** |
> | `document` | object | No | **Obligatorio cuando el formato del componente `HEADER` de la plantilla es `DOCUMENT`.** |
> | `limited_time_offer` | object | No | Obligatorio si la plantilla utiliza detalles de vencimiento de la oferta. |
> | `action` | object | No | Obligatorio si la plantilla utiliza botones de catálogo o MPM (mensaje de varios productos). |
> | `order_status` | object | No | Los campos del objeto se enumeran a continuación. |
> | `location` | object | No | **Obligatorio cuando `type` = `location`.** |

> [accordion] whatsappMessage.template.components\[].parameters\[].image
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | \*\*Usa esto cuando el contenido 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): Debes proporcionar `id` o `link`. Si se proporcionan ambos, `id` tiene prioridad. |
> | `link` | string | No | \*\*Usa esto cuando envíes contenido multimedia directamente desde tu servidor.\*\*El protocolo y la URL del contenido multimedia que se enviará. Úsalo solo con URL HTTP/HTTPS.Nota: WhatsApp Cloud API almacena en caché los recursos multimedia durante 10 minutos. Para garantizar el contenido más reciente, añade parámetros de consulta aleatorios a la URL.Nota: Debes proporcionar `id` o `link`. Si se proporcionan ambos, `id` tiene prioridad y `link` se ignorará. |
> | `caption` | string | No | Describe el contenido multimedia especificado (`image`, `gif`, `video` o `document`). No aplicable en el `header` de mensajes de `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre de archivo del documento específico. Úsalo solo con contenido multimedia `document`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].gif
>
> | Parámetro | Tipo | Requerido | Descripción |
> | - | - | - | - |
> | `id` | string | No | \*\*Usa esto cuando el contenido 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): Debes proporcionar `id` o `link`. Si se proporcionan ambos, `id` tiene prioridad. |
> | `link` | string | No | \*\*Usa esto cuando envíes contenido multimedia directamente desde tu servidor.\*\*El protocolo y la URL del contenido multimedia que se enviará. Úsalo solo con URL HTTP/HTTPS.Nota: WhatsApp Cloud API almacena en caché los recursos multimedia durante 10 minutos. Para garantizar el contenido más reciente, añade parámetros de consulta aleatorios a la URL.Nota: Debes proporcionar `id` o `link`. Si se proporcionan ambos, `id` tiene prioridad y `link` se ignorará. |
> | `caption` | string | No | Describe el contenido multimedia especificado (`image`, `gif`, `video` o `document`). No aplicable en el `header` de mensajes de `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre de archivo del documento específico. Úsalo solo con contenido multimedia `document`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].video
>
> | Parámetro | Tipo | Requerido | Descripción |
> | - | - | - | - |
> | `id` | string | No | \*\*Usa esto cuando el contenido 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): Debes proporcionar `id` o `link`. Si se proporcionan ambos, `id` tiene prioridad. |
> | `link` | string | No | \*\*Usa esto cuando envíes contenido multimedia directamente desde tu servidor.\*\*El protocolo y la URL del contenido multimedia que se enviará. Úsalo solo con URL HTTP/HTTPS.Nota: WhatsApp Cloud API almacena en caché los recursos multimedia durante 10 minutos. Para garantizar el contenido más reciente, añade parámetros de consulta aleatorios a la URL.Nota: Debes proporcionar `id` o `link`. Si se proporcionan ambos, `id` tiene prioridad y `link` se ignorará. |
> | `caption` | string | No | Describe el archivo multimedia `image`, `gif`, `video` o `document` especificado. No es aplicable en el `header` de mensajes `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre del archivo para el documento específico. Úsalo solo con archivos multimedia `document`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].document
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | \*\*Usa esto cuando el archivo multimedia se sube 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 a enviar. Úsalo únicamente 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` será ignorado. |
> | `caption` | string | No | Describe el archivo multimedia `image`, `gif`, `video` o `document` especificado. No es aplicable en el `header` de mensajes `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre del archivo para el documento específico. Úsalo solo con archivos multimedia `document`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].limited\_time\_offer
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `expiration_time_ms` | integer (int64) | No | **Obligatorio.** Hora de vencimiento del código de oferta en formato de marca de tiempo UNIX en milisegundos. |

> [accordion] whatsappMessage.template.components\[].parameters\[].action
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `thumbnail_product_retailer_id` | string | No | **Opcional.** Úsalo para mensajes de plantilla de catálogo y MPM. Número SKU del artículo. Etiquetado como Content ID en el Administrador de ventas. La miniatura de este artículo se utilizará como imagen del encabezado del mensaje. Si se omite el objeto `parameters`, se utilizará la imagen del producto del primer artículo de tu catálogo. |
> | `sections` | object\[] | No | Úsalo para plantillas MPM. Secciones de productos. Puedes definir hasta 10 secciones. |
> | `flow_token` | string | No | Úsalo para botones `FLOW`. Token de Flow generado por la empresa para servir como identificador. El valor predeterminado es `unused`. |
> | `flow_action_data` | object | No | Úsalo para botones `FLOW`. Objeto JSON con la carga útil de datos para la primera pantalla. |
> | `order_details` | object | No | Obligatorio para botones `order_details`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.sections\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `title` | string | No | Texto del título de la sección. Máximo 24 caracteres. No se admite Markdown.Longitud máxima: `24`. |
> | `product_items` | object\[] | No | Arreglo de números SKU de productos. Hay un mínimo de 1 producto por sección y un máximo de 30 productos en todas las secciones. |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.sections\[].product\_items\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `product_retailer_id` | string | No | Número SKU del artículo que quieres que aparezca en la sección. Los números SKU están etiquetados como **Content ID** en el [Commerce Manager](https://business.facebook.com/commerce). |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `currency` | string | Sí | La moneda de este pedido. Actualmente, el único valor admitido es `INR`. |
> | `order` | object | Sí | Proporciona `status`, `items`, `subtotal`, `tax`, etc. del pedido. |
> | `reference_id` | string | Sí | Identificador único del pedido proporcionado por el negocio. Distingue entre mayúsculas y minúsculas, no puede ser una cadena vacía, 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 un negocio determinado. 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 la exclusividad del reference\_id. |
> | `total_amount` | object | Sí | El importe total del pedido. |
> | `type` | string | Sí | El tipo de artículos que se pagan en este pedido. Las opciones admitidas actualmente son `digital-goods` y `physical-goods`. |
> | `payment_settings` | object\[] | Sí | Configuración de pago para el pedido. |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.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 incluye 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 el negocio. 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 ser útil al enviar una cancelación. El límite máximo de caracteres es de 120 caracteres.Longitud máxima: `120`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.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í | Nombre del artículo que se mostrará al usuario. No puede superar los 60 caracteres.Longitud máxima: `60`. |
> | `image` | object | No | Imagen personalizada del 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 importe 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.template.components\[].parameters\[].action.order\_details.order.items\[].image
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | \*\*Usa esto cuando el contenido multimedia se suba a los servidores de WhatsApp.\*\*Proporciona el ID del objeto multimedia obtenido de la API de subida de contenido 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 | \*\*Usa esto cuando envíes contenido multimedia directamente desde tu servidor.\*\*El protocolo y la URL del contenido multimedia que se enviará. Úsalo solo con URLs HTTP/HTTPS.Nota: WhatsApp Cloud API almacena en caché los recursos multimedia durante 10 minutos. Para garantizar el contenido más reciente, añade parámetros de consulta aleatorios 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 de `image`, `gif`, `video` o `document`. No se aplica en el `header` de mensajes de `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre de archivo del documento específico. Úsalo solo con contenido multimedia de tipo `document`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.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 un valor de 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.template.components\[].parameters\[].action.order\_details.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 | Usa 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 | 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 es de 60 caracteres.Longitud máxima: `60`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.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 | Usa 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 | 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 es de 60 caracteres.Longitud máxima: `60`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.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 | Usa 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 | 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 es de 60 caracteres.Longitud máxima: `60`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.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 | Usa 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 es de 60 caracteres.Longitud máxima: `60`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.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. 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 es de 60 caracteres.Longitud máxima: `60`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.order.expiration
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `timestamp` | string | Sí | Cadena de marca de tiempo UTC en segundos del momento en que el pedido debe caducar. El umbral mínimo es de 300 segundos. |
> | `description` | string | No | Explicación de texto para la caducidad.Longitud máxima: `120`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.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 el desplazamiento. 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 es de 60 caracteres.Longitud máxima: `60`. |

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

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.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 de BillDesk, Razorpay, PayU o Zaakpay para aceptar pagos. |
> | `configuration_name` | string | Sí | El nombre de la configuración de pago preconfigurada que se utilizará para este pedido; no debe superar los 60 caracteres. Este valor debe coincidir con una configuración de pago configurada en 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.template.components\[].parameters\[].action.order\_details.payment\_settings\[].payment\_gateway.billdesk
>
> | Parámetro | Tipo | Requerido | 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.template.components\[].parameters\[].action.order\_details.payment\_settings\[].payment\_gateway.payu
>
> | Parámetro | Tipo | Requerido | 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.template.components\[].parameters\[].action.order\_details.payment\_settings\[].payment\_gateway.razorpay
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `receipt` | string | No | Número de recibo que corresponde a este pedido, configurado para tu referencia interna. Se 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.template.components\[].parameters\[].action.order\_details.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.template.components\[].parameters\[].order\_status
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `reference_id` | string | No | Identificador único del pedido proporcionado por el negocio. |
> | `order` | object | No | Proporciona solo `status` y `description` de este pedido para mensajes de `order_status`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].order\_status.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 "Revisar y pagar" y solo mostramos el botón "Pagar ahora" en la burbuja de detalles del pedido. |
> | `catalog_id` | string | No | Identificador único del catálogo de Facebook que utiliza el negocio. 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 en el 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 costo de envío del pedido. |
> | `discount` | object | No | El monto de descuento para este pedido. |
> | `expiration` | object | No | Vencimiento de este pedido. |
> | `description` | string | No | **Opcional.** Texto para compartir información relacionada con el estado. Podría ser útil al enviar una cancelación. El límite máximo de caracteres es de 120 caracteres.Longitud máxima: `120`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].order\_status.order.items\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `retailer_id` | string | No | Content ID de un artículo en el pedido de tu catálogo. |
> | `name` | string | Sí | 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 menor que el importe original. Si se incluye, este campo se utiliza para calcular el importe 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.template.components\[].parameters\[].order\_status.order.items\[].image
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | \*\*Usa esto cuando el contenido multimedia se suba a los servidores de WhatsApp.\*\*Proporciona el ID del objeto multimedia obtenido de la API de subida de contenido 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 bien `link`. Si se proporcionan ambos, `id` tiene prioridad. |
> | `link` | string | No | \*\*Usa esto cuando envíes contenido multimedia directamente desde tu servidor.\*\*El protocolo y la URL del contenido multimedia que se va a enviar. Úsalo solo con URLs HTTP/HTTPS.Nota: La Cloud API de WhatsApp almacena en caché los recursos multimedia durante 10 minutos. Para garantizar el contenido más reciente, añade parámetros de consulta aleatorios a la URL.Nota: Debe proporcionarse `id` o bien `link`. Si se proporcionan ambos, `id` tiene prioridad y `link` se ignorará. |
> | `caption` | string | No | Describe el contenido 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. Usa solo con contenido multimedia `document`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].order\_status.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 desplazamiento (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 incentivo. Si el pedido tiene incentivo, el comerciante debe definir esta información. El límite máximo de caracteres es 60.Longitud máxima: `60`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].order\_status.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 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 caracteres.Longitud máxima: `60`. |
> | `discount_program_name` | string | No | Úsalo solo para `discount`. Texto utilizado para definir pedidos con incentivo. Si el pedido tiene incentivo, el comerciante debe definir esta información. El límite máximo de caracteres es de 60 caracteres.Longitud máxima: `60`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].order\_status.order.subtotal
>
> | Parámetro | Tipo | Requerido | 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 de caracteres es de 60 caracteres.Longitud máxima: `60`. |
> | `discount_program_name` | string | No | Úsalo solo para `discount`. Texto utilizado para definir pedidos con incentivo. Si el pedido tiene incentivo, el comerciante debe definir esta información. El límite máximo de caracteres es de 60 caracteres.Longitud máxima: `60`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].order\_status.order.tax
>
> | Parámetro | Tipo | Requerido | 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 de caracteres es de 60 caracteres.Longitud máxima: `60`. |
> | `discount_program_name` | string | No | Úsalo solo para `discount`. Texto utilizado para definir pedidos con incentivo. Si el pedido tiene incentivo, el comerciante debe definir esta información. El límite máximo de caracteres es de 60 caracteres.Longitud máxima: `60`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].order\_status.order.shipping
>
> | Parámetro | Tipo | Requerido | 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 de caracteres 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 es de 60 caracteres.Longitud máxima: `60`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].order\_status.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 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 es de 60 caracteres.Longitud máxima: `60`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].order\_status.order.expiration
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `timestamp` | string | Sí | Cadena con la marca de tiempo UTC en segundos correspondiente al momento en que el pedido debe expirar. El umbral mínimo es de 300 segundos. |
> | `description` | string | No | Explicación de texto para el vencimiento.Longitud máxima: `120`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].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.template.components\[].cards\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `card_index` | integer (int32) | No | **Obligatorio.** Orden con índice base cero en el que aparece la tarjeta dentro del carrusel de tarjetas. 0 indica la primera tarjeta, 1 indica la segunda tarjeta, etc.Mínimo: `0`. Máximo: `9`. |
> | `components` | object\[] | No | Componente de tarjeta. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `type` | string | Sí | Tipo de componente.Valores: `header`, `body`, `button`. |
> | `sub_type` | string | No | **Obligatorio cuando el tipo es `button`.** Tipo de botón.<ul><li>`quick_reply`: se refiere a un botón de respuesta rápida creado previamente que permite al cliente enviar un mensaje predefinido.</li><li>`url`: se refiere a un botón de URL creado previamente que permite al cliente visitar la URL generada al añadir el parámetro de texto al prefijo de URL predefinido en la plantilla.</li></ul> |
> | `index` | integer (int32) | No | **Obligatorio cuando `type` = `button`. No se usa para los demás tipos.** Indica el orden en el que debe aparecer el botón, si la plantilla usa varios botones. Los botones tienen índice con base cero, por lo que establecer el valor en 0 hará que el botón aparezca primero, y otro botón con índice 1 aparecerá a continuación, etc.Mínimo: `0`. Máximo: `9`. |
> | `parameters` | object\[] | No | **Obligatorio cuando `type` = `button`, o hay variables en el componente de plantilla correspondiente, o el formato del componente de tarjeta `HEADER` es multimedia (`IMAGE`, `VIDEO`).** Matriz de objetos de parámetros con el contenido del mensaje. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `type` | string | No | **Obligatorio.** Tipo de parámetro del componente.<ul><li>`text`: se usa cuando el tipo de componente de la plantilla es `BODY`, o el formato del componente `HEADER` es `TEXT`.</li><li>`image`: se usa cuando el componente `HEADER` de la plantilla es `IMAGE`.</li><li>`gif`: se usa cuando el componente `HEADER` de la plantilla es `GIF`.</li><li>`video`: se usa cuando el componente `HEADER` de la plantilla es `VIDEO`.</li><li>`document`: se usa cuando el componente `HEADER` de la plantilla es `DOCUMENT`.</li><li>`payload`: se usa cuando el tipo de botón del componente de plantilla es `QUICK_REPLY`.</li><li>`coupon_code`: se usa cuando el tipo de botón del componente de plantilla es `COPY_CODE`.</li><li>`limited_time_offer`: se usa cuando el tipo de componente de la plantilla es `LIMITED_TIME_OFFER`.</li><li>`action`: se usa cuando el tipo de botón del componente de plantilla es `CATALOG`, `MPM`, `FLOW` o `ORDER_DETAILS`.</li><li>`order_status`: se usa cuando la subcategoría de la plantilla es `ORDER_STATUS`.</li><li>`location`: se usa cuando el componente `HEADER` de la plantilla es `LOCATION`.</li></ul> |
> | `text` | string | No | **Obligatorio cuando `type` = `text`.** El texto del mensaje. Para el componente header, el límite de caracteres es de 60 caracteres. Para el componente body, el límite de caracteres es de 1024 caracteres. Para los botones url, indica el sufijo proporcionado por el desarrollador que se añade a la URL de prefijo predefinida en la plantilla. |
> | `payload` | string | No | Obligatorio para botones `quick_reply`. Carga útil definida por el desarrollador que se devuelve cuando se hace clic en el botón, además del texto mostrado en el botón. |
> | `coupon_code` | string | No | **Obligatorio cuando `type` = `coupon_code`.** El código de cupón que se copiará cuando el cliente toque el botón. |
> | `image` | object | No | **Obligatorio cuando el formato `HEADER` de la plantilla es `IMAGE`.** |
> | `gif` | object | No | **Obligatorio cuando el formato `HEADER` de la plantilla es `GIF`.** |
> | `video` | object | No | **Obligatorio cuando el formato `HEADER` de la plantilla es `VIDEO`.** |
> | `document` | object | No | **Obligatorio cuando el formato de la plantilla `HEADER` sea `DOCUMENT`.** |
> | `limited_time_offer` | object | No | Obligatorio si la plantilla utiliza detalles de vencimiento de la oferta. |
> | `action` | object | No | Obligatorio si la plantilla utiliza botones de catálogo o MPM (mensaje de varios productos). |
> | `order_status` | object | No | Los campos del objeto se indican a continuación. |
> | `location` | object | No | **Obligatorio cuando `type` = `location`.** |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].image
>
> | 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 Cloud API de WhatsApp almacena en caché los recursos multimedia durante 10 minutos. Para asegurarte de tener el contenido más reciente, agrega 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 archivo multimedia `image`, `gif`, `video` o `document` especificado. No aplicable en el `header` de mensajes `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre de archivo del documento específico. Úsalo solo con archivos multimedia `document`. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].gif
>
> | 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 Cloud API de WhatsApp almacena en caché los recursos multimedia durante 10 minutos. Para asegurarte de tener el contenido más reciente, agrega 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 archivo multimedia `image`, `gif`, `video` o `document` especificado. No aplicable en el `header` de mensajes `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre de archivo del documento específico. Úsalo solo con archivos multimedia `document`. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].video
>
> | 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, prevalece `id`. |
> | `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 URLs HTTP/HTTPS.Nota: WhatsApp Cloud API 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, prevalece `id` y se ignorará `link`. |
> | `caption` | string | No | Describe el archivo multimedia especificado de `image`, `gif`, `video` o `document`. No aplicable en el `header` de mensajes de `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre de archivo para el documento específico. Úsalo solo con archivos multimedia `document`. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].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, prevalece `id`. |
> | `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 URLs HTTP/HTTPS.Nota: WhatsApp Cloud API 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, prevalece `id` y se ignorará `link`. |
> | `caption` | string | No | Describe el archivo multimedia especificado de `image`, `gif`, `video` o `document`. No aplicable en el `header` de mensajes de `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre de archivo para el documento específico. Úsalo solo con archivos multimedia `document`. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].limited\_time\_offer
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `expiration_time_ms` | integer (int64) | No | **Obligatorio.** Hora de vencimiento del código de oferta en formato de marca de tiempo UNIX en milisegundos. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `thumbnail_product_retailer_id` | string | No | **Opcional.** Se utiliza para mensajes de plantilla de catálogo y MPM. Número de SKU del artículo. Etiquetado como Content ID en el Administrador de ventas. La miniatura de este artículo se utilizará como la imagen del encabezado del mensaje. Si se omite el objeto `parameters`, se utilizará la imagen del producto del primer artículo de tu catálogo. |
> | `sections` | object\[] | No | Se utiliza para plantillas MPM. Secciones de productos. Puedes definir hasta 10 secciones. |
> | `flow_token` | string | No | Se usa para los botones `FLOW`. Token de Flow generado por el negocio para servir como identificador. El valor predeterminado es `unused`. |
> | `flow_action_data` | object | No | Se usa para los botones `FLOW`. Objeto JSON con el payload de datos para la primera pantalla. |
> | `order_details` | object | No | Obligatorio para los botones `order_details`. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.sections\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `title` | string | No | Texto del título de la sección. Máximo 24 caracteres. No se admite Markdown.Longitud máxima: `24`. |
> | `product_items` | object\[] | No | Array de números SKU de productos. Hay un mínimo de 1 producto por sección y un máximo de 30 productos en todas las secciones. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.sections\[].product\_items\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `product_retailer_id` | string | No | Número SKU del artículo que quieres que aparezca en la sección. Los números SKU están etiquetados como **Content ID** en el [Commerce Manager](https://business.facebook.com/commerce). |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `currency` | string | Sí | La moneda de este pedido. Actualmente, el único valor admitido es `INR`. |
> | `order` | object | Sí | Proporciona información del pedido: `status`, `items`, `subtotal`, `tax`, etc. |
> | `reference_id` | string | Sí | Identificador único para el pedido proporcionado por el negocio. Distingue entre mayúsculas y minúsculas, no puede ser una cadena vacía, solo puede contener letras en inglés, números, guiones bajos, guiones o puntos, y no debe exceder los 35 caracteres.El `reference_id` debe ser único para cada mensaje order\_details de un negocio determinado. 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 la exclusividad del reference\_id. |
> | `total_amount` | object | Sí | El importe total del pedido. |
> | `type` | string | Sí | El tipo de artículos que se pagan en este pedido. Las opciones admitidas actualmente son `digital-goods` y `physical-goods`. |
> | `payment_settings` | object\[] | Sí | Configuración de pago para el pedido. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.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 "Revisar y pagar" y solo mostramos el botón "Pagar ahora" 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 incluir 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 costo de envío del pedido. |
> | `discount` | object | No | El monto 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 ser útil al enviar una cancelación. El límite máximo de caracteres es de 120 caracteres.Longitud máxima: `120`. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.order.items\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `retailer_id` | string | No | Content ID 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 del 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í | El número 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.template.components\[].cards\[].components\[].parameters\[].action.order\_details.order.items\[].image
>
> | 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): Debes proporcionar `id` o `link`. Si se proporcionan ambos, `id` tiene prioridad. |
> | `link` | string | No | \*\*Usa esto al enviar archivos multimedia directamente desde tu servidor.\*\*El protocolo y la URL del archivo multimedia que se enviará. Utilízalo únicamente con URLs HTTP/HTTPS.Nota: WhatsApp Cloud API 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: Debes proporcionar `id` o `link`. Si se proporcionan ambos, `id` tiene prioridad y `link` se ignorará. |
> | `caption` | string | No | Describe el archivo multimedia `image`, `gif`, `video` o `document` especificado. 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 contenido multimedia `document`. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.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 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 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 60.Longitud máxima: `60`. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.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 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 60.Longitud máxima: `60`. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.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 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 60.Longitud máxima: `60`. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.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 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 caracteres.Longitud máxima: `60`. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.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 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 caracteres.Longitud máxima: `60`. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.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 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 caracteres.Longitud máxima: `60`. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.order.expiration
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `timestamp` | string | Sí | Una cadena de marca de tiempo UTC en segundos con la hora en que el pedido debería caducar. El umbral mínimo es de 300 segundos. |
> | `description` | string | No | Explicación de texto para la caducidad.Longitud máxima: `120`. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.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 | Ú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 incentivo. Si el pedido tiene incentivo, el comercio debe definir esta información. El límite máximo es de 60 caracteres.Longitud máxima: `60`. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.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.template.components\[].cards\[].components\[].parameters\[].action.order\_details.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 de 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 establecida en el Administrador de WhatsApp Business.Longitud máxima: `60`. |
> | `billdesk` | object | No | Información adicional para BillDesk. Los campos definidos por el usuario (extra) se usan 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 usan 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 usan 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.template.components\[].cards\[].components\[].parameters\[].action.order\_details.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.template.components\[].cards\[].components\[].parameters\[].action.order\_details.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.template.components\[].cards\[].components\[].parameters\[].action.order\_details.payment\_settings\[].payment\_gateway.razorpay
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `receipt` | string | No | Número de recibo que corresponde a este pedido, configurado para tu referencia interna. Se 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 limitado a 256 caracteres. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.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.template.components\[].cards\[].components\[].parameters\[].order\_status
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `reference_id` | string | No | Identificador único del pedido proporcionado por la empresa. |
> | `order` | object | No | Proporciona solo `status` y `description` de este pedido para mensajes `order_status`. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].order\_status.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 sobre impuestos de este pedido. |
> | `shipping` | object | No | El costo de envío del pedido. |
> | `discount` | object | No | El monto de 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 ser útil al enviar cancelaciones. El límite máximo de caracteres es 120 caracteres.Longitud máxima: `120`. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].order\_status.order.items\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `retailer_id` | string | No | ID de contenido para un artículo del pedido desde tu catálogo. |
> | `name` | string | Sí | El nombre del artículo que se mostrará al usuario. No puede exceder los 60 caracteres.Longitud máxima: `60`. |
> | `image` | object | No | Imagen personalizada del 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 menor que el importe original. Si se incluye, este campo se utiliza para calcular el importe del subtotal. |
> | `quantity` | integer (int32) | Sí | El número 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.template.components\[].cards\[].components\[].parameters\[].order\_status.order.items\[].image
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | \*\*Usa esto cuando los archivos multimedia se suban 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 | \*\*Usa esto al enviar archivos multimedia directamente desde tu servidor.\*\*El protocolo y la URL del archivo multimedia que se enviará. Utilízalo únicamente con URLs HTTP/HTTPS.Nota: WhatsApp Cloud API 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: Debes proporcionar `id` o `link`. Si proporcionas ambos, `id` tendrá prioridad y se ignorará `link`. |
> | `caption` | string | No | Describe el archivo multimedia `image`, `gif`, `video` o `document` especificado. No aplicable en el `header` de mensajes `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre de archivo para el documento específico. Usa solo con archivos multimedia `document`. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].order\_status.order.items\[].amount
>
> | Parámetro | Tipo | Requerido | 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 | Usa solo para `tax`, `shipping` o `discount`. Descripción del importe. El límite máximo de caracteres es 60 caracteres.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 caracteres.Longitud máxima: `60`. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].order\_status.order.items\[].sale\_amount
>
> | Parámetro | Tipo | Requerido | 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 | Usa solo para `tax`, `shipping` o `discount`. Descripción del importe. El límite máximo de caracteres es 60 caracteres.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 caracteres.Longitud máxima: `60`. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].order\_status.order.subtotal
>
> | Parámetro | Tipo | Requerido | 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 | Usa solo para `tax`, `shipping` o `discount`. Descripción del importe. El límite máximo de caracteres es 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.template.components\[].cards\[].components\[].parameters\[].order\_status.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.template.components\[].cards\[].components\[].parameters\[].order\_status.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.template.components\[].cards\[].components\[].parameters\[].order\_status.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.template.components\[].cards\[].components\[].parameters\[].order\_status.order.expiration
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `timestamp` | string | Sí | Una cadena de marca de tiempo UTC en segundos del momento en que el pedido debe caducar. El umbral mínimo es de 300 segundos. |
> | `description` | string | No | Explicación de texto para la caducidad.Longitud máxima: `120`. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].location
>
> | Parámetro | Tipo | Requerido | 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.text
>
> | Parámetro | Tipo | Requerido | 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 deseas 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 deseas incluir un cuadro de vista previa de URL. La mayoría de las veces, el destinatario 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>La empresa ha enviado una plantilla de mensaje al usuario.</li><li>El usuario inicia una conversación con un enlace de "clic para chatear".</li><li>El usuario agrega el número de teléfono de la empresa a su libreta de direcciones e inicia una conversación. Valor predeterminado: `false`.</li></ul> |

> [accordion] whatsappMessage.image
>
> | Parámetro | Tipo | Requerido | Descripción |
> | - | - | - | - |
> | `id` | string | No | \*\*Usa esto cuando el archivo multimedia se sube a los servidores de WhatsApp.\*\*Proporciona el ID del objeto multimedia obtenido de la API de carga de contenido 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 | \*\*Usa esto al enviar archivos multimedia directamente desde tu servidor.\*\*El protocolo y la URL del archivo multimedia que se enviará. Úsalo solo con URL HTTP/HTTPS.Nota: WhatsApp Cloud API almacena en caché los recursos multimedia durante 10 minutos. Para garantizar el contenido más reciente, añade parámetros de consulta aleatorios 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 archivo multimedia `image`, `gif`, `video` o `document` especificado. No aplicable en el `header` de mensajes `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre de archivo del documento específico. Usa solo con archivos multimedia `document`. |

> [accordion] whatsappMessage.video
>
> | Parámetro | Tipo | Requerido | 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 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): Debes 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á. Usa solo con URL HTTP/HTTPS.Nota: WhatsApp Cloud API 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: Debes proporcionar `id` o `link`. Si se proporcionan ambos, `id` tiene prioridad y `link` se ignorará. |
> | `caption` | string | No | Describe el archivo multimedia `image`, `gif`, `video` o `document` especificado. No aplicable en el `header` de mensajes `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre de archivo para el documento específico. Usa solo con archivos multimedia `document`. |

> [accordion] whatsappMessage.audio
>
> | Parámetro | Tipo | Requerido | 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 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): Debes 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á. Usa solo con URL HTTP/HTTPS.Nota: WhatsApp Cloud API 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: Debes proporcionar `id` o `link`. Si se proporcionan ambos, `id` tiene prioridad y `link` se ignorará. |
> | `caption` | string | No | Describe el archivo multimedia `image`, `gif`, `video` o `document` especificado. No aplicable en el `header` de mensajes `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre de archivo para el documento específico. Usa solo con archivos multimedia `document`. |

> [accordion] whatsappMessage.document
>
> | Parámetro | Tipo | Requerido | 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 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): Debes 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á. Usa solo con URL HTTP/HTTPS.Nota: WhatsApp Cloud API 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: Debes proporcionar `id` o `link`. Si se proporcionan ambos, `id` tiene prioridad y `link` se ignorará. |
> | `caption` | string | No | Describe el archivo multimedia `image`, `gif`, `video` o `document` especificado. No aplicable en el `header` de mensajes de `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre de archivo para el documento específico. Úsalo solo con archivos multimedia `document`. |

> [accordion] whatsappMessage.sticker
>
> | 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: WhatsApp Cloud API almacena en caché los recursos multimedia durante 10 minutos. Para garantizar 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 archivo multimedia `image`, `gif`, `video` o `document` especificado. No aplicable en el `header` de mensajes de `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre de archivo para el documento específico. Úsalo solo con archivos multimedia `document`. |

> [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.</li><li>`list`: Úsalo para mensajes de lista.</li><li>`cta_url`: Úsalo para mensajes con botón de URL de llamada a la acción (CTA).</li><li>`product`: Úsalo para mensajes de un solo producto.</li><li>`product_list`: Úsalo para mensajes de varios productos.</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 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 | Requerido | Descripción |
> | - | - | - | - |
> | `buttons` | object\[] | No | Requerido para Reply Buttons. Puedes tener hasta 3 botones. |
> | `button` | string | No | Requerido para List Messages. Contenido del botón. No puede ser una cadena vacía y debe ser único dentro del mensaje. Se admiten emojis, no markdown. Longitud máxima: 20 caracteres.Longitud máxima: `20`. |
> | `catalog_id` | string | No | Requerido para Single Product Messages y Multi-Product Messages. Identificador único del catálogo de Facebook vinculado a tu cuenta de WhatsApp Business. Este ID se puede obtener a través del [Administrador de ventas de Meta](https://business.facebook.com/commerce). |
> | `product_retailer_id` | string | No | Requerido para Single Product Messages y Multi-Product Messages. Identificador único del producto en un catálogo. |
> | `sections` | object\[] | No | Requerido para List Messages y Multi-Product Messages. Matriz de objetos de sección. Mínimo 1, máximo 10. |
> | `name` | string | No | Nombre de la acción. Requerido para botones de llamada a la acción (CTA).<ul><li>`cta_url`: Úsalo para botones de llamada a la acción (CTA) con URL.</li><li>`catalog_message`: Úsalo para Catalog Messages.</li><li>`send_location`: Úsalo para botones de solicitud de ubicación.</li><li>`flow`: Úsalo para botones de 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. Requerido para botones de llamada a la acción (CTA). |

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

> [accordion] whatsappMessage.interactive.action.buttons\[].reply
>
> | Parámetro | Tipo | Requerido | 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, 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 iniciales o finales al establecer el ID.Longitud máxima: `256`. |

> [accordion] whatsappMessage.interactive.action.sections\[]
>
> | Parámetro | Tipo | Requerido | Descripción |
> | - | - | - | - |
> | `title` | string | No | **Requerido 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 en 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 con múltiples productos. Matriz de objetos de producto. Hay 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 la 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 con múltiples productos. 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 de 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 la imagen del encabezado del mensaje. |
> | `flow_message_version` | string | No | Usa para botones `flow`. El valor debe ser "3". |
> | `flow_token` | string | No | Usa para botones `flow`. Token de Flow generado por la empresa para servir como identificador. El valor predeterminado es `unused`. |
> | `flow_id` | string | No | Obligatorio condicionalmente para botones `flow`. ID único del Flow proporcionado por WhatsApp. No se puede usar con el parámetro `flow_name`. |
> | `flow_name` | string | No | Obligatorio condicionalmente para botones `flow`. El nombre del Flow que creaste. No se puede usar con el parámetro `flow_id`. Cambiar el nombre del Flow requerirá 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 | Usa 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, se debe omitir. |
> | `reference_id` | string | No | Obligatorio para botones de tipo `review_y_pay`. Identificador único para el 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 de order\_details de una empresa determinada. Si es necesario enviar varios mensajes de order\_details para el mismo pedido, se recomienda incluir un número de secuencia en el reference\_id (por ejemplo, "BM345A-12") para garantizar la exclusividad del reference\_id. |
> | `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`. Una matriz 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 es necesaria 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 los botones `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`, solo proporciona el pedido `status` y `description`. |
> | `payment_settings` | object\[] | No | Obligatorio para los botones `review_and_pay`. Ajustes 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 física 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 calle, etc.). No puede superar los 100 caracteres.Longitud máxima: `100`. |
> | `address_line2` | string | No | Dirección de envío (punto de referencia, zona, etc.). No puede superar 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 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
>
> | 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 costo de envío del pedido. |
> | `discount` | object | No | El monto del descuento de 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 de caracteres es de 120.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 del 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 monto 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 | \*\*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 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): Debes proporcionar `id` o `link`. Si proporcionas 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 Cloud API de WhatsApp 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: Debes proporcionar `id` o `link`. Si proporcionas ambos, `id` tiene prioridad y se ignorará `link`. |
> | `caption` | string | No | Describe el archivo multimedia especificado de `image`, `gif`, `video` o `document`. No aplica en el caso de mensajes de `header` de `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre de archivo para el documento específico. Úsalo únicamente con archivos multimedia de `document`. |

> [accordion] whatsappMessage.interactive.action.parameters.order.items\[].amount
>
> | Parámetro | Tipo | Requerido | 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.items\[].sale\_amount
>
> | Parámetro | Tipo | Requerido | 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.subtotal
>
> | Parámetro | Tipo | Requerido | 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 de 60 caracteres.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 de 60 caracteres.Longitud máxima: `60`. |

> [accordion] whatsappMessage.interactive.action.parameters.order.tax
>
> | Parámetro | Tipo | Requerido | 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 | Usa solo para `tax`, `shipping` o `discount`. Descripción del importe. El límite máximo de caracteres es de 60 caracteres.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 de 60 caracteres.Longitud máxima: `60`. |

> [accordion] whatsappMessage.interactive.action.parameters.order.shipping
>
> | Parámetro | Tipo | Requerido | 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 | Usa solo para `tax`, `shipping` o `discount`. Descripción del importe. El límite máximo de caracteres es de 60 caracteres.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 de 60 caracteres.Longitud máxima: `60`. |

> [accordion] whatsappMessage.interactive.action.parameters.order.discount
>
> | Parámetro | Tipo | Requerido | 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 | Usa solo para `tax`, `shipping` o `discount`. Descripción del importe. El límite máximo de caracteres es de 60 caracteres.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 de 60 caracteres.Longitud máxima: `60`. |

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

> [accordion] whatsappMessage.interactive.action.parameters.payment\_settings\[]
>
> | Parámetro | Tipo | Requerido | 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 | Requerido | 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 utilizará para este pedido, y no debe exceder los 60 caracteres. Este valor debe coincidir con una configuración de pago configurada en el Administrador de WhatsApp Business.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 específico. 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 específico. 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 específico. 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 | Requerido | 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 | Requerido | 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 que corresponde a este pedido, configurado 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 te gustaría utilizar.<ul><li>`text`: Se usa para mensajes de lista, botones de respuesta y mensajes de varios productos.</li><li>`video`: Se usa para botones de respuesta.</li><li>`image`: Se usa para botones de respuesta.</li><li>`document`: Se usa para botones de respuesta.</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 de `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 | Se usa para mensajes de `image`, `gif`, `video`, `audio`, `document` o `sticker`. Consulta también [Tipos de medios admitidos](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media#supported-media-types). |
> | `document` | object | No | Úsalo para mensajes de `image`, `gif`, `video`, `audio`, `document` o `sticker`. Consulta también [Tipos de medios admitidos](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 se sube a los servidores de WhatsApp.\*\*Proporciona el ID del objeto multimedia obtenido de la API de subida de archivos 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): Debes proporcionar `id` o `link`. Si proporcionas ambos, `id` tendrá 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á. Usa solo con URL HTTP/HTTPS.Nota: La API Cloud de WhatsApp almacena en caché los recursos multimedia durante 10 minutos. Para asegurar el contenido más reciente, añade parámetros de consulta aleatorios a la URL.Nota: Debes proporcionar `id` o `link`. Si proporcionas ambos, `id` tendrá prioridad y `link` se ignorará. |
> | `caption` | string | No | Describe el archivo multimedia `image`, `gif`, `video` o `document` especificado. No se aplica en el `header` de mensajes de `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre de archivo para el documento específico. Usa 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 se sube a los servidores de WhatsApp.\*\*Proporciona el ID del objeto multimedia obtenido de la API de subida de archivos 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): Debes proporcionar `id` o `link`. Si proporcionas ambos, `id` tendrá 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á. Usa solo con URL HTTP/HTTPS.Nota: La API Cloud de WhatsApp almacena en caché los recursos multimedia durante 10 minutos. Para asegurar el contenido más reciente, añade parámetros de consulta aleatorios a la URL.Nota: Debes proporcionar `id` o `link`. Si proporcionas ambos, `id` tendrá prioridad y `link` se ignorará. |
> | `caption` | string | No | Describe el archivo multimedia `image`, `gif`, `video` o `document` especificado. No se aplica en el `header` de mensajes de `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre de archivo para el documento específico. Usa solo con archivos multimedia `document`. |

> [accordion] whatsappMessage.interactive.header.document
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | \*\*Usa esto cuando el archivo multimedia se sube a los servidores de WhatsApp.\*\*Proporciona el ID del objeto multimedia obtenido de la API de subida de archivos 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): Debes proporcionar `id` o `link`. Si proporcionas ambos, `id` tendrá 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á. Usa solo con URL HTTP/HTTPS.Nota: La API Cloud de WhatsApp almacena en caché los recursos multimedia durante 10 minutos. Para asegurar el contenido más reciente, añade parámetros de consulta aleatorios a la URL.Nota: Debes proporcionar `id` o `link`. Si proporcionas ambos, `id` tendrá prioridad y `link` se ignorará. |
> | `caption` | string | No | Describe el archivo multimedia `image`, `gif`, `video` o `document` especificado. No aplicable en el `header` de mensajes `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre de archivo del documento específico. Úsalo solo con archivos multimedia `document`. |

> [accordion] whatsappMessage.interactive.footer
>
> | Parámetro | Tipo | Requerido | 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 | Requerido | Descripción |
> | - | - | - | - |
> | `addresses` | object\[] | No | Los elementos del array se describen a continuación. |
> | `birthday` | string | No | Cadena con formato `YYYY-MM-DD`. |
> | `emails` | object\[] | No | Los elementos del array 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 proporcionada con la carga útil del contacto compartido. |
> | `origin` | string | No | Establecido en `contact_request` cuando el usuario compartió el contacto en respuesta a un mensaje request-contact-info. |

> [accordion] whatsappMessage.contacts\[].addresses\[]
>
> | Parámetro | Tipo | Requerido | Descripción |
> | - | - | - | - |
> | `street` | string | No | Número y nombre 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 | Requerido | 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 | Requerido | Descripción |
> | - | - | - | - |
> | `formatted_name` | string | Sí | Nombre completo, tal como aparece habitualmente. |
> | `first_name` | string | No | Nombre de pila. |
> | `last_name` | string | No | Apellido. |
> | `middle_name` | string | No | Segundo nombre. |
> | `suffix` | string | No | Sufijo del nombre. |
> | `prefix` | string | No | Prefijo del nombre. |

> [accordion] whatsappMessage.contacts\[].org
>
> | Parámetro | Tipo | Requerido | Descripción |
> | - | - | - | - |
> | `company` | string | No | Nombre de la empresa del contacto. |
> | `department` | string | No | Nombre del departamento del contacto. |
> | `title` | string | No | Cargo o título 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 recibes 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. |

> [accordion] whatsappMessage.whatsappApiError
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `message` | string | Sí | Una descripción del error legible por humanos. |
> | `code` | string | Sí | Un código de error. |
> | `type` | string | No | Tipo de error. |
> | `error_subcode` | string | No | Código adicional sobre el error. |
> | `error_user_msg` | string | No | El mensaje que se mostrará al usuario. El idioma del mensaje se basa en la configuración regional de la solicitud de la API. |
> | `error_user_title` | string | No | El título del cuadro de diálogo, si se muestra. El idioma del mensaje se basa en la configuración regional de la solicitud de la API. |
> | `fbtrace_id` | string | No | Identificador interno de soporte. Al reportar un error relacionado con una llamada a la Graph API, incluye el fbtrace\_id para ayudarnos a encontrar datos de registro para la depuración. |
> | `error_data` | string or object | No | Datos adicionales sobre el error. Una cadena o mapa.<ul><li>Para las API de plantilla, este campo es una cadena que describe el motivo del error.</li><li>Para las API de mensajes, este campo es un mapa con la propiedad `details` que describe el motivo del error.</li></ul> |

#### whatsappGroup

| Parámetro | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `wabaId` | string | No | ID de la cuenta de WhatsApp Business. |
| `displayPhoneNumber` | string | No | El número de teléfono visible de los metadatos del webhook de WhatsApp. |
| `phoneNumberId` | string | No | ID del número de teléfono de WhatsApp. |
| `field` | string | No | Campo del webhook de WhatsApp que generó el evento de grupo.Valores: `group_lifecycle_update`, `group_participants_update`, `group_settings_update`, `group_status_update`, `messages`. |
| `type` | string | No | Tipo de evento específico de grupo de WhatsApp.Valores: `group_create`, `group_delete`, `group_participants_add`, `group_participants_remove`, `group_join_request_created`, `group_join_request_revoked`, `group_settings_update`, `group_suspend`, `group_suspend_cleared`, `message_status`. |
| `requestId` | string | No | El ID de solicitud devuelto por una operación asincrónica de la API de grupos. |
| `status` | string | No | Estado del webhook de grupo de WhatsApp.Valores: `created`, `failed`, `deleted`, `added`, `removed`, `left`, `requested`, `revoked`, `updated`, `suspended`, `suspend_cleared`, `sent`, `delivered`, `read`, `expired`. |
| `groupId` | string | No | ID del grupo de WhatsApp. |
| `messageId` | string | No | ID de mensaje de grupo de YCloud. Solo está presente cuando el evento de estado está vinculado a un mensaje grupal de salida guardado. |
| `inviteLink` | string | No | El enlace de invitación al grupo. |
| `reason` | string | No | El motivo de un evento de participante, solicitud de unión o eliminación. |
| `initiatedBy` | string | No | Indica quién inició un evento de eliminación de participantes.Valores: `business`, `participant`. |
| `joinRequestId` | string | No | El ID de la solicitud de unión. |
| `waId` | string | No | ID de usuario de WhatsApp para un evento de un solo participante. |
| `recipientUserId` | string | No | ID de usuario delimitado por la empresa (Business-scoped user ID) para un evento de un solo participante. |
| `parentRecipientUserId` | string | No | ID de usuario principal delimitado por la empresa (Parent business-scoped user ID) para un evento de un solo participante. |
| `customerProfile` | object | No | Información del perfil de cliente de WhatsApp. |
| `subject` | string | No | El asunto del grupo. |
| `description` | string | No | La descripción del grupo. |
| `joinApprovalMode` | string | No | Modo de aprobación de unión al grupo de WhatsApp.<ul><li>`approval_required`: los miembros nuevos deben ser aprobados antes de unirse.</li><li>`auto_approve`: los miembros nuevos pueden unirse sin aprobación.</li></ul> |
| `addedParticipants` | object\[] | No | Participantes agregados al grupo. |
| `removedParticipants` | object\[] | No | Participantes eliminados del grupo. |
| `failedParticipants` | object\[] | No | Participantes que no pudieron agregarse o eliminarse. |
| `settings` | object\[] | No | Detalles de actualización de la configuración del grupo. |
| `errors` | object\[] | No | Errores devueltos por WhatsApp. |
| `contacts` | object\[] | No | Contactos incluidos en los webhooks de estado de mensajes de grupo. |
| `statuses` | object\[] | No | Detalles del estado del mensaje de grupo. |
| `webhookTime` | string (date-time) | No | La hora a la que WhatsApp activó este webhook. |
| `dedupeKey` | string | No | Clave de idempotencia para deduplicar eventos de webhook del grupo. |

> [accordion] whatsappGroup.customerProfile
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `name` | string | No | Nombre de perfil de WhatsApp. |
> | `username` | string | No | Nombre de usuario de WhatsApp. |

> [accordion] whatsappGroup.addedParticipants\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `input` | string | No | La entrada original del participante. |
> | `waId` | string | No | ID de usuario de WhatsApp. |
> | `recipientUserId` | string | No | ID de usuario delimitado por la empresa. |
> | `parentRecipientUserId` | string | No | ID de usuario principal delimitado por la empresa. |
> | `customerProfile` | object | No | Información del perfil de cliente de WhatsApp. |
> | `errors` | object\[] | No | Errores devueltos por WhatsApp para este participante. |

> [accordion] whatsappGroup.addedParticipants\[].customerProfile
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `name` | string | No | Nombre de perfil de WhatsApp. |
> | `username` | string | No | Nombre de usuario de WhatsApp. |

> [accordion] whatsappGroup.removedParticipants\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `input` | string | No | La entrada original del participante. |
> | `waId` | string | No | ID de usuario de WhatsApp. |
> | `recipientUserId` | string | No | ID de usuario delimitado por la empresa. |
> | `parentRecipientUserId` | string | No | ID de usuario principal delimitado por la empresa. |
> | `customerProfile` | object | No | Información del perfil de cliente de WhatsApp. |
> | `errors` | object\[] | No | Errores devueltos por WhatsApp para este participante. |

> [accordion] whatsappGroup.removedParticipants\[].customerProfile
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `name` | string | No | Nombre de perfil de WhatsApp. |
> | `username` | string | No | Nombre de usuario de WhatsApp. |

> [accordion] whatsappGroup.failedParticipants\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `input` | string | No | La entrada original del participante. |
> | `waId` | string | No | ID de usuario de WhatsApp. |
> | `recipientUserId` | string | No | ID de usuario delimitado por la empresa. |
> | `parentRecipientUserId` | string | No | ID de usuario principal delimitado por la empresa. |
> | `customerProfile` | object | No | Información del perfil de cliente de WhatsApp. |
> | `errors` | object\[] | No | Errores devueltos por WhatsApp para este participante. |

> [accordion] whatsappGroup.failedParticipants\[].customerProfile
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `name` | string | No | Nombre de perfil de WhatsApp. |
> | `username` | string | No | Nombre de usuario de WhatsApp. |

> [accordion] whatsappGroup.settings\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `name` | string | No | Nombre de la configuración.Valores: `profile_picture`, `group_subject`, `group_description`. |
> | `text` | string | No | Valor de texto para actualizaciones del asunto o de la descripción. |
> | `updateSuccessful` | boolean | No | Indica si la actualización de la configuración se realizó correctamente. |
> | `mimeType` | string | No | Tipo MIME para actualizaciones de la foto de perfil. |
> | `sha256` | string | No | Hash SHA-256 para actualizaciones de la foto de perfil. |
> | `errors` | object\[] | No | Errores devueltos por WhatsApp para esta configuración. |

> [accordion] whatsappGroup.contacts\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `customerProfile` | object | No | Información del perfil de cliente de WhatsApp. |
> | `waId` | string | No | ID de usuario de WhatsApp. |
> | `recipientUserId` | string | No | ID de usuario con ámbito de empresa. |
> | `parentRecipientUserId` | string | No | ID de usuario principal con ámbito de empresa. |

> [accordion] whatsappGroup.contacts\[].customerProfile
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `name` | string | No | Nombre del perfil de WhatsApp. |
> | `username` | string | No | Nombre de usuario de WhatsApp. |

> [accordion] whatsappGroup.statuses\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | ID del mensaje de WhatsApp. |
> | `status` | string | No | Estado del mensaje.Valores: `sent`, `delivered`, `read`, `failed`, `expired`. |
> | `timestamp` | integer (int64) | No | Marca de tiempo Unix que indica cuándo se actualizó el estado del mensaje. |
> | `recipientId` | string | No | ID del grupo destinatario. |
> | `recipientType` | string | No | Tipo de destinatario.Valores: `group`. |
> | `recipientParticipantId` | string | No | ID de usuario de WhatsApp del participante destinatario. |
> | `recipientUserId` | string | No | ID de usuario con ámbito de empresa del participante destinatario. |
> | `parentRecipientUserId` | string | No | ID de usuario principal con ámbito de empresa del participante destinatario. |
> | `conversation` | object | No | Objeto de conversación de WhatsApp incluido en los webhooks de estado de mensajes grupales. |
> | `pricing` | object | No | Información de precios incluida en los webhooks de estado de mensajes grupales. |
> | `errors` | object\[] | No | Errores devueltos por WhatsApp. |

> [accordion] whatsappGroup.statuses\[].conversation
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | ID de la conversación. |
> | `expirationTimestamp` | integer (int64) | No | Marca de tiempo Unix que indica cuándo caduca la conversación. |
> | `origin` | object | No | Los campos del objeto se detallan a continuación. |

> [accordion] whatsappGroup.statuses\[].conversation.origin
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `type` | string | No | Tipo de origen de la conversación. |

> [accordion] whatsappGroup.statuses\[].pricing
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `billable` | boolean | No | Indica si el mensaje es facturable. |
> | `pricingModel` | string | No | Modelo de precios. |
> | `type` | string | No | Tipo de precio. |
> | `category` | string | No | Categoría sin procesar de precios de grupo reportada por Meta. YCloud no expone la asignación interna de MM Lite en este campo del webhook.Valores: `group_marketing`, `group_utility`, `group_service`. |

## 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] Cargo final para un mensaje entregado con Max Price
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_example_max_price_delivery",
>   "type": "whatsapp.message.updated",
>   "apiVersion": "v2",
>   "createTime": "2026-11-03T08:00:00.000Z",
>   "whatsappMessage": {
>     "id": "message_example_max_price",
>     "wabaId": "<WABA_ID>",
>     "from": "+12025550124",
>     "to": "+12025550123",
>     "type": "template",
>     "status": "delivered",
>     "pricingCategory": "marketing_lite_bidding",
>     "bidPricingFlag": true,
>     "totalPrice": 0.045,
>     "currency": "USD"
>   }
> }
> ```

> [accordion] Elegibilidad de tarifa internacional de autenticación
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_djeIQXaQPQyUcRFi",
>   "type": "whatsapp.message.updated",
>   "apiVersion": "v2",
>   "createTime": "2024-07-01T00:00:00.000Z",
>   "whatsappMessage": {
>     "id": "63f5d602367ea403f8175a6c",
>     "wamid": "wamid.BgNODYxN...",
>     "wabaId": "whatsapp-business-account-id",
>     "from": "+12025550124",
>     "to": "+12025550123",
>     "status": "sent",
>     "type": "template",
>     "template": {
>       "name": "login_otp",
>       "language": {
>         "code": "862031",
>         "policy": "deterministic"
>       }
>     },
>     "conversation": {
>       "id": "8078ed05301c40a08d3d1845c94ca18b",
>       "originType": "authentication",
>       "expireTime": "2024-07-01T00:00:00.000Z"
>     },
>     "pricingCategory": "authentication_international",
>     "totalPrice": 0.085,
>     "currency": "USD",
>     "sendTime": "2024-07-01T00:00:00.000Z"
>   }
> }
> ```

> [accordion] Mensaje enviado
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEVCy8eNqD9EvcFI",
>   "type": "whatsapp.message.updated",
>   "apiVersion": "v2",
>   "createTime": "2023-02-22T12:00:00.000Z",
>   "whatsappMessage": {
>     "id": "63f5d602367ea403f8175a6c",
>     "wamid": "wamid.BgNODYxN...",
>     "recipientUserId": "US.13491208655302741918",
>     "parentRecipientUserId": "US.ENT.11815799212886844830",
>     "customerProfile": {
>       "name": "Pablo M."
>     },
>     "status": "sent",
>     "pricingCategory": "marketing",
>     "totalPrice": 0.0,
>     "currency": "USD",
>     "createTime": "2022-03-01T12:00:00.000Z",
>     "sendTime": "2022-03-01T12:00:01.000Z",
>     "bizType": "whatsapp",
>     "type": "text",
>     "text": {
>       "body": "Hi there! How can we help?"
>     },
>     "externalId": "EXTERNAL-ID",
>     "wabaId": "WABA_ID",
>     "from": "+12025550123"
>   }
> }
> ```

> [accordion] Mensaje entregado
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEVCy8eNqD9EvcFI",
>   "type": "whatsapp.message.updated",
>   "apiVersion": "v2",
>   "createTime": "2023-02-22T12:00:00.000Z",
>   "whatsappMessage": {
>     "id": "63f5d602367ea403f8175a6c",
>     "wamid": "wamid.BgNODYxN...",
>     "recipientUserId": "US.13491208655302741918",
>     "parentRecipientUserId": "US.ENT.11815799212886844830",
>     "customerProfile": {
>       "name": "Pablo M.",
>       "username": "@pablomorales"
>     },
>     "status": "delivered",
>     "pricingModel": "PMP",
>     "pricingType": "regular",
>     "pricingCategory": "marketing",
>     "totalPrice": 0.0,
>     "currency": "USD",
>     "createTime": "2022-03-01T12:00:00.000Z",
>     "sendTime": "2022-03-01T12:00:01.000Z",
>     "deliverTime": "2022-03-01T12:00:02.000Z",
>     "bizType": "whatsapp",
>     "type": "text",
>     "text": {
>       "body": "Hi there! How can we help?"
>     },
>     "externalId": "EXTERNAL-ID",
>     "wabaId": "WABA_ID",
>     "from": "+12025550123"
>   }
> }
> ```

> [accordion] Mensaje leído
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEVCy8eNqD9EvcFI",
>   "type": "whatsapp.message.updated",
>   "apiVersion": "v2",
>   "createTime": "2023-02-22T12:00:00.000Z",
>   "whatsappMessage": {
>     "id": "63f5d602367ea403f8175a6c",
>     "wamid": "wamid.BgNODYxN...",
>     "recipientUserId": "US.13491208655302741918",
>     "parentRecipientUserId": "US.ENT.11815799212886844830",
>     "customerProfile": {
>       "name": "Pablo M.",
>       "username": "@pablomorales"
>     },
>     "status": "read",
>     "pricingModel": "PMP",
>     "pricingType": "regular",
>     "pricingCategory": "marketing",
>     "totalPrice": 0.0,
>     "currency": "USD",
>     "createTime": "2022-03-01T12:00:00.000Z",
>     "sendTime": "2022-03-01T12:00:01.000Z",
>     "deliverTime": "2022-03-01T12:00:02.000Z",
>     "readTime": "2022-03-01T12:00:02.000Z",
>     "bizType": "whatsapp",
>     "type": "text",
>     "text": {
>       "body": "Hi there! How can we help?"
>     },
>     "externalId": "EXTERNAL-ID",
>     "wabaId": "WABA_ID",
>     "from": "+12025550123"
>   }
> }
> ```

> [accordion] Mensaje fallido
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEVCy8eNqD9EvcFI",
>   "type": "whatsapp.message.updated",
>   "apiVersion": "v2",
>   "createTime": "2023-02-22T12:00:00.000Z",
>   "whatsappMessage": {
>     "id": "63f5d602367ea403f8175a6c",
>     "wamid": "wamid.BgNODYxN...",
>     "recipientUserId": "US.13491208655302741918",
>     "parentRecipientUserId": "US.ENT.11815799212886844830",
>     "status": "failed",
>     "errorCode": "100",
>     "errorMessage": "Parameter Invalid",
>     "whatsappApiError": {
>       "message": "(#100) Invalid parameter",
>       "type": "OAuthException",
>       "code": "100",
>       "fbtrace_id": "AwmiSOCojlAkqvjCTjGt37r",
>       "error_data": {
>         "messaging_product": "whatsapp",
>         "details": "Parameter Invalid"
>       }
>     },
>     "pricingCategory": "marketing",
>     "totalPrice": 0.0,
>     "currency": "USD",
>     "bizType": "whatsapp",
>     "type": "text",
>     "text": {
>       "body": "Hi there! How can we help?"
>     },
>     "externalId": "EXTERNAL-ID",
>     "wabaId": "WABA_ID",
>     "from": "+12025550123"
>   }
> }
> ```

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

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

Para ver guías paso a paso de situaciones concretas, consulta los [ejemplos comentados](https://docs.ycloud.com/es/api-reference/guides/examples/webhook-examples/whatsapp-business-account-updated-webhook-examples), [ejemplos comentados](https://docs.ycloud.com/es/api-reference/guides/examples/webhook-examples/whatsapp-message-updated-webhook-examples).


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