> ## 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.smb.history

> Se produce cuando se sincroniza el historial de mensajes de la aplicación WhatsApp Business.

Usa `whatsapp.smb.history` para gestionar este evento en tu endpoint de webhook.

## Desencadenadores

Se produce cuando se sincroniza el historial de mensajes de la aplicación WhatsApp Business.

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

Un evento de historial puede contener `whatsappInboundMessage` para un mensaje entrante, `whatsappMessage` para un mensaje saliente o únicamente metadatos de fragmentos. `phase` e `progress` se incluyen cuando el evento proviene de un fragmento del historial de Meta. No exijas un objeto de mensaje en cada evento de historial.

## Sintaxis

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

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "<ID>",
  "type": "whatsapp.smb.history",
  "apiVersion": "<API_VERSION>",
  "createTime": "<CREATE_TIME>",
  "phase": "<PHASE_VALUE>",
  "progress": "<PROGRESS_VALUE>",
  "whatsappInboundMessage": {
    "id": "<ID>",
    "wamid": "<WAMID>",
    "wabaId": "<WABA_ID>",
    "from": "<FROM>",
    "to": "<TO>",
    "type": "<TYPE>",
    "text": {
      "body": "<BODY>"
    },
    "customerProfile": {
      "name": "<NAME>"
    },
    "sendTime": "<SEND_TIME>"
  }
}
```

## Parámetros

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

### Envoltorio 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.smb.history`. |
| `apiVersion` | string | Sí | La versión de la API utilizada para representar este evento. |
| `createTime` | string (date-time) | Sí | La hora en que se creó este evento, en 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 |
| - | - | - | - |
| `phase` | integer (int32) | No | Se incluye cuando `type` es `whatsapp.smb.history` y el evento se generó a partir de un fragmento de historial de Meta. Identifica la fase de sincronización del fragmento. |
| `progress` | integer (int32) | No | Se incluye cuando `type` es `whatsapp.smb.history` y el evento se generó a partir de un fragmento de historial de Meta. Informa el progreso de sincronización del fragmento. |
| `whatsappInboundMessage` | object | No | Carga útil de `whatsappInboundMessage` específica del evento. |
| `whatsappMessage` | object | No | Carga útil de `whatsappMessage` específica del evento. |

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

#### whatsappInboundMessage

| Parámetro | Tipo | Obligatorio | Descripción |
| - | - | - | - |
| `id` | string | Sí | ID único para el objeto. |
| `wamid` | string | No | El ID del mensaje original en la plataforma de WhatsApp. |
| `wabaId` | string | No | ID de la cuenta de WhatsApp Business. |
| `from` | string | No | El número de teléfono del cliente que envió el mensaje a la empresa, en formato [E.164](https://en.wikipedia.org/wiki/E.164). |
| `fromUserId` | string | No | El ID de usuario con ámbito de WhatsApp Business (BSUID) del cliente. |
| `fromParentUserId` | string | No | El ID de usuario principal con ámbito de WhatsApp Business del cliente. |
| `customerProfile` | object | No | La información de perfil del cliente. |
| `to` | string | No | El número de teléfono del destinatario en formato [E.164](https://en.wikipedia.org/wiki/E.164). |
| `sendTime` | string (date-time) | No | La hora en que se envió este mensaje, en formato [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Por ejemplo, `2022-06-01T12:00:00.000Z`. |
| `type` | string | No | Tipo de mensaje entrante de WhatsApp. Consulta también el [objeto messages del webhook de WhatsApp](https://developers.facebook.com/docs/whatsapp/cloud-api/webhooks/components#messages-object).Valores: `text`, `image`, `video`, `audio`, `document`, `sticker`, `contacts`, `location`, `interactive`, `button`, `reaction`, `request_welcome`, `order`, `system`, `unsupported`. |
| `text` | object | No | Cuando la notificación describe un mensaje de texto, el objeto text proporciona el cuerpo del mensaje de texto. |
| `image` | object | No | Cuando se recibe un mensaje con contenido multimedia (`image` \| `document` \| `audio` \| `video` \| `sticker`), el cliente de la WhatsApp Business API descargará el archivo multimedia. Una vez descargado el archivo, se envía una notificación a tu Webhook. Este mensaje contiene información que identifica el objeto multimedia y te permite encontrarlo y descargarlo. |
| `video` | object | No | Cuando se recibe un mensaje con contenido multimedia (`image` \| `document` \| `audio` \| `video` \| `sticker`), el cliente de la WhatsApp Business API descargará el archivo multimedia. Una vez descargado el archivo, se envía una notificación a tu Webhook. Este mensaje contiene información que identifica el objeto multimedia y te permite encontrarlo y descargarlo. |
| `audio` | object | No | Cuando se recibe un mensaje con contenido multimedia (`image` \| `document` \| `audio` \| `video` \| `sticker`), el cliente de la WhatsApp Business API descargará el archivo multimedia. Una vez descargado el archivo, se envía una notificación a tu Webhook. Este mensaje contiene información que identifica el objeto multimedia y te permite encontrarlo y descargarlo. |
| `document` | object | No | Cuando se recibe un mensaje con contenido multimedia (`image` \| `document` \| `audio` \| `video` \| `sticker`), el cliente de la WhatsApp Business API descargará el archivo multimedia. Una vez descargado el archivo, se envía una notificación a tu Webhook. Este mensaje contiene información que identifica el objeto multimedia y te permite encontrarlo y descargarlo. |
| `sticker` | object | No | Cuando se recibe un mensaje con contenido multimedia (`image` \| `document` \| `audio` \| `video` \| `sticker`), el cliente de la WhatsApp Business API descargará el archivo multimedia. Una vez descargado el archivo, se envía una notificación a tu Webhook. Este mensaje contiene información que identifica el objeto multimedia y te permite encontrarlo y descargarlo. |
| `interactive` | object | No | Cuando un cliente ha interactuado con tu mensaje, este objeto se incluye en el objeto message. |
| `location` | object | No | Cuando recibes una notificación de la ubicación estática de un usuario, el objeto location proporciona los detalles de la ubicación. |
| `button` | object | No | Cuando el campo de tipo de mensaje se establece en `button`, este objeto se incluye en el objeto message. |
| `contacts` | object\[] | No | Los elementos del arreglo 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. |
| `order` | object | No | Cuando un cliente realiza un pedido, el tipo de mensaje se establece en `order` y se incluye este campo. |
| `system` | object | No | Cuando el tipo de mensaje se establece en `system`, se incluye este campo. Este objeto describe un cambio de número de teléfono del usuario, un cambio de BSUID o un posible cambio de identidad en WhatsApp. |
| `errors` | object\[] | No | Los elementos del arreglo se describen a continuación. |
| `context` | object | No | Contexto del mensaje. |
| `referral` | object | No | Cuando un usuario envía un mensaje a las empresas utilizando botones de llamada a la acción en [Ads that Click to WhatsApp](https://www.facebook.com/business/help/447934475640650) o en los [Facebook Page call-to-action buttons](https://www.facebook.com/help/977869848936797), este campo se incluye como un archivo adjunto. |
| `groupId` | string | No | ID del grupo de WhatsApp. Este campo se incluye cuando el mensaje entrante se envía en un grupo de WhatsApp. |

> [accordion] whatsappInboundMessage.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] whatsappInboundMessage.text
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `body` | string | No | Texto del mensaje. |

> [accordion] whatsappInboundMessage.image
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | ID del elemento multimedia. Se puede usar para eliminar el archivo multimedia si está almacenado localmente en el cliente. |
> | `link` | string | No | La URL para descargar el archivo multimedia. Ten en cuenta que se puede acceder directamente a este enlace en unos minutos para comodidad del consumidor, pero siempre debes incluir un encabezado `X-API-Key` para descargar este archivo en un plazo de un mes. |
> | `caption` | string | No | El pie de foto proporcionado para el archivo multimedia. Solo está presente si se especifica. |
> | `filename` | string | No | Nombre del archivo en el dispositivo del remitente. Solo estará presente en los mensajes multimedia de `document`. |
> | `metadata` | object | No | Metadatos correspondientes al contenido multimedia de `sticker`. |
> | `mime_type` | string | No | Tipo MIME del archivo multimedia. |
> | `sha256` | string | No | Checksum. |

> [accordion] whatsappInboundMessage.video
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | ID del elemento multimedia. Se puede usar para eliminar el archivo multimedia si está almacenado localmente en el cliente. |
> | `link` | string | No | La URL para descargar el archivo multimedia. Ten en cuenta que se puede acceder directamente a este enlace en unos minutos para comodidad del consumidor, pero siempre debes incluir un encabezado `X-API-Key` para descargar este archivo en un plazo de un mes. |
> | `caption` | string | No | El pie de foto proporcionado para el archivo multimedia. Solo está presente si se especifica. |
> | `filename` | string | No | Nombre del archivo en el dispositivo del remitente. Solo estará presente en los mensajes multimedia de `document`. |
> | `metadata` | object | No | Metadatos correspondientes al contenido multimedia de `sticker`. |
> | `mime_type` | string | No | Tipo MIME del archivo multimedia. |
> | `sha256` | string | No | Checksum. |

> [accordion] whatsappInboundMessage.audio
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | ID del elemento multimedia. Se puede usar para eliminar el archivo multimedia si está almacenado localmente en el cliente. |
> | `link` | string | No | La URL para descargar el archivo multimedia. Ten en cuenta que se puede acceder directamente a este enlace en unos minutos para comodidad del consumidor, pero siempre debes incluir un encabezado `X-API-Key` para descargar este archivo en un plazo de un mes. |
> | `caption` | string | No | El pie de foto proporcionado para el archivo multimedia. Solo está presente si se especifica. |
> | `filename` | string | No | Nombre del archivo en el dispositivo del remitente. Solo estará presente en los mensajes multimedia de `document`. |
> | `metadata` | object | No | Metadatos correspondientes al contenido multimedia de `sticker`. |
> | `mime_type` | string | No | Tipo MIME del archivo multimedia. |
> | `sha256` | string | No | Checksum. |

> [accordion] whatsappInboundMessage.document
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | ID del archivo multimedia. Se puede usar para eliminar el archivo multimedia si se almacena localmente en el cliente. |
> | `link` | string | No | La URL para descargar el archivo multimedia. Ten en cuenta que se puede acceder directamente a este enlace durante unos minutos para mayor comodidad del consumidor, pero siempre debes incluir un encabezado `X-API-Key` para descargar este archivo en un plazo de un mes. |
> | `caption` | string | No | El pie de foto o texto proporcionado para el archivo multimedia. Solo está presente si se especificó. |
> | `filename` | string | No | Nombre del archivo en el dispositivo del remitente. Solo estará presente en los mensajes multimedia de tipo `document`. |
> | `metadata` | object | No | Metadatos correspondientes al contenido multimedia de `sticker`. |
> | `mime_type` | string | No | Tipo MIME del archivo multimedia. |
> | `sha256` | string | No | Checksum. |

> [accordion] whatsappInboundMessage.sticker
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | ID del archivo multimedia. Se puede usar para eliminar el archivo multimedia si se almacena localmente en el cliente. |
> | `link` | string | No | La URL para descargar el archivo multimedia. Ten en cuenta que se puede acceder directamente a este enlace durante unos minutos para mayor comodidad del consumidor, pero siempre debes incluir un encabezado `X-API-Key` para descargar este archivo en un plazo de un mes. |
> | `caption` | string | No | El pie de foto o texto proporcionado para el archivo multimedia. Solo está presente si se especificó. |
> | `filename` | string | No | Nombre del archivo en el dispositivo del remitente. Solo estará presente en los mensajes multimedia de tipo `document`. |
> | `metadata` | object | No | Metadatos correspondientes al contenido multimedia de `sticker`. |
> | `mime_type` | string | No | Tipo MIME del archivo multimedia. |
> | `sha256` | string | No | Checksum. |

> [accordion] whatsappInboundMessage.interactive
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `type` | string | No | El tipo de mensaje interactivo recibido.<ul><li>`button_reply`: se envía cuando un cliente hace clic en un botón.</li><li>`list_reply`: se envía cuando un cliente selecciona un elemento de una lista.</li><li>`nfm_reply`: se envía cuando un cliente responde a un WhatsApp Flow (Next Feature Messaging).</li><li>`call_permission_reply`: se envía cuando un cliente responde a una solicitud de permiso de llamada.</li></ul> |
> | `button_reply` | object | No | Se envía cuando un cliente hace clic en un botón. Se devuelve cuando `type` es `button_reply`. |
> | `list_reply` | object | No | Se envía cuando un cliente selecciona un elemento de una lista. Se devuelve cuando `type` es `list_reply`. |
> | `nfm_reply` | object | No | Se envía cuando un cliente responde a un WhatsApp Flow (Next Feature Messaging). Se devuelve cuando `type` es `nfm_reply`. |
> | `call_permission_reply` | object | No | Se envía cuando un cliente responde a una solicitud de permiso de llamada. Se devuelve cuando `type` es `call_permission_reply`. Esto ocurre cuando WhatsApp pide a los usuarios que concedan permisos para devolver la llamada después de llamar a tu negocio. |

> [accordion] whatsappInboundMessage.interactive.button\_reply
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | ID único del botón en el que se hizo clic. |
> | `title` | string | No | Título de un botón. |

> [accordion] whatsappInboundMessage.interactive.list\_reply
>
> | Parámetro | Tipo | Requerido | Descripción |
> | - | - | - | - |
> | `id` | string | No | ID único del elemento de lista seleccionado. |
> | `title` | string | No | Título del elemento de lista seleccionado. |
> | `description` | string | No | Descripción de la fila seleccionada. |

> [accordion] whatsappInboundMessage.interactive.nfm\_reply
>
> | Parámetro | Tipo | Requerido | Descripción |
> | - | - | - | - |
> | `name` | string | No | El nombre del flow o formulario al que se responde. |
> | `response_json` | string | No | Cadena JSON que contiene las respuestas del usuario al flow. Contiene valores de campos del formulario y el token del flow. |
> | `body` | string | No | El contenido del cuerpo del mensaje de respuesta del flow. |

> [accordion] whatsappInboundMessage.interactive.call\_permission\_reply
>
> | Parámetro | Tipo | Requerido | Descripción |
> | - | - | - | - |
> | `response` | string | No | La respuesta del cliente a la solicitud de permiso para llamar.<ul><li>`accept`: El usuario concedió permiso para que la empresa devuelva la llamada</li><li>`reject`: El usuario rechazó el permiso para que la empresa devuelva la llamada</li></ul> |
> | `expiration_timestamp` | integer (int64) | No | La marca de tiempo (en segundos) en la que expira el permiso para llamar. Solo está presente cuando response es "accept" y is\_permanent es false. |
> | `is_permanent` | boolean | No | Indica si el permiso es permanente o temporal.<ul><li>`true`: Autorización permanente (sin vencimiento)</li><li>`false`: Autorización temporal (vence en expiration\_timestamp)</li></ul> |

> [accordion] whatsappInboundMessage.location
>
> | Parámetro | Tipo | Requerido | Descripción |
> | - | - | - | - |
> | `latitude` | number (double) | No | Latitud de la ubicación que se envía. |
> | `longitude` | number (double) | No | Longitud de la ubicación que se envía. |
> | `address` | string | No | Dirección de la ubicación. |
> | `name` | string | No | Nombre de la ubicación. |
> | `url` | string | No | URL del sitio web donde el usuario descargó la información de ubicación. |

> [accordion] whatsappInboundMessage.button
>
> | Parámetro | Tipo | Requerido | Descripción |
> | - | - | - | - |
> | `payload` | string | No | El payload de un botón configurado por la empresa en el que un cliente hizo clic como parte de un mensaje interactivo. |
> | `text` | string | No | Texto del botón. |

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

> [accordion] whatsappInboundMessage.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] whatsappInboundMessage.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] whatsappInboundMessage.contacts\[].name
>
> | Parámetro | Tipo | Requerido | Descripción |
> | - | - | - | - |
> | `formatted_name` | string | Sí | Nombre completo, tal como aparece normalmente. |
> | `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] whatsappInboundMessage.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 profesional del contacto. |

> [accordion] whatsappInboundMessage.contacts\[].phones\[]
>
> | Parámetro | Tipo | Requerido | 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] whatsappInboundMessage.contacts\[].urls\[]
>
> | Parámetro | Tipo | Requerido | Descripción |
> | - | - | - | - |
> | `url` | string | No | URL. |
> | `type` | string | No | Los valores estándar son `HOME` y `WORK`. |

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

> [accordion] whatsappInboundMessage.order
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `catalog_id` | string | No | El ID del catálogo. |
> | `product_items` | object\[] | No | Los elementos del array se describen a continuación. |
> | `text` | string | No | Mensaje de texto enviado junto con el pedido. |

> [accordion] whatsappInboundMessage.order.product\_items\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `product_retailer_id` | string | No | El identificador SKU del producto. |
> | `quantity` | integer (int32) | No | Número de artículo. |
> | `item_price` | number (double) | No | Precio unitario del artículo. |
> | `currency` | string | No | Moneda del precio. [Código de divisa ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). |

> [accordion] whatsappInboundMessage.system
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `body` | string | No | Describe el evento del mensaje del sistema. Los casos de uso admitidos son:<ul><li>Actualización del número de teléfono: para cuando un usuario cambia de un número antiguo a un número nuevo.</li><li>Actualización de identidad: para cuando la identidad de un usuario ha cambiado.</li></ul> |
> | `wa_id` | string | No | Número de teléfono proporcionado por Meta, sin el `+` inicial. Puede mantenerse sin cambios u omitirse en caso de un cambio de BSUID. |
> | `user_id` | string | No | Nuevo ID de usuario con ámbito de negocio (business-scoped user ID) suministrado por Meta para un cambio de número de teléfono o BSUID. Este campo conserva el nombre original en snake\_case. |
> | `parent_user_id` | string | No | Nuevo BSUID principal para un cambio de número de teléfono o BSUID, solo cuando esté habilitado y sea proporcionado por Meta. Este campo conserva el nombre original en snake\_case. |
> | `previous_user_id` | string | No | ID de usuario anterior con alcance comercial proporcionado por Meta. |
> | `previous_parent_user_id` | string | No | BSUID principal anterior, solo cuando esté habilitado y sea proporcionado por Meta. |
> | `type` | string | No | Los tipos admitidos son:<ul><li>`user_changed_user_id`: notificación de que un usuario cambió su BSUID. El número de teléfono puede permanecer sin cambios.</li><li>`user_changed_number`: para una notificación de cambio de número de usuario.</li><li>`user_identity_changed`: para una notificación de cambio de identidad de usuario.</li></ul> |
> | `user` | string | No | \*\*Añadido a los Webhooks para actualizaciones de identidad.\*\*El nuevo ID de usuario de WhatsApp del cliente. |
> | `new_wa_id` | string | No | \*\*Se añade a los Webhooks para actualizaciones de números de teléfono.\*\*Nuevo ID de WhatsApp del cliente. |

> [accordion] whatsappInboundMessage.errors\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `code` | string | No | El código de error. |
> | `title` | string | No | El título del error. |
> | `message` | string | No | El mensaje de error. |
> | `error_data` | object | No | Un objeto de datos de error con las siguientes propiedades:<ul><li>`details`: Una cadena que describe el motivo del error. Ejemplo: `Message type is currently not supported.`.</li></ul> |

> [accordion] whatsappInboundMessage.context
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `forwarded` | boolean | No | \*\*Se añade a los Webhooks si el mensaje se reenvió.\*\*Se establece en `true` si el mensaje recibido ha sido reenviado. |
> | `frequently_forwarded` | boolean | No | \*\*Se añade a los Webhooks si el mensaje se ha reenviado con frecuencia.\*\*Se establece en `true` si el mensaje recibido se ha reenviado más de cinco veces. |
> | `from` | string | No | \*\*Se añade a los Webhooks si el mensaje es una respuesta entrante a un mensaje enviado.\*\*El WhatsApp ID (un número de teléfono sin el prefijo '+') del remitente del mensaje enviado. |
> | `id` | string | No | \*\*Opcional.\*\*El `wamid` del mensaje enviado para una respuesta entrante. `wamid` es el ID del mensaje original en la plataforma de WhatsApp. |
> | `referred_product` | object | No | \*\*Obligatorio para mensajes de consulta de productos.\*\*Especifica el producto sobre el cual el usuario solicita información. Consulta también [Vender productos y servicios](https://developers.facebook.com/docs/whatsapp/cloud-api/guides/sell-products-and-services). |

> [accordion] whatsappInboundMessage.context.referred\_product
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `catalog_id` | string | No | El ID del catálogo. |
> | `product_retailer_id` | string | No | El identificador de SKU del producto. |

> [accordion] whatsappInboundMessage.referral
>
> | Parámetro | Tipo | Requerido | Descripción |
> | - | - | - | - |
> | `source_url` | string | No | Especifica la URL que lleva al anuncio o publicación en la que hizo clic el usuario. Al abrir esta URL, te redirige al anuncio que vio tu usuario. |
> | `source_type` | string | No | Especifica el tipo de origen del anuncio. Los valores admitidos son "ad" o "post". |
> | `source_id` | string | No | Especifica el ID de Meta para un anuncio o publicación. |
> | `headline` | string | No | Especifica el titular utilizado en el anuncio o publicación que generó el mensaje. |
> | `body` | string | No | La descripción, o cuerpo, del anuncio o publicación que generó el mensaje. |
> | `media_type` | string | No | Archivo multimedia presente en el anuncio o publicación en el que el usuario hizo clic. Los valores admitidos son "image" o "video". |
> | `image_url` | string | No | \*\*Se añade si media\_type es "image".\*\*Contiene una URL a la imagen original. |
> | `video_url` | string | No | \*\*Se añade si media\_type es "video".\*\*Contiene una URL al video. |
> | `thumbnail_url` | string | No | \*\*Se añade si media\_type es "video".\*\*Contiene una URL a la imagen en miniatura del video seleccionado. |
> | `ctwa_clid` | string | No | ID de clic generado por Meta para anuncios de clic a WhatsApp. |

#### whatsappMessage

| Parámetro | Tipo | Requerido | 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 utilizó 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 un negocio. Este campo está presente después de que el estado del mensaje cambie a `sent`. Consulta también [Conversation-Based Pricing](https://developers.facebook.com/docs/whatsapp/pricing). |
| `type` | string | No | Tipo de mensaje saliente de WhatsApp. Consulta también [WhatsApp messages](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 | Úsalo para enviar un mensaje `template` de WhatsApp. |
| `text` | object | No | Objeto de texto del mensaje de WhatsApp. |
| `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 | Ú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). |
| `audio` | 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). |
| `document` | 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). |
| `sticker` | 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). |
| `location` | object | No | Úsalo para mensajes de `location`. |
| `interactive` | object | No | Úsalo para mensajes de `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 usa para mencionar un mensaje específico al que estás respondiendo. La respuesta puede ser de cualquier tipo de mensaje. |
| `externalId` | string | No | Una cadena única (recomendada) para hacer referencia al objeto. Puede ser un número de pedido o similar, y puede usarse 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 | El tiempo de vida configurado del mensaje de 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 fue 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ó al 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 hora en que se creó este mensaje, con formato según la norma [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Por ejemplo, `2022-06-01T12:00:00.000Z`. |
| `updateTime` | string (date-time) | No | La hora en que se actualizó este mensaje, con formato según la norma [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Por ejemplo, `2022-06-01T12:00:00.000Z`. |
| `sendTime` | string (date-time) | No | La hora en que este mensaje `status` cambió a `sent`, con formato según la norma [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Por ejemplo, `2022-06-01T12:00:00.000Z`. |
| `deliverTime` | string (date-time) | No | La hora en que este mensaje `status` cambió a `delivered`, con formato según la norma [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Por ejemplo, `2022-06-01T12:00:00.000Z`. |
| `readTime` | string (date-time) | No | La hora en que este mensaje `status` cambió a `read`, con formato según la norma [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 final después de que se entrega el mensaje, es decir, cuando el `status` es `delivered` o `read`.**Para los mensajes con Max Price, el importe al momento del envío es un valor estimado. Usa el evento whatsapp.message.updated de delivered/read para el cargo definitivo; 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 precio del mensaje. **Nota: Es solo una categoría de precio estimada cuando el `status` es `accepted` o `sent`. Pasa a ser definitiva después de que se entrega el mensaje, 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 tarificación del mensaje. Este campo solo está disponible en el modo PMP (tarificación 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 de plantilla de utilidad o un mensaje que no es de plantilla enviado dentro de una ventana de servicio de atención 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 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 del objeto. |
> | `type` | string | No | Tipo de conversación. Se aplica un cargo cuando se entrega el primer mensaje comercial de esta conversación, lo que inicia 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 originadas desde un [free entry point](https://developers.facebook.com/docs/whatsapp/pricing#free-entry-point-conversations).</li><li>`FREE_TIER`: conversaciones dentro del [free tier](https://developers.facebook.com/docs/whatsapp/pricing#free-tier-conversations) mensual.</li><li>`REGULAR`: cualquier conversación que no se haya originado desde un [free entry point](https://developers.facebook.com/docs/whatsapp/pricing#free-entry-point-conversations) o que supere la asignación mensual del [free tier](https://developers.facebook.com/docs/whatsapp/pricing#free-tier-conversations).</li></ul> |
> | `originType` | string | No | Indica la [categoría de la conversación](https://developers.facebook.com/docs/whatsapp/pricing#conversation-categories). También se puede denominar punto de entrada de la conversación.<ul><li>`referral_conversion`: indica una [conversación con punto de entrada gratuito](https://developers.facebook.com/docs/whatsapp/pricing#free-entry-point-conversations).</li><li>`authentication`: indica que la conversación fue iniciada por una empresa que envió una plantilla categorizada como `AUTHENTICATION` al cliente. 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 iniciada por una empresa que envió una plantilla categorizada como `MARKETING` al cliente. 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 iniciada por una empresa que envió una plantilla categorizada como `UTILITY` al cliente. 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 iniciada por una empresa que respondió a un cliente dentro de una [ventana de servicio 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 vence la conversación, con formato [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Por ejemplo, `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 configuración regional que se va a utilizar. Acepta tanto el formato de solo idioma como el de idioma\_configuración regional (por ejemplo, en y en\_US). Consulta [Supported Languages](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. Opción predeterminada (y única 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 text al prefijo de URL predefinido en la plantilla.</li><li>`copy_code`: Hace referencia a un botón de copiar código creado previamente que permite al cliente copiar una cadena de texto (definida al enviar la plantilla en un mensaje de plantilla) al portapapeles del dispositivo cuando el usuario de la aplicación lo pulsa.</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 de MPM (mensaje multiproducto) creado previamente que permite al cliente explorar productos y secciones.</li><li>`flow`: Hace referencia a un botón de flujo 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 usa para los demás tipos.** Indica el orden en el que debe aparecer el botón, si la plantilla utiliza varios botones. Los botones se indexan desde 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 cuando hay variables en el componente de plantilla correspondiente, o el formato de `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 `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 cuando 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 header, el límite de caracteres es de 60. Para el componente body, el límite de caracteres es de 1024. Para 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 (payload) definida por el desarrollador que se devuelve al hacer clic en el botón, además del texto que se muestra en él. |
> | `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 de `HEADER` de la plantilla es `IMAGE`.** |
> | `gif` | object | No | **Obligatorio cuando el formato de `HEADER` de la plantilla es `GIF`.** |
> | `video` | object | No | **Obligatorio cuando el formato de `HEADER` de la plantilla es `VIDEO`.** |
> | `document` | object | No | **Obligatorio cuando el formato de `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 (mensajes multiproducto). |
> | `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 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: 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 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.template.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 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: 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 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.template.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 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: 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 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 de archivo para el documento específico. Úsalo solo con archivos multimedia `document`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].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): 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: La API de WhatsApp Cloud almacena en caché los recursos multimedia durante 10 minutos. Para asegurarte de obtener el contenido más reciente, añade cadenas de consulta aleatorias a la URL.Nota: Se debe proporcionar `id` o `link`. Si se proporcionan ambos, `id` tiene prioridad y `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 de archivo para el documento específico. Úsalo solo con archivos multimedia `document`. |

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

> [accordion] whatsappMessage.template.components\[].parameters\[].action
>
> | Parámetro | Tipo | Requerido | 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 ID del contenido 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 de `FLOW`. Token de flujo generado por el negocio para servir como identificador. El valor predeterminado es `unused`. |
> | `flow_action_data` | object | No | Úsalo para botones de `FLOW`. Objeto JSON con la carga útil de datos para la primera pantalla. |
> | `order_details` | object | No | Obligatorio para botones de `order_details`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.sections\[]
>
> | Parámetro | Tipo | Requerido | Descripción |
> | - | - | - | - |
> | `title` | string | No | Texto del título de la sección. Máximo 24 caracteres. Markdown no es compatible.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\[].parameters\[].action.sections\[].product\_items\[]
>
> | Parámetro | Tipo | Requerido | 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 se denominan **Content ID** en el [Commerce Manager](https://business.facebook.com/commerce). |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details
>
> | Parámetro | Tipo | Requerido | 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 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 para 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 unicidad 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í | Ajustes de pago para el pedido. |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.order
>
> | Parámetro | Tipo | Requerido | Descripción |
> | - | - | - | - |
> | `status` | string | No | El único valor admitido en el mensaje de `order_details` es `pending`. En un mensaje de `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 utilizado por 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 de impuestos 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 | Requerido | Descripción |
> | - | - | - | - |
> | `retailer_id` | string | No | ID de contenido para un artículo en el pedido de tu catálogo. |
> | `name` | string | Sí | El nombre del artículo que se mostrará al usuario. No puede superar los 60 caracteres.Longitud máxima: `60`. |
> | `image` | object | No | Imagen personalizada para el artículo que se mostrará al usuario. |
> | `amount` | object | Sí | El precio por artículo. |
> | `sale_amount` | object | No | El precio con descuento por artículo. Debe ser 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\[].parameters\[].action.order\_details.order.items\[].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 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 archivos multimedia directamente desde tu servidor.\*\*El protocolo y la URL del archivo multimedia que se enviará. Usa 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 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\[].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. 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 incluye incentivos, el comercio 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.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 | 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.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 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.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 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.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 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 es de 60 caracteres.Longitud máxima: `60`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.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. 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 | Requerido | Descripción |
> | - | - | - | - |
> | `timestamp` | string | Sí | Cadena con una marca de tiempo UTC en segundos de la hora en que el pedido debería caducar. El umbral mínimo es de 300 segundos. |
> | `description` | string | No | Explicación en texto de la caducidad.Longitud máxima: `120`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.total\_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 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 | Requerido | 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 | Requerido | 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 a utilizar para este pedido; no debe superar los 60 caracteres. Este valor debe coincidir con una configuración de pago configurada en el WhatsApp Business Manager.Longitud máxima: `60`. |
> | `billdesk` | object | No | Información adicional para BillDesk. Los campos definidos por el usuario (extra) se utilizan para almacenar cualquier información correspondiente a un pedido concreto. 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 concreto. 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 | 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\[].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\[].parameters\[].action.order\_details.payment\_settings\[].payment\_gateway.razorpay
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `receipt` | string | No | Número de recibo correspondiente a este pedido, establecido para tu referencia interna. Admite una longitud máxima de 40 caracteres con una longitud mínima superior a 0 caracteres. |
> | `notes` | object | No | El objeto puede ser pares clave-valor con un máximo de 15 claves y cada valor está limitado a 256 caracteres. |

> [accordion] whatsappMessage.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 `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 "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 | Array 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 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. 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 | Identificador de contenido (Content ID) para un artículo del 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 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 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\[].parameters\[].order\_status.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): Debe proporcionarse `id` o bien `link`. Si se proporcionan ambos, prevalece `id`. |
> | `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 URLs HTTP/HTTPS.Nota: WhatsApp Cloud API almacena en caché los recursos multimedia durante 10 minutos. Para asegurarte de obtener 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, prevalece `id` 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 de archivo para el documento específico. Úsalo solo con archivos 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. 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 incluye 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.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\[].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 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\[].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 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\[].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 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 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. 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\[].parameters\[].order\_status.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 en texto de la caducidad.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 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`: Hace referencia a un botón de respuesta rápida creado previamente que permite al cliente devolver 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></ul> |
> | `index` | integer (int32) | No | **Obligatorio cuando `type` = `button`. No se utiliza para los demás tipos.** Indica el orden en el que debe aparecer el botón, si la plantilla utiliza varios botones. Los botones tienen índice con base cero, por lo que establecer el valor en 0 hará que el botón aparezca primero, 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 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 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` o `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 header, el límite de caracteres es de 60. Para el componente body, el límite de caracteres es de 1024. Para botones de 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 de tipo `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 de `HEADER` de la plantilla es `IMAGE`.** |
> | `gif` | object | No | **Obligatorio cuando el formato de `HEADER` de la plantilla es `GIF`.** |
> | `video` | object | No | **Obligatorio cuando el formato de `HEADER` de la plantilla es `VIDEO`.** |
> | `document` | object | No | **Obligatorio cuando el formato de `HEADER` de la plantilla es `DOCUMENT`.** |
> | `limited_time_offer` | object | No | Obligatorio si la plantilla utiliza detalles de caducidad 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 sube 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á. Úsalo solo con URL 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: 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 del documento específico. Usa 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 sube 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á. Úsalo solo con URL 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: 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 del documento específico. Usa 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 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á. Úsalo solo con URL HTTP/HTTPS.Nota: WhatsApp Cloud API almacena en caché los recursos multimedia durante 10 minutos. Para asegurarte de que sea 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 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 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á. Úsalo solo con URL HTTP/HTTPS.Nota: WhatsApp Cloud API almacena en caché los recursos multimedia durante 10 minutos. Para asegurarte de que sea 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 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 caducidad del código de oferta como 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 usa para mensajes de plantillas 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 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 usa para plantillas MPM. Secciones de productos. Puedes definir hasta 10 secciones. |
> | `flow_token` | string | No | Úsalo para botones de `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 de `FLOW`. Objeto JSON con el payload de datos para la primera pantalla. |
> | `order_details` | object | No | Obligatorio para botones de `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 | Matriz de números SKU del producto. 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 deseas 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 `status`, `items`, `subtotal`, `tax`, etc. del pedido. |
> | `reference_id` | string | Sí | Identificador único del pedido proporcionado por la empresa. 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 una empresa determinada. Si es necesario enviar varios mensajes order\_details para el mismo pedido, se recomienda incluir un número de secuencia en el reference\_id (por ejemplo, "BM345A-12") para garantizar 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 "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 utilizado por 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 | Array 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 de impuestos para 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 una cancelación. El límite máximo 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 | ID de contenido para un artículo del pedido desde 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 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\[].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 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, 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á. Utilízalo únicamente 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: Se debe proporcionar `id` o `link`. Si se proporcionan ambos, prevalece `id` y se ignorará `link`. |
> | `caption` | string | No | Describe el archivo multimedia `image`, `gif`, `video` o `document` especificado. No aplicable en el caso de mensajes de `header`, `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre del archivo para el documento específico. Usa solo con archivos multimedia de tipo `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 | 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 incentivados. Si el pedido está incentivado, el comerciante 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.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 incentivados. Si el pedido está incentivado, el comerciante 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.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 incentivados. Si el pedido está incentivado, el comerciante 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.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 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.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 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.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 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.expiration
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `timestamp` | string | Sí | Una cadena de marca de tiempo UTC en segundos con la hora en la que debe expirar el pedido. El umbral mínimo es de 300 segundos. |
> | `description` | string | No | Explicación en texto para la expiración.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 el desplazamiento. 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\[].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 BillDesk, Razorpay, PayU o Zaakpay para aceptar pagos. |
> | `configuration_name` | string | Sí | El nombre de la configuración de pago preconfigurada que se usará para este pedido; no debe superar los 60 caracteres. Este valor debe coincidir con una configuración de pago configurada en el WhatsApp Business Manager.Longitud máxima: `60`. |
> | `billdesk` | object | No | Información adicional para BillDesk. Los campos definidos por el usuario (extra) se utilizan para almacenar cualquier información correspondiente a un pedido en particular. Cada campo extra tiene un límite máximo de 120 caracteres. |
> | `payu` | object | No | Información adicional para PayU. Los campos definidos por el usuario (udf) se utilizan para almacenar cualquier información correspondiente a un pedido en particular. Cada campo UDF tiene un límite máximo de 255 caracteres. |
> | `razorpay` | object | No | Información adicional para Razorpay. |
> | `zaakpay` | object | No | Información adicional para Zaakpay. Los campos definidos por el usuario (extra) se utilizan para almacenar cualquier información correspondiente a un pedido en particular. Cada campo extra tiene un límite máximo de 180 caracteres. |

> [accordion] whatsappMessage.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. 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\[].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 el negocio. |
> | `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 "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 proporcionar los siguientes campos dentro del objeto de artículos: `country_of_origin`, `importer_name` y `importer_address`. |
> | `items` | object\[] | No | Lista 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 de impuestos de este pedido. |
> | `shipping` | object | No | El costo 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 es de 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 de 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 menor que el importe original. Si se incluye, este campo se utiliza para calcular el subtotal. |
> | `quantity` | integer (int32) | Sí | La cantidad de artículos en el pedido. |
> | `country_of_origin` | string | No | Obligatorio si `catalog_id` no está presente. El país de origen del producto. |
> | `importer_name` | string | No | Obligatorio si `catalog_id` no está presente. Nombre de la empresa importadora. |
> | `importer_address` | string | No | Obligatorio si `catalog_id` no está presente. Dirección de la empresa importadora. |

> [accordion] whatsappMessage.template.components\[].cards\[].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): Se debe proporcionar `id` o `link`. Si se proporcionan ambos, prevalece `id`. |
> | `link` | string | No | \*\*Úsalo 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: La API WhatsApp Cloud almacena en caché los recursos multimedia durante 10 minutos. Para asegurarte de tener 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` tendrá prioridad y `link` se ignorará. |
> | `caption` | string | No | Describe el contenido multimedia especificado en `image`, `gif`, `video` o `document`. No se aplica en el `header` de los mensajes `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\[].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 | Ú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.items\[].sale\_amount
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `offset` | integer (int32) | Sí | Debe ser `100` para `INR`. |
> | `value` | integer (int32) | Sí | Entero positivo que representa el valor del importe multiplicado por el desplazamiento (offset). Por ejemplo, ₹12.34 tiene el valor 1234. |
> | `description` | string | No | Úsalo solo para `tax`, `shipping` o `discount`. Descripción del importe. El límite máximo de caracteres es de 60.Longitud máxima: `60`. |
> | `discount_program_name` | string | No | Úsalo solo para `discount`. Texto utilizado para definir pedidos con incentivos. Si el pedido tiene incentivos, el comerciante debe definir esta información. El límite máximo de caracteres es de 60.Longitud máxima: `60`. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].order\_status.order.subtotal
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `offset` | integer (int32) | Sí | Debe ser `100` para `INR`. |
> | `value` | integer (int32) | Sí | Entero positivo que representa el valor del importe multiplicado por el desplazamiento (offset). Por ejemplo, ₹12.34 tiene el valor 1234. |
> | `description` | string | No | Úsalo solo para `tax`, `shipping` o `discount`. Descripción del importe. El límite máximo de caracteres es de 60.Longitud máxima: `60`. |
> | `discount_program_name` | string | No | Úsalo solo para `discount`. Texto utilizado para definir pedidos con incentivos. Si el pedido tiene incentivos, el comerciante debe definir esta información. El límite máximo es de 60 caracteres.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 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\[].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 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\[].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 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\[].cards\[].components\[].parameters\[].order\_status.order.expiration
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `timestamp` | string | Sí | Cadena con una marca de tiempo UTC en segundos que indica cuándo debe caducar el pedido. El umbral mínimo es de 300 segundos. |
> | `description` | string | No | Explicación en texto sobre la caducidad.Longitud máxima: `120`. |

> [accordion] whatsappMessage.template.components\[].cards\[].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.text
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `body` | string | Sí | Obligatorio para los mensajes de texto. El texto del mensaje que puede contener URL que comiencen con http\:// o https\:// y formato. Consulta las opciones de formato disponibles aquí. Si incluyes URL en tu texto y quieres incluir un cuadro de vista previa en los mensajes de texto (preview\_url: true), asegúrate de que la URL comience con http\:// o https\:// (se prefieren las URL https\://). Debes incluir un nombre de host, ya que las direcciones IP no coincidirán. Longitud máxima: 4096 caracteres.Longitud máxima: `4096`. |
> | `preview_url` | boolean | No | De forma predeterminada, WhatsApp reconoce las URL y permite hacer clic en ellas, pero también puedes incluir un cuadro de vista previa con más información sobre el enlace. Establece este campo en true si quieres incluir un cuadro de vista previa de la 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 contactos e inicia una conversación. Valor predeterminado: `false`.</li></ul> |

> [accordion] whatsappMessage.image
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `id` | string | No | \*\*Usa esto cuando el contenido multimedia se haya subido 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 URL 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 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 `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 de tipo `document`. |

> [accordion] whatsappMessage.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 archivos multimedia de WhatsApp (\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)).Nota](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)\).Nota): Debe proporcionarse `id` o `link`. Si se proporcionan ambos, `id` tiene prioridad. |
> | `link` | string | No | \*\*Usa esto cuando envíes archivos multimedia directamente desde tu servidor.\*\*El protocolo y la URL del archivo multimedia que se enviará. Usa 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 `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. Usa solo con archivos multimedia `document`. |

> [accordion] whatsappMessage.audio
>
> | 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): Debe proporcionarse `id` o `link`. Si se proporcionan ambos, `id` tiene prioridad. |
> | `link` | string | No | \*\*Usa esto cuando envíes archivos multimedia directamente desde tu servidor.\*\*El protocolo y la URL del archivo multimedia que se enviará. Usa 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 `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. Usa solo con archivos multimedia `document`. |

> [accordion] whatsappMessage.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 archivos multimedia de WhatsApp (\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)).Nota](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)\).Nota): Debe proporcionarse `id` o `link`. Si se proporcionan ambos, `id` tiene prioridad. |
> | `link` | string | No | \*\*Usa esto cuando envíes archivos multimedia directamente desde tu servidor.\*\*El protocolo y la URL del archivo multimedia que se enviará. Usa 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 `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 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 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, prevalecerá `id`. |
> | `link` | string | No | \*\*Usa esto al enviar archivos multimedia directamente desde tu servidor.\*\*El protocolo y la URL del archivo multimedia que se va a enviar. Úsalo solo con URL HTTP/HTTPS.Nota: WhatsApp Cloud API almacena en caché los recursos multimedia durante 10 minutos. Para asegurarte de contar con 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, prevalecerá `id` 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. Ú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 (Reply Buttons).</li><li>`list`: Úsalo para mensajes de lista (List Messages).</li><li>`cta_url`: Úsalo para mensajes de botón de llamada a la acción (CTA) con URL.</li><li>`product`: Úsalo para mensajes de producto único.</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 flujo (Flow Messages).</li></ul> |
> | `action` | object | No | **Obligatorio.** Acción que deseas que realice el usuario tras 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. Objeto con el pie de página del mensaje. |

> [accordion] whatsappMessage.interactive.action
>
> | Parámetro | Tipo | Requerido | Descripción |
> | - | - | - | - |
> | `buttons` | object\[] | No | Requerido para botones de respuesta rápida. Puedes tener hasta 3 botones. |
> | `button` | string | No | Requerido para mensajes de lista. Contenido del botón. No puede ser una cadena vacía y debe ser único dentro del mensaje. Se admiten emojis, pero no markdown. Longitud máxima: 20 caracteres.Longitud máxima: `20`. |
> | `catalog_id` | string | No | Requerido para mensajes de un solo producto y mensajes multiproducto. Identificador único del catálogo de Facebook vinculado a tu cuenta de WhatsApp Business. Este ID se puede obtener a través del [Administrador de ventas de Meta](https://business.facebook.com/commerce). |
> | `product_retailer_id` | string | No | Requerido para mensajes de un solo producto y mensajes multiproducto. Identificador único del producto en un catálogo. |
> | `sections` | object\[] | No | Requerido para mensajes de lista y mensajes multiproducto. Matriz de objetos de sección. Mínimo 1, máximo 10. |
> | `name` | string | No | Nombre de la acción. Requerido para botones de llamada a la acción (CTA).<ul><li>`cta_url`: Úsalo para botones URL de llamada a la acción (CTA).</li><li>`catalog_message`: Úsalo para mensajes de catálogo.</li><li>`send_location`: Úsalo para botones de solicitud de ubicación.</li><li>`flow`: Úsalo para botones de 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 botón de respuesta rápida). |
> | `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, pero no markdown. Longitud máxima: 20 caracteres.Longitud máxima: `20`. |
> | `id` | string | No | Identificador único para tu botón. Este ID se devuelve en el Webhook cuando el usuario hace clic en el botón. Longitud máxima: 256 caracteres. No puede tener espacios iniciales ni finales al configurar 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 entre todas tus secciones. Cada fila debe tener un título (longitud máxima: 24 caracteres) y un ID (longitud máxima: 200 caracteres). Puedes añadir una descripción (longitud máxima: 72 caracteres), pero es opcional. |
> | `product_items` | object\[] | No | Obligatorio para mensajes multiproducto. Matriz de objetos de producto. 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 multiproducto. Identificador único del producto en un catálogo. |

> [accordion] whatsappMessage.interactive.action.parameters
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `display_text` | string | No | Texto del botón URL de CTA. Longitud máxima: 20 bytes.Longitud máxima: `20`. |
> | `url` | string | No | URL del botón URL de CTA. |
> | `thumbnail_product_retailer_id` | string | No | Número SKU del artículo. Etiquetado como **Content ID** en el [Commerce Manager](https://business.facebook.com/commerce). La miniatura de este artículo se utilizará como imagen del encabezado del mensaje. |
> | `flow_message_version` | string | No | Se usa para botones `flow`. El valor debe ser "3". |
> | `flow_token` | string | No | Se usa para botones `flow`. Token de Flow generado por la empresa para servir como identificador. El valor predeterminado es `unused`. |
> | `flow_id` | string | No | Condicionalmente obligatorio para botones `flow`. ID único del Flow proporcionado por WhatsApp. No se puede usar con el parámetro `flow_name`. |
> | `flow_name` | string | No | Condicionalmente obligatorio para botones `flow`. El nombre del Flow que creaste. No se puede usar con el parámetro `flow_id`. Si cambias el nombre del Flow, deberás actualizar este parámetro para que coincida con el nuevo nombre. |
> | `flow_cta` | string | No | Obligatorio para botones `flow`. Texto en el botón CTA. Por ejemplo: "Open flow!". Longitud máxima: 20 caracteres.Longitud máxima: `20`. |
> | `flow_action` | string | No | Se 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, debe omitirse. |
> | `reference_id` | string | No | Obligatorio para botones `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, 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 una empresa determinada. Si es necesario enviar varios mensajes order\_details para el mismo pedido, se recomienda incluir un número de secuencia en el reference\_id (por ejemplo, "BM345A-12") para garantizar la unicidad de reference\_id. |
> | `type` | string | No | Obligatorio para los botones `review_and_pay`. El tipo de artículos 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 artículos físicos del pedido. La información del beneficiario no se muestra a los usuarios, pero se necesita por motivos legales y de cumplimiento normativo. |
> | `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 `status`, `items`, `subtotal`, `tax`, etc., del pedido.Para los botones `review_order`, proporciona solo `status` y `description` del pedido. |
> | `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 de tipo **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 jurídica que recibe los artículos físicos. No puede superar los 200 caracteres.Longitud máxima: `200`. |
> | `address_line1` | string | Sí | Dirección de envío (número de puerta/torre, nombre de la calle, etc.). No puede 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 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.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 de 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 resultar útil al enviar una cancelación. El límite máximo es de 120 caracteres.Longitud máxima: `120`. |

> [accordion] whatsappMessage.interactive.action.parameters.order.items\[]
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `retailer_id` | string | No | ID de contenido de un artículo del pedido 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 inferior al monto original. Si se incluye, este campo se utiliza para calcular el monto 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.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` 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 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 `link` se ignorará. |
> | `caption` | string | No | Describe el archivo multimedia especificado de tipo `image`, `gif`, `video` o `document`. No aplica en el `header` de mensajes de tipo `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre de archivo para el documento específico. Usa solo con archivos multimedia de tipo `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 el desplazamiento. 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 está incentivado, 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.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 desplazamiento. 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 está incentivado, 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.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 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.interactive.action.parameters.order.tax
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `offset` | integer (int32) | Sí | Debe ser `100` para `INR`. |
> | `value` | integer (int32) | Sí | Entero positivo que representa el valor del importe multiplicado por el 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.interactive.action.parameters.order.shipping
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `offset` | integer (int32) | Sí | Debe ser `100` para `INR`. |
> | `value` | integer (int32) | Sí | Entero positivo que representa el valor del importe multiplicado por el 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.interactive.action.parameters.order.discount
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `offset` | integer (int32) | Sí | Debe ser `100` para `INR`. |
> | `value` | integer (int32) | Sí | Entero positivo que representa el valor del importe multiplicado por el 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.interactive.action.parameters.order.expiration
>
> | Parámetro | Tipo | Obligatorio | Descripción |
> | - | - | - | - |
> | `timestamp` | string | Sí | Cadena con la marca de tiempo UTC en segundos de cuándo 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 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, y no debe exceder los 60 caracteres. Este valor debe coincidir con una configuración de pago establecida 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 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 | Requerido | Descripción |
> | - | - | - | - |
> | `receipt` | string | No | Número de recibo correspondiente a este pedido, establecido 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.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 usar.<ul><li>`text`: se usa para List Messages, Reply Buttons y Multi-Product Messages.</li><li>`video`: se usa para Reply Buttons.</li><li>`image`: se usa para Reply Buttons.</li><li>`document`: se usa para Reply Buttons.</li></ul> |
> | `text` | string | No | Texto para el encabezado. El formato permite emojis, pero no markdown.Longitud máxima: `60`. |
> | `image` | object | No | Usa 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 | Úsalo para mensajes de `image`, `gif`, `video`, `audio`, `document` o `sticker`. Consulta también [Tipos de contenido multimedia admitidos](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media#supported-media-types). |
> | `document` | object | No | Usa para mensajes de `image`, `gif`, `video`, `audio`, `document` o `sticker`. Consulta también [Tipos de medios compatibles](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 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á. Ú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: 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.interactive.header.video
>
> | 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 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á. Ú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: 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.interactive.header.document
>
> | 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 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á. Ú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: 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 los mensajes `template` o `interactive`. |
> | `filename` | string | No | Describe el nombre de archivo para el documento específico. Úsalo solo con archivos multimedia `document`. |

> [accordion] whatsappMessage.interactive.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 de la matriz se describen a continuación. |
> | `birthday` | string | No | Cadena con formato `YYYY-MM-DD`. |
> | `emails` | object\[] | No | Los elementos de la matriz se describen a continuación. |
> | `name` | object | Sí | Nombre completo del contacto con formato de objeto name. |
> | `org` | object | No | Información de la organización del contacto con formato de objeto org. |
> | `phones` | object\[] | No | Número(s) de teléfono del contacto con formato de objeto phone. |
> | `urls` | object\[] | No | URL(s) del contacto con formato de objeto urls. |
> | `vcard` | string | No | vCard opcional proporcionada con la carga útil del contacto compartido. |
> | `origin` | string | No | Se establece en `contact_request` cuando el usuario compartió el contacto en respuesta a un mensaje request-contact-info. |

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

> [accordion] whatsappMessage.contacts\[].emails\[]
>
> | Parámetro | Tipo | 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 normalmente. |
> | `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 laboral 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 | WhatsApp ID. |

> [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 quieres eliminar el emoji. **Opcional** cuando recibiste un mensaje de un usuario. Este campo se incluye cuando un usuario reacciona a los mensajes con un emoji. De lo contrario, indica que un usuario eliminó el emoji. |

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

> [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 a 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 a la API. |
> | `fbtrace_id` | string | No | Identificador interno de soporte. Al reportar un error relacionado con una llamada a 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 plantillas, 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> |

## Ejemplo

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

> [accordion] Mensaje de historial entrante
>
> Un mensaje de historial entrante usa whatsappInboundMessage. phase y progress informan sobre la sincronización del fragmento del historial.
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_example_smb_history_inbound",
>   "type": "whatsapp.smb.history",
>   "apiVersion": "v2",
>   "createTime": "2026-10-09T08:00:00.000Z",
>   "phase": 1,
>   "progress": 40,
>   "whatsappInboundMessage": {
>     "id": "INBOUND_MESSAGE_ID",
>     "wamid": "wamid.INBOUND_EXAMPLE",
>     "wabaId": "WABA_ID",
>     "from": "+12025550124",
>     "to": "+12025550123",
>     "type": "text",
>     "text": {
>       "body": "What time can I collect my order?"
>     },
>     "customerProfile": {
>       "name": "Example customer"
>     },
>     "sendTime": "2026-10-08T12:00:00.000Z"
>   }
> }
> ```

> [accordion] Mensaje de historial saliente
>
> Un mensaje de historial saliente usa whatsappMessage. No lo enrutes como un mensaje entrante.
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_example_smb_history_outbound",
>   "type": "whatsapp.smb.history",
>   "apiVersion": "v2",
>   "createTime": "2026-10-09T08:00:00.000Z",
>   "phase": 1,
>   "progress": 60,
>   "whatsappMessage": {
>     "id": "MESSAGE_ID",
>     "wamid": "wamid.EXAMPLE",
>     "wabaId": "WABA_ID",
>     "from": "+12025550124",
>     "to": "+12025550123",
>     "type": "text",
>     "text": {
>       "body": "Your order is ready for pickup."
>     },
>     "status": "sent",
>     "createTime": "2026-10-08T12:00:00.000Z",
>     "sendTime": "2026-10-08T12:00:00.000Z"
>   }
> }
> ```

> [accordion] Progreso de sincronización del historial
>
> Un fragmento de historial solo de metadatos informa phase y progress sin ninguno de los dos objetos de mensaje. No trates esta estructura como una carga útil de message-created o message-echoes.
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_example_smb_history_progress",
>   "type": "whatsapp.smb.history",
>   "apiVersion": "v2",
>   "createTime": "2026-10-09T08:00:00.000Z",
>   "phase": 1,
>   "progress": 73
> }
> ```

> [accordion] Mensaje de texto entrante
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEkn26qar3nOB8md",
>   "type": "whatsapp.smb.history",
>   "apiVersion": "v2",
>   "createTime": "2023-02-22T12:00:00.000Z",
>   "phase": 1,
>   "progress": 40,
>   "whatsappInboundMessage": {
>     "id": "63f872f6741c165b4342a751",
>     "wamid": "wamid.HBgNODi...",
>     "wabaId": "WABA-ID",
>     "from": "CUSTOMER-PHONE-NUMBER",
>     "fromUserId": "US.13491208655302741918",
>     "fromParentUserId": "US.11815799212886844830",
>     "customerProfile": {
>       "name": "Joe",
>       "username": "@JoeWick"
>     },
>     "to": "BUSINESS-PHONE-NUMBER",
>     "sendTime": "2023-02-22T12:00:00.000Z",
>     "type": "text",
>     "text": {
>       "body": "OK"
>     },
>     "context": {
>       "from": "+12025550124",
>       "id": "wamid.HBgNODr..."
>     }
>   }
> }
> ```

> [accordion] Mensaje de texto saliente
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEVCy8eNqD9EvcFI",
>   "type": "whatsapp.smb.history",
>   "apiVersion": "v2",
>   "createTime": "2023-02-22T12:00:00.000Z",
>   "phase": 1,
>   "progress": 40,
>   "whatsappMessage": {
>     "id": "63f5d602367ea403f8175a6c",
>     "wamid": "wamid.BgNODYxN...",
>     "status": "sent",
>     "from": "BUSINESS-PHONE-NUMBER",
>     "to": "CUSTOMER-PHONE-NUMBER",
>     "toUserId": "US.13491208655302741918",
>     "toParentUserId": "US.11815799212886844830",
>     "wabaId": "WABA-ID",
>     "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?"
>     },
>     "context": {
>       "message_id": "wamid.BgNODYxN..."
>     }
>   }
> }
> ```

> [accordion] Fragmento de historial solo de progreso
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_progressOnly73",
>   "type": "whatsapp.smb.history",
>   "apiVersion": "v2",
>   "createTime": "2023-02-22T12:00:02.000Z",
>   "phase": 1,
>   "progress": 73
> }
> ```

Después de 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 tutoriales de escenarios, consulta los [ejemplos anotados](https://docs.ycloud.com/es/api-reference/guides/examples/webhook-examples/whatsapp-business-app-history-message-webhook-examples).


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