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

> 当从 WhatsApp Business App 发送消息时触发。

使用 `whatsapp.smb.message.created` 在您的 Webhook 端点处理此事件。

## 触发条件

当从 WhatsApp Business App 发送消息时触发。

在您[配置 Webhook 端点](https://docs.ycloud.com/zh/api-reference/guides/api-fundamentals/configure-webhooks.md)时订阅 `whatsapp.smb.message.created`。

## 语法

YCloud 会向您配置的 Webhook URL 发送 HTTP `POST` 请求。以下结构展示了一种有效负载变体。尖括号中的值为占位符；其类型列在 **参数** 下。可选字段和其他变体在下方说明。

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "<ID>",
  "type": "whatsapp.smb.message.created",
  "apiVersion": "<API_VERSION>",
  "createTime": "<CREATE_TIME>",
  "whatsappMessage": {
    "id": "<ID>",
    "wamid": "<WAMID>",
    "wabaId": "<WABA_ID>",
    "from": "<FROM>",
    "to": "<TO>",
    "type": "<TYPE>",
    "text": {
      "body": "<BODY>"
    },
    "status": "<STATUS>",
    "createTime": "<CREATE_TIME>",
    "sendTime": "<SEND_TIME>"
  }
}
```

## 参数

在处理 JSON 请求体之前，请验证 `YCloud-Signature` HTTP 请求头。请参见[签名验证](https://docs.ycloud.com/zh/api-reference/guides/api-fundamentals/configure-webhooks.md)。

### 事件信封

| 参数 | 类型 | 必填 | 说明 |
| - | - | - | - |
| `id` | string | 是 | 事件的唯一 ID。最小长度：`6`。最大长度：`128`。 |
| `type` | string | 是 | 固定为 `whatsapp.smb.message.created`。 |
| `apiVersion` | string | 是 | 用于呈现此事件的 API 版本。 |
| `createTime` | string (date-time) | 是 | 创建此事件的时间，采用 [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339) 格式。例如 `2022-06-01T12:00:00.000Z`。 |

### 事件有效负载

| 参数 | 类型 | 必填 | 说明 |
| - | - | - | - |
| `whatsappMessage` | object | 否 | 特定于事件的 `whatsappMessage` 有效负载。 |

四个通用信封字段为必填项。有效负载字段取决于事件变体。在每个对象表格中， **必填** 仅在其父对象存在时适用。可选字段可以省略；示例并不代表字段是必填的。

#### whatsappMessage

| 参数 | 类型 | 必填 | 说明 |
| - | - | - | - |
| `id` | string | 是 | 消息的唯一 ID。 |
| `wamid` | string | 否 | WhatsApp 平台上的原始消息 ID。 |
| `wabaId` | string | 是 | WhatsApp 商业账户 ID。 |
| `from` | string | 是 | 发送者的电话号码，采用 [E.164](https://en.wikipedia.org/wiki/E.164) 格式。 |
| `to` | string | 否 | 接收者的电话号码，采用 [E.164](https://en.wikipedia.org/wiki/E.164) 格式。 |
| `recipient` | string | 否 | 当使用 BSUID 或父 BSUID 时，在请求中提交的接收者值。 |
| `recipientUserId` | string | 否 | 接收者的 WhatsApp Business 范围内用户 ID (BSUID)。 |
| `toUserId` | string | 否 | `recipientUserId` 的别名，出于兼容性保留。 |
| `parentRecipientUserId` | string | 否 | 接收者的父 WhatsApp Business 范围内用户 ID。 |
| `toParentUserId` | string | 否 | `parentRecipientUserId` 的别名，出于兼容性保留。 |
| `customerProfile` | object | 否 | 接收者的个人资料信息，包括 WhatsApp 用户名（如果可用）。 |
| `conversation` | object | 否 | WhatsApp 将会话定义为个人与商家之间持续 24 小时的消息传递会话。此字段在消息状态更改为 `sent` 后提供。另请参见[基于会话的计费](https://developers.facebook.com/docs/whatsapp/pricing)。 |
| `type` | string | 否 | WhatsApp 出站消息类型。另请参见 [WhatsApp 消息](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/messages)。可选值：`template`、`text`、`image`、`audio`、`video`、`document`、`sticker`、`location`、`interactive`、`contacts`、`reaction`。 |
| `template` | object | 否 | 用于发送 WhatsApp `template` 消息。 |
| `text` | object | 否 | WhatsApp 消息文本对象。 |
| `image` | object | 否 | 用于 `image`、`gif`、`video`、`audio`、`document` 或 `sticker` 消息。另请参阅[支持的媒体类型](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media#supported-media-types)。 |
| `video` | object | 否 | 用于 `image`、`gif`、`video`、`audio`、`document` 或 `sticker` 消息。另请参阅[支持的媒体类型](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media#supported-media-types)。 |
| `audio` | object | 否 | 用于 `image`、`gif`、`video`、`audio`、`document` 或 `sticker` 消息。另请参阅[支持的媒体类型](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media#supported-media-types)。 |
| `document` | object | 否 | 用于 `image`、`gif`、`video`、`audio`、`document` 或 `sticker` 消息。另请参阅[支持的媒体类型](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media#supported-media-types)。 |
| `sticker` | object | 否 | 用于 `image`、`gif`、`video`、`audio`、`document` 或 `sticker` 消息。另请参阅[支持的媒体类型](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media#supported-media-types)。 |
| `location` | object | 否 | 用于 `location` 消息。 |
| `interactive` | object | 否 | 用于 `interactive` 消息。 |
| `contacts` | object\[] | 否 | 数组项如下所述。 |
| `reaction` | object | 否 | 当用户使用表情符号对消息做出回应时，消息类型将设置为 `reaction`，并包含此字段。 |
| `context` | object | 否 | 用于提及您正在回复的特定消息。回复可以是任何消息类型。 |
| `externalId` | string | 否 | 用于引用该对象的唯一（建议）字符串。这可以是订单号或类似标识，可用于将该对象与您的内部系统进行对账。 |
| `category` | string | 否 | Direct Send 类别（如适用），例如 `utility` 或 `authentication`。 |
| `ttlSeconds` | integer | 否 | 配置的 Direct Send 消息生命周期（以秒为单位，如适用）。 |
| `status` | string | 否 | WhatsApp 消息状态。取值为 `accepted`、`failed`、`sent`、`delivered`、`read` 之一。<ul><li>`accepted`：消息请求已被我们的系统接受。</li><li>`failed`：您的企业发送的消息发送失败。</li><li>`sent`：您的企业发送的消息正在 WhatsApp 系统中传输。</li><li>`delivered`：您的企业发送的消息已送达用户的设备。</li><li>`read`：您的企业发送的消息已被用户阅读。</li></ul> |
| `errorCode` | string | 否 | 消息状态为 `failed` 时的错误代码。 |
| `errorMessage` | string | 否 | 消息状态为 `failed` 时的错误消息。 |
| `createTime` | string (date-time) | 否 | 创建此消息的时间，格式为 [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339)。例如 `2022-06-01T12:00:00.000Z`。 |
| `updateTime` | string (date-time) | 否 | 更新此消息的时间，格式为 [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339)。例如 `2022-06-01T12:00:00.000Z`。 |
| `sendTime` | string (date-time) | 否 | 此消息 `status` 变更为 `sent` 的时间，格式为 [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339)。例如 `2022-06-01T12:00:00.000Z`。 |
| `deliverTime` | string (date-time) | 否 | 此消息 `status` 变更为 `delivered` 的时间，格式为 [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339)。例如 `2022-06-01T12:00:00.000Z`。 |
| `readTime` | string (date-time) | 否 | 此消息变为 `status` 的时间，格式为 `read`（遵循 [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339)）。例如 `2022-06-01T12:00:00.000Z`。 |
| `totalPrice` | number (double) | 否 | 此消息的总费用。**注意：当 `status` 为 `accepted` 或 `sent` 时，这仅是预估价格。在消息送达后（即 `status` 为 `delivered` 或 `read`），该价格将成为最终价格。**对于最高出价（Max Price）消息，发送时的金额为预估值。请使用 delivered/read 状态下的 whatsapp.message.updated 事件获取最终扣费金额；maxBid 并非最终扣费金额。 |
| `currency` | string | 否 | 价格币种。遵循 [ISO 4217 货币代码](https://en.wikipedia.org/wiki/ISO_4217)。 |
| `regionCode` | string | 否 | 接收方电话号码的[国家/地区代码](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)。 |
| `pricingCategory` | string | 否 | 消息的计费类别。**注意：当 `status` 为 `accepted` 或 `sent` 时，这仅是预估计费类别。在消息送达后（即 `status` 为 `delivered` 或 `read`），该类别将成为最终类别。**可选值：`referral_conversion`、`authentication`、`authentication_international`、`marketing`、`marketing_lite`、`utility`、`service`、`marketing_lite_bidding`。 |
| `pricingModel` | string | 否 | 消息的计费模型。<ul><li>`PMP`：采用按条计费（Per-message pricing）。</li><li>`CBP`：采用按会话计费（Conversation-based pricing）。</li></ul> |
| `pricingType` | string | 否 | 消息的计费类型。此字段仅在 PMP（按条计费）模式下可用。<ul><li>`regular`：表示该消息需计费。</li><li>`free_customer_service`：表示该消息免费，原因是其为在客户服务窗口内发送的服务类消息模板或非模板消息。</li><li>`free_entry_point`：表示该消息免费，原因是其属于免费入口点会话的一部分。</li></ul> |
| `whatsappApiError` | object | 否 | WhatsApp 返回的原始错误对象。参见[错误处理](https://developers.facebook.com/docs/graph-api/guides/error-handling)、[Cloud API 错误码](https://developers.facebook.com/docs/whatsapp/cloud-api/support/error-codes)。 |
| `bizType` | string | 否 | 该字段可为空，或为 `whatsapp`、`verify` 之一。默认为 `whatsapp`。<ul><li>`whatsapp`：表示消息是通过 **WhatsApp** 产品发送的。</li><li>`verify`：表示消息是通过 **Verify** 产品发送的。</li></ul> |
| `verificationId` | string | 否 | 验证 ID。仅当 `bizType` 为 `verify` 时包含。 |
| `bidPricingFlag` | boolean | 否 | 当消息被识别为 Marketing Lite 竞价消息时为 True。其 pricingCategory 为 marketing\_lite\_bidding。 |

> [accordion] whatsappMessage.customerProfile
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `name` | string | 否 | WhatsApp 账户的名称。 |
> | `username` | string | 否 | WhatsApp 用户名。 |

> [accordion] whatsappMessage.conversation
>
> | 参数 | 类型 | 必填 | 描述 |
> | - | - | - | - |
> | `id` | string | 否 | 对象的唯一 ID。 |
> | `type` | string | 否 | 会话类型。当此会话的第一条商业消息送达并开启 24 小时会话窗口时，将会产生费用。因此，在第一条消息送达之前，会话类型可能为 `null`。<ul><li>`FREE_ENTRY`：源自[免费入口点](https://developers.facebook.com/docs/whatsapp/pricing#free-entry-point-conversations)的会话。</li><li>`FREE_TIER`：每月[免费额度](https://developers.facebook.com/docs/whatsapp/pricing#free-tier-conversations)范围内的会话。</li><li>`REGULAR`：不源自[免费入口点](https://developers.facebook.com/docs/whatsapp/pricing#free-entry-point-conversations)或超出每月[免费额度](https://developers.facebook.com/docs/whatsapp/pricing#free-tier-conversations)配额的任何会话。</li></ul> |
> | `originType` | string | 否 | 表示[对话类别](https://developers.facebook.com/docs/whatsapp/pricing#conversation-categories)。这也可以称为对话切入点。<ul><li>`referral_conversion`：表示[免费切入点对话](https://developers.facebook.com/docs/whatsapp/pricing#free-entry-point-conversations)。</li><li>`authentication`：表示对话由商家向客户发送类别为 `AUTHENTICATION` 的模板发起。这适用于距客户最后一条消息已超过 24 小时的任何情况。</li><li>`marketing`：表示对话由商家向客户发送类别为 `MARKETING` 的模板发起。这适用于距客户最后一条消息已超过 24 小时的任何情况。</li><li>`utility`：表示对话由商家向客户发送类别为 `UTILITY` 的模板发起。这适用于距客户最后一条消息已超过 24 小时的任何情况。</li><li>`service`：表示对话由商家在[客户服务窗口](https://developers.facebook.com/docs/whatsapp/pricing#customer-service-windows)内回复客户发起。</li></ul> |
> | `expireTime` | string (date-time) | 否 | 对话过期的日期，格式为 [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339)。例如：`2022-06-01T12:00:00.000Z`。 |

> [accordion] whatsappMessage.template
>
> | 参数 | 类型 | 是否必填 | 描述 |
> | - | - | - | - |
> | `name` | string | 是 | 模板的名称。 |
> | `language` | object | 是 | 包含语言对象。指定模板呈现时可能使用的语言。 |
> | `components` | object\[] | 否 | **当指定的模板包含变量或媒体时为必填。** 包含消息参数的组件对象数组。 |

> [accordion] whatsappMessage.template.language
>
> | 参数 | 类型 | 必填 | 描述 |
> | - | - | - | - |
> | `code` | string | 是 | 要使用的语言或区域设置代码。接受语言格式和语言\_区域设置格式（例如 en 和 en\_US）。有关所有代码，请参阅[支持的语言](https://developers.facebook.com/documentation/business-messaging/whatsapp/templates/supported-languages)。 |
> | `policy` | string | 否 | 消息应遵循的语言策略。默认（也是唯一支持的选项）：`deterministic`，这意味着 WhatsApp 会严格按照所请求的语言和区域设置发送消息模板。 |

> [accordion] whatsappMessage.template.components\[]
>
> | 参数 | 类型 | 必填 | 描述 |
> | - | - | - | - |
> | `type` | string | 是 | 组件类型。可选值：`header`、`body`、`button`、`limited_time_offer`、`carousel`、`order_status`。 |
> | `sub_type` | string | 否 | **当 type 为 `button` 时必填。** 按钮类型。<ul><li>`quick_reply`：指预先创建的快速回复按钮，允许客户回复预定义消息。</li><li>`url`：指预先创建的 URL 按钮，允许客户访问将 text 参数附加到模板中预定义的前缀 URL 后生成的 URL。</li><li>`copy_code`：指预先创建的复制代码按钮，当应用用户点击时，允许客户将文本字符串（在模板消息发送时定义）复制到设备的剪贴板。</li><li>`catalog`：指预先创建的目录按钮，允许客户查看您的商品目录。</li><li>`mpm`：指预先创建的 MPM（多商品消息）按钮，允许客户浏览商品和分组。</li><li>`flow`：指预先创建的 flow 按钮，允许客户与 [flow](https://developers.facebook.com/docs/whatsapp/flows) 进行交互。</li><li>`order_details`：指预先创建的订单详情按钮，允许客户查看订单详情。</li></ul> |
> | `index` | integer (int32) | 否 | **当 `type` = `button` 时必填。不用于其他类型。** 表示如果模板使用了多个按钮，该按钮应显示的顺序。按钮索引从 0 开始，因此将值设为 0 会使该按钮排在第一个，索引为 1 的按钮将排在下一个，以此类推。最小值：`0`。最大值：`9`。 |
> | `parameters` | object\[] | 否 | **当 `type` = `button`、对应的模板组件中存在变量，或者模板 `HEADER` 格式为媒体（`IMAGE`、`VIDEO` 或 `DOCUMENT`）时必填。** 包含消息内容的参数对象数组。 |
> | `cards` | object\[] | 否 | 用于 `carousel` 组件。提供包含消息参数的卡片组件。 |

> [accordion] whatsappMessage.template.components\[].parameters\[]
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `type` | string | 否 | **必填。** 组件参数类型。<ul><li>`text`：在模板组件类型为 `BODY`，或 `HEADER` 组件格式为 `TEXT` 时使用。</li><li>`image`：在模板 `HEADER` 组件为 `IMAGE` 时使用。</li><li>`gif`：在模板 `HEADER` 组件为 `GIF` 时使用。</li><li>`video`：在模板 `HEADER` 组件为 `VIDEO` 时使用。</li><li>`document`：在模板 `HEADER` 组件为 `DOCUMENT` 时使用。</li><li>`payload`：在模板组件按钮类型为 `QUICK_REPLY` 时使用。</li><li>`coupon_code`：在模板组件按钮类型为 `COPY_CODE` 时使用。</li><li>`limited_time_offer`：在模板组件类型为 `LIMITED_TIME_OFFER` 时使用。</li><li>`action`：在模板组件按钮类型为 `CATALOG`、`MPM`、`FLOW` 或 `ORDER_DETAILS` 时使用。</li><li>`order_status`：在模板子类别为 `ORDER_STATUS` 时使用。</li><li>`location`：在模板 `HEADER` 组件为 `LOCATION` 时使用。</li></ul> |
> | `text` | string | 否 | **当 `type` = `text` 时必填。** 消息的文本。标头（header）组件的字符限制为 60 个字符。正文（body）组件的字符限制为 1024 个字符。对于 URL 按钮，它表示追加到模板中预定义前缀 URL 后的开发者自定义后缀。 |
> | `payload` | string | 否 | `quick_reply` 按钮必填。开发者定义的有效载荷，点击按钮时除按钮上的显示文本外还会返回该内容。 |
> | `coupon_code` | string | 否 | **当 `type` = `coupon_code` 时必填。** 客户点击按钮时要复制的优惠券代码。 |
> | `image` | object | 否 | **当模板 `HEADER` 格式为 `IMAGE` 时必填。** |
> | `gif` | object | 否 | **当模板 `HEADER` 格式为 `GIF` 时必填。** |
> | `video` | object | 否 | **当模板 `HEADER` 格式为 `VIDEO` 时必填。** |
> | `document` | object | 否 | **当模板 `HEADER` 格式为 `DOCUMENT` 时必填。** |
> | `limited_time_offer` | object | 否 | 如果模板使用优惠到期详情，则为必填。 |
> | `action` | object | 否 | 如果模板使用目录或 MPM（多商品消息）按钮，则为必填。 |
> | `order_status` | object | 否 | 对象字段列在下方。 |
> | `location` | object | 否 | **当 `type` = `location` 时必填。** |

> [accordion] whatsappMessage.template.components\[].parameters\[].image
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `id` | string | 否 | \*\*当媒体文件已上传至 WhatsApp 服务器时使用。\*\*提供从 WhatsApp 媒体上传 API 获取的媒体对象 ID（\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)）。注意：\`id\`](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)）。注意：`id`) 或 `link` 必须提供其一。如果两者都提供，则以 `id` 为准。 |
> | `link` | string | 否 | \*\*直接从您的服务器发送媒体文件时使用。\*\*要发送的媒体文件的协议和 URL。仅支持 HTTP/HTTPS URL。注意：WhatsApp Cloud API 会将媒体资源缓存 10 分钟。为确保内容最新，请在 URL 中添加随机查询字符串。注意：`id` 或 `link` 必须提供其一。如果两者都提供，则以 `id` 为准，且 `link` 将被忽略。 |
> | `caption` | string | 否 | 描述指定的 `image`、`gif`、`video` 或 `document` 媒体。不适用于 `template` 或 `interactive` 消息的 `header`。 |
> | `filename` | string | 否 | 描述特定文档的文件名。仅适用于 `document` 媒体。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].gif
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `id` | string | 否 | \*\*当媒体文件已上传至 WhatsApp 服务器时使用。\*\*提供从 WhatsApp 媒体上传 API 获取的媒体对象 ID（\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)）。注意：\`id\`](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)）。注意：`id`) 或 `link` 必须提供其一。如果两者都提供，则以 `id` 为准。 |
> | `link` | string | 否 | \*\*直接从您的服务器发送媒体文件时使用。\*\*要发送的媒体文件的协议和 URL。仅支持 HTTP/HTTPS URL。注意：WhatsApp Cloud API 会将媒体资源缓存 10 分钟。为确保内容最新，请在 URL 中添加随机查询字符串。注意：`id` 或 `link` 必须提供其一。如果两者都提供，则以 `id` 为准，且 `link` 将被忽略。 |
> | `caption` | string | 否 | 描述指定的 `image`、`gif`、`video` 或 `document` 媒体。不适用于 `template` 或 `interactive` 消息的 `header`。 |
> | `filename` | string | 否 | 描述特定文档的文件名。仅适用于 `document` 媒体。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].video
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `id` | string | 否 | \*\*当媒体文件已上传至 WhatsApp 服务器时使用。\*\*提供从 WhatsApp 媒体上传 API 获取的媒体对象 ID（\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)）。注意：\`id\`](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)）。注意：`id`) 或 `link` 必须提供其一。如果两者都提供，则以 `id` 为准。 |
> | `link` | string | 否 | \*\*直接从您的服务器发送媒体文件时使用。\*\*要发送的媒体文件的协议和 URL。仅支持 HTTP/HTTPS URL。注意：WhatsApp Cloud API 会将媒体资源缓存 10 分钟。为确保内容最新，请在 URL 中添加随机查询字符串。注意：`id` 或 `link` 必须提供其一。如果两者都提供，则以 `id` 为准，且 `link` 将被忽略。 |
> | `caption` | string | 否 | 描述指定的 `image`、`gif`、`video` 或 `document` 媒体。不适用于 `template` 或 `interactive` 消息的 `header`。 |
> | `filename` | string | 否 | 描述特定文档的文件名。仅适用于 `document` 媒体。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].document
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `id` | string | 否 | \*\*当媒体已上传到 WhatsApp 服务器时使用此字段。\*\*提供从 WhatsApp 媒体上传 API 获取的媒体对象 ID（\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)）。注意：必须提供](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)）。注意：必须提供) `id` 或 `link` 其中之一。如果两者都提供，则以 `id` 为准。 |
> | `link` | string | 否 | \*\*直接从您的服务器发送媒体时使用此项。\*\*要发送的媒体的协议和 URL。仅支持 HTTP/HTTPS URL。注意：WhatsApp Cloud API 会将媒体资源缓存 10 分钟。为确保获取最新内容，请在 URL 中添加随机查询字符串。注意：必须提供 `id` 或 `link` 其中之一。如果两者都提供，则以 `id` 为准，`link` 将被忽略。 |
> | `caption` | string | 否 | 描述指定的 `image`、`gif`、`video` 或 `document` 媒体。不适用于 `template` 或 `interactive` 消息的 `header`。 |
> | `filename` | string | 否 | 描述特定文档的文件名。仅适用于 `document` 媒体。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].limited\_time\_offer
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `expiration_time_ms` | integer (int64) | 否 | **必填。** 优惠码到期时间，以毫秒为单位的 UNIX 时间戳。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].action
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `thumbnail_product_retailer_id` | string | 否 | **可选。** 用于目录和 MPM 模板消息。商品 SKU 编号。在 Commerce Manager 中标记为内容 ID。该商品的缩略图将用作消息的页眉图片。如果省略 `parameters` 对象，将使用您目录中第一个商品的商品图片。 |
> | `sections` | object\[] | 否 | 用于 MPM 模板。商品分区。您最多可以定义 10 个分区。 |
> | `flow_token` | string | 否 | 用于 `FLOW` 按钮。由商家生成的 Flow 令牌，用作标识符。默认为 `unused`。 |
> | `flow_action_data` | object | 否 | 用于 `FLOW` 按钮。包含第一个屏幕数据负载的 JSON 对象。 |
> | `order_details` | object | 否 | `order_details` 按钮必填。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.sections\[]
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `title` | string | 否 | 分区标题文本。最多 24 个字符。不支持 Markdown。最大长度：`24`。 |
> | `product_items` | object\[] | 否 | 商品 SKU 编号数组。每个分区至少包含 1 个商品，所有分区总计最多包含 30 个商品。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.sections\[].product\_items\[]
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `product_retailer_id` | string | 否 | 您希望在相应部分显示的商品的 SKU 编号。SKU 编号在 [Commerce Manager](https://business.facebook.com/commerce) 中标记为 **Content ID** 。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `currency` | string | 是 | 该订单的货币。目前唯一支持的值为 `INR`。 |
> | `order` | object | 是 | 提供订单 `status`、`items`、`subtotal`、`tax` 等。 |
> | `reference_id` | string | 是 | 商家提供的订单唯一标识符。区分大小写，不能是空字符串，且只能包含英文字母、数字、下划线、破折号或点，长度不得超过 35 个字符。对于给定商家，每个 order\_details 消息的 `reference_id` 必须唯一。如果需要为同一订单发送多个 order\_details 消息，建议在 reference\_id 中包含序号（例如 "BM345A-12"），以确保 reference\_id 的唯一性。 |
> | `total_amount` | object | 是 | 订单总金额。 |
> | `type` | string | 是 | 此订单支付的商品类型。当前支持的选项为 `digital-goods` 和 `physical-goods`。 |
> | `payment_settings` | object\[] | 是 | 订单的支付设置。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.order
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `status` | string | 否 | 在 `order_details` 消息中唯一支持的值为 `pending`。在 `order_status` 消息中，`status` 可以是：`pending`、`processing`、`partially_shipped`、`shipped`、`completed` 或 `canceled`。 |
> | `type` | string | 否 | 唯一支持的值为 `quick_pay`。传入此字段时，我们将隐藏“Review and Pay”按钮，并且仅在订单详情气泡中显示“Pay Now”按钮。 |
> | `catalog_id` | string | 否 | 商家使用的 Facebook 目录的唯一标识符。如果不提供此字段，则必须在 items 对象内提供以下字段：`country_of_origin`、`importer_name` 和 `importer_address`。 |
> | `items` | object\[] | 否 | 订单中的商品数组。 |
> | `subtotal` | object | 否 | 该值 **必须等于** `order.amount.value` \* `order.amount.quantity` 的总和。 |
> | `tax` | object | 否 | 该订单的税费信息。 |
> | `shipping` | object | 否 | 订单的运费。 |
> | `discount` | object | 否 | 该订单的折扣金额。 |
> | `expiration` | object | 否 | 该订单的有效期。 |
> | `description` | string | 否 | **可选。** 用于分享状态相关信息的文本。在发送取消时可能很有用。最大字符限制为 120 个字符。最大长度：`120`。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.order.items\[]
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `retailer_id` | string | 否 | 目录中订单商品的 Content ID。 |
> | `name` | string | 是 | 向用户显示的商品名称。不能超过 60 个字符。最大长度：`60`。 |
> | `image` | object | 否 | 向用户显示的商品自定义图片。 |
> | `amount` | object | 是 | 单件商品价格。 |
> | `sale_amount` | object | 否 | 单件商品的折后价格。该值应小于原金额。如果包含此字段，它将用于计算小计金额。 |
> | `quantity` | integer (int32) | 是 | 订单中的商品数量。 |
> | `country_of_origin` | string | 否 | 如果未提供 `catalog_id` 则为必填项。商品的原产国。 |
> | `importer_name` | string | 否 | 如果未提供 `catalog_id` 则为必填项。进口商公司名称。 |
> | `importer_address` | string | 否 | 如果未提供 `catalog_id` 则为必填项。进口商公司地址。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.order.items\[].image
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `id` | string | 否 | \*\*在媒体已上传至 WhatsApp 服务器时使用。\*\*提供从 WhatsApp 媒体上传 API 获取的媒体对象 ID（\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)）。注意：必须提供](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)）。注意：必须提供) `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`。 |
> | `link` | string | 否 | \*\*直接从您的服务器发送媒体时使用。\*\*要发送媒体的协议和 URL。仅可使用 HTTP/HTTPS URL。注意：WhatsApp Cloud API 会将媒体资源缓存 10 分钟。为确保获取最新内容，请在 URL 中添加随机查询字符串。注意：必须提供 `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`，并将忽略 `link`。 |
> | `caption` | string | 否 | 描述指定的 `image`、`gif`、`video` 或 `document` 媒体。不适用于 `template` 或 `interactive` 消息的 `header` 中。 |
> | `filename` | string | 否 | 描述特定文档的文件名。仅适用于 `document` 媒体。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.order.items\[].amount
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 对于 `INR`，必须为 `100`。 |
> | `value` | integer (int32) | 是 | 表示金额数值乘以 offset 后的正整数。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅适用于 `tax`、`shipping` 或 `discount`。金额的描述。最大字符限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅适用于 `discount`。用于定义促销激励订单的文本。如果订单包含促销激励，商家需要定义此信息。最大字符限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.order.items\[].sale\_amount
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 对于 `INR` 必须为 `100`。 |
> | `value` | integer (int32) | 是 | 表示金额值乘以 offset 的正整数。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅用于 `tax`、`shipping` 或 `discount`。金额的描述。最大字符数限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅用于 `discount`。用于定义激励订单的文本。如果订单包含优惠激励，商家需要定义此信息。最大字符数限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.order.subtotal
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 对于 `INR` 必须为 `100`。 |
> | `value` | integer (int32) | 是 | 表示金额值乘以 offset 的正整数。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅用于 `tax`、`shipping` 或 `discount`。金额的描述。最大字符数限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅用于 `discount`。用于定义激励订单的文本。如果订单包含优惠激励，商家需要定义此信息。最大字符数限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.order.tax
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 对于 `INR` 必须为 `100`。 |
> | `value` | integer (int32) | 是 | 表示金额值乘以 offset 的正整数。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅用于 `tax`、`shipping` 或 `discount`。金额的描述。最大字符数限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅用于 `discount`。用于定义激励订单的文本。如果订单包含优惠激励，商家需要定义此信息。最大字符数限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.order.shipping
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 对于 `INR` 必须为 `100`。 |
> | `value` | integer (int32) | 是 | 表示金额值乘以 offset 的正整数。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅用于 `tax`、`shipping` 或 `discount`。金额的描述。最大字符数限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅适用于 `discount`。用于定义激励订单的文本。如果订单包含激励，商家需要定义此信息。最多 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.order.discount
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 对于 `INR`，必须为 `100`。 |
> | `value` | integer (int32) | 是 | 正整数，表示金额乘以 offset 后的值。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅适用于 `tax`、`shipping` 或 `discount`。金额说明。最多 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅适用于 `discount`。用于定义激励订单的文本。如果订单包含激励，商家需要定义此信息。最多 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.order.expiration
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `timestamp` | string | 是 | 订单过期的 UTC 时间戳字符串（单位为秒）。最小阈值为 300 秒。 |
> | `description` | string | 否 | 过期的文本说明。最大长度：`120`。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.total\_amount
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 对于 `INR`，必须为 `100`。 |
> | `value` | integer (int32) | 是 | 正整数，表示金额乘以 offset 后的值。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅适用于 `tax`、`shipping` 或 `discount`。金额说明。最多 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅适用于 `discount`。用于定义激励订单的文本。如果订单包含激励，商家需要定义此信息。最多 60 个字符。最大长度：`60`. |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.payment\_settings\[]
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `type` | string | 是 | 必须设置为 `payment_gateway`。 |
> | `payment_gateway` | object | 是 | 描述支付账户信息的对象。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.payment\_settings\[].payment\_gateway
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `type` | string | 是 | 支付类型。如果您已关联 BillDesk、Razorpay、PayU 或 Zaakpay 支付网关来接收付款，则必须将其设置为 `billdesk`、`razorpay`、`payu` 或 `zaakpay`。 |
> | `configuration_name` | string | 是 | 此订单所使用的预配置支付配置的名称，长度不得超过 60 个字符。该值必须与 WhatsApp 业务管理平台（WhatsApp Business Manager）上设置的支付配置相匹配。最大长度：`60`。 |
> | `billdesk` | object | 否 | BillDesk 的附加信息。用户自定义字段（extra）用于存储与特定订单对应的任意信息。每个 extra 字段的最大字符限制为 120。 |
> | `payu` | object | 否 | PayU 的附加信息。用户自定义字段（udf）用于存储与特定订单对应的任意信息。每个 UDF 字段的最大字符限制为 255。 |
> | `razorpay` | object | 否 | Razorpay 的附加信息。 |
> | `zaakpay` | object | 否 | Zaakpay 的附加信息。用户自定义字段（extra）用于存储与特定订单对应的任意信息。每个 extra 字段的最大字符限制为 180。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.payment\_settings\[].payment\_gateway.billdesk
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `additional_info1` | string | 否 | 关于此订单提供给 BillDesk 的用户自定义信息。最大长度：`120` 个字符。 |
> | `additional_info2` | string | 否 | 关于此订单提供给 BillDesk 的用户自定义信息。最大长度：`120` 个字符。 |
> | `additional_info3` | string | 否 | 关于此订单提供给 BillDesk 的用户自定义信息。最大长度：`120` 个字符。 |
> | `additional_info4` | string | 否 | 关于此订单提供给 BillDesk 的用户自定义信息。最大长度：`120` 个字符。 |
> | `additional_info5` | string | 否 | 关于此订单提供给 BillDesk 的用户自定义信息。最大长度：`120` 个字符。 |
> | `additional_info6` | string | 否 | 关于此订单提供给 BillDesk 的用户自定义信息。最大长度：`120` 个字符。 |
> | `additional_info7` | string | 否 | 关于此订单提供给 BillDesk 的用户自定义信息。最大长度：`120` 个字符。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.payment\_settings\[].payment\_gateway.payu
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `udf1` | string | 否 | 关于此订单提供给 PayU 的用户自定义信息。最大长度：`255` 个字符。 |
> | `udf2` | string | 否 | 关于此订单提供给 PayU 的用户自定义信息。最大长度：`255` 个字符。 |
> | `udf3` | string | 否 | 关于此订单提供给 PayU 的用户自定义信息。最大长度：`255` 个字符。 |
> | `udf4` | string | 否 | 关于此订单提供给 PayU 的用户自定义信息。最大长度：`255` 个字符。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.payment\_settings\[].payment\_gateway.razorpay
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `receipt` | string | 否 | 对应此订单的收据编号，供您内部参考设置。支持的最大长度为 40 个字符，最小长度大于 0 个字符。 |
> | `notes` | object | 否 | 该对象可以是键值对，最多包含 15 个键，且每个值限制为 256 个字符。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].action.order\_details.payment\_settings\[].payment\_gateway.zaakpay
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `extra1` | string | 否 | 针对 Zaakpay 的关于此订单的用户自定义信息。最大长度：`180` 个字符。 |
> | `extra2` | string | 否 | 针对 Zaakpay 的关于此订单的用户自定义信息。最大长度：`180` 个字符。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].order\_status
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `reference_id` | string | 否 | 商家为订单提供的唯一标识符。 |
> | `order` | object | 否 | 仅针对 `order_status` 消息提供此订单的 `status` 和 `description`。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].order\_status.order
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `status` | string | 否 | 在 `order_details` 消息中唯一支持的值为 `pending`。在 `order_status` 消息中，`status` 可以是：`pending`、`processing`、`partially_shipped`、`shipped`、`completed` 或 `canceled`。 |
> | `type` | string | 否 | 唯一支持的值为 `quick_pay`。传入此字段时，我们将在订单详情气泡中隐藏“Review and Pay”按钮，仅显示“Pay Now”按钮。 |
> | `catalog_id` | string | 否 | 商家使用的 Facebook 目录的唯一标识符。如果不提供此字段，则必须在 items 对象内提供以下字段：`country_of_origin`、`importer_name` 和 `importer_address`。 |
> | `items` | object\[] | 否 | 订单中的商品数组。 |
> | `subtotal` | object | 否 | 该值 **必须等于** `order.amount.value` \* `order.amount.quantity` 的总和。 |
> | `tax` | object | 否 | 此订单的税费信息。 |
> | `shipping` | object | 否 | 订单的运费。 |
> | `discount` | object | 否 | 此订单的折扣金额。 |
> | `expiration` | object | 否 | 此订单的过期时间。 |
> | `description` | string | 否 | **可选。** 用于共享状态相关信息的文本。在发送取消信息时很有用。最大字符限制为 120 个字符。最大长度：`120`。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].order\_status.order.items\[]
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `retailer_id` | string | 否 | 目录中订单商品的 Content ID。 |
> | `name` | string | 是 | 向用户展示的商品名称。不能超过 60 个字符。最大长度：`60`。 |
> | `image` | object | 否 | 向用户展示的商品自定义图片。 |
> | `amount` | object | 是 | 每件商品的价格。 |
> | `sale_amount` | object | 否 | 每件商品的折后价格。该值应小于原金额。如果包含此字段，它将用于计算小计金额。 |
> | `quantity` | integer (int32) | 是 | 订单中的商品数量。 |
> | `country_of_origin` | string | 否 | 如果未提供 `catalog_id`，则必填。产品的原产国。 |
> | `importer_name` | string | 否 | 如果未提供 `catalog_id`，则必填。进口商公司名称。 |
> | `importer_address` | string | 否 | 如果未提供 `catalog_id`，则必填。进口商公司地址。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].order\_status.order.items\[].image
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `id` | string | 否 | \*\*在媒体已上传至 WhatsApp 服务器时使用此项。\*\*提供从 WhatsApp 媒体上传 API 获取的媒体对象 ID（\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)）。注意：必须提供](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)）。注意：必须提供) `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`。 |
> | `link` | string | 否 | \*\*直接从您的服务器发送媒体时使用此项。\*\*要发送的媒体的协议和 URL。仅可使用 HTTP/HTTPS URL。注意：WhatsApp Cloud API 会将媒体资源缓存 10 分钟。为确保获取最新内容，请在 URL 中添加随机查询字符串。注意：必须提供 `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`，`link` 将被忽略。 |
> | `caption` | string | 否 | 描述指定的 `image`、`gif`、`video` 或 `document` 媒体。不适用于 `template` 或 `interactive` 消息的 `header`。 |
> | `filename` | string | 否 | 描述特定文档的文件名。仅适用于 `document` 媒体。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].order\_status.order.items\[].amount
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 对于 `INR`，必须为 `100`。 |
> | `value` | integer (int32) | 是 | 正整数，表示乘以 offset 后的金额数值。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅用于 `tax`、`shipping` 或 `discount`。金额的描述。最大字符限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅用于 `discount`。用于定义激励订单的文本。如果订单包含激励信息，商家需要定义此信息。最大字符限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].order\_status.order.items\[].sale\_amount
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `offset` | 整数 (int32) | 是 | 对于 `INR`，必须为 `100`。 |
> | `value` | 整数 (int32) | 是 | 表示金额乘以 offset 后的正整数。例如，₹12.34 的值为 1234。 |
> | `description` | 字符串 | 否 | 仅适用于 `tax`、`shipping` 或 `discount`。金额说明。最大字符限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | 字符串 | 否 | 仅适用于 `discount`。用于定义激励订单的文本。如果订单包含激励，商家需要定义此信息。最大字符限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].order\_status.order.subtotal
>
> | 参数 | 类型 | 是否必填 | 描述 |
> | - | - | - | - |
> | `offset` | 整数 (int32) | 是 | 对于 `INR`，必须为 `100`。 |
> | `value` | 整数 (int32) | 是 | 表示金额乘以 offset 后的正整数。例如，₹12.34 的值为 1234。 |
> | `description` | 字符串 | 否 | 仅适用于 `tax`、`shipping` 或 `discount`。金额说明。最大字符限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | 字符串 | 否 | 仅适用于 `discount`。用于定义激励订单的文本。如果订单包含激励，商家需要定义此信息。最大字符限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].order\_status.order.tax
>
> | 参数 | 类型 | 是否必填 | 描述 |
> | - | - | - | - |
> | `offset` | 整数 (int32) | 是 | 对于 `INR`，必须为 `100`。 |
> | `value` | 整数 (int32) | 是 | 表示金额乘以 offset 后的正整数。例如，₹12.34 的值为 1234。 |
> | `description` | 字符串 | 否 | 仅适用于 `tax`、`shipping` 或 `discount`。金额说明。最大字符限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | 字符串 | 否 | 仅适用于 `discount`。用于定义激励订单的文本。如果订单包含激励，商家需要定义此信息。最大字符限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].order\_status.order.shipping
>
> | 参数 | 类型 | 是否必填 | 描述 |
> | - | - | - | - |
> | `offset` | 整数 (int32) | 是 | 对于 `INR`，必须为 `100`。 |
> | `value` | 整数 (int32) | 是 | 表示金额乘以 offset 后的正整数。例如，₹12.34 的值为 1234。 |
> | `description` | 字符串 | 否 | 仅适用于 `tax`、`shipping` 或 `discount`。金额说明。最大字符限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅适用于 `discount`。用于定义有奖励优惠订单的文本。如果订单包含优惠激励，商家需要定义此信息。最大字符限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].order\_status.order.discount
>
> | 参数 | 类型 | 必需 | 说明 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 必须为 `100`（对于 `INR`）。 |
> | `value` | integer (int32) | 是 | 正整数，表示乘以 offset 后的金额数值。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅适用于 `tax`、`shipping` 或 `discount`。金额描述。最大字符限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅适用于 `discount`。用于定义有奖励优惠订单的文本。如果订单包含优惠激励，商家需要定义此信息。最大字符限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].order\_status.order.expiration
>
> | 参数 | 类型 | 必需 | 说明 |
> | - | - | - | - |
> | `timestamp` | string | 是 | 订单到期时间的 UTC 时间戳（秒）字符串。最低阈值为 300 秒。 |
> | `description` | string | 否 | 到期的文字说明。最大长度：`120`。 |

> [accordion] whatsappMessage.template.components\[].parameters\[].location
>
> | 参数 | 类型 | 必需 | 说明 |
> | - | - | - | - |
> | `latitude` | number (double) | 是 | 位置的纬度。 |
> | `longitude` | number (double) | 是 | 位置的经度。 |
> | `name` | string | 否 | 位置名称。 |
> | `address` | string | 否 | 位置的地址。仅在存在 `name` 时显示。 |

> [accordion] whatsappMessage.template.components\[].cards\[]
>
> | 参数 | 类型 | 必需 | 说明 |
> | - | - | - | - |
> | `card_index` | integer (int32) | 否 | **必需。** 卡片在轮播卡片中显示的从 0 开始的顺序索引。0 表示第一张卡片，1 表示第二张卡片，依此类推。最小值：`0`。最大值：`9`。 |
> | `components` | object\[] | 否 | 卡片组件。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[]
>
> | 参数 | 类型 | 必需 | 说明 |
> | - | - | - | - |
> | `type` | string | 是 | 组件类型。可选值：`header`、`body`、`button`。 |
> | `sub_type` | string | 否 | **当类型为 `button` 时必需。** 按钮类型。<ul><li>`quick_reply`：指先前创建的快速回复按钮，允许客户返回预定义消息。</li><li>`url`：指先前创建的网址按钮，允许客户访问将文本参数附加到模板中预定义前缀 URL 后生成的 URL。</li></ul> |
> | `index` | integer (int32) | 否 | **当 `type` = `button` 时必填。不用于其他类型。** 如果模板使用多个按钮，该字段表示按钮应该出现的顺序。按钮索引从 0 开始，因此将值设为 0 会使该按钮排在第一个，索引为 1 的另一个按钮将排在下一个，以此类推。最小值：`0`。最大值：`9`。 |
> | `parameters` | object\[] | 否 | **当 `type` = `button`、对应模板组件中包含变量、或卡片组件 `HEADER` 格式为媒体（`IMAGE`、`VIDEO`）时必填。** 包含消息内容的参数对象数组。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[]
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `type` | string | 否 | **必填。** 组件参数类型。<ul><li>`text`：当模板组件类型为 `BODY`，或 `HEADER` 组件格式为 `TEXT` 时使用。</li><li>`image`：当模板 `HEADER` 组件为 `IMAGE` 时使用。</li><li>`gif`：当模板 `HEADER` 组件为 `GIF` 时使用。</li><li>`video`：当模板 `HEADER` 组件为 `VIDEO` 时使用。</li><li>`document`：当模板 `HEADER` 组件为 `DOCUMENT` 时使用。</li><li>`payload`：当模板组件按钮类型为 `QUICK_REPLY` 时使用。</li><li>`coupon_code`：当模板组件按钮类型为 `COPY_CODE` 时使用。</li><li>`limited_time_offer`：当模板组件类型为 `LIMITED_TIME_OFFER` 时使用。</li><li>`action`：当模板组件按钮类型为 `CATALOG`、`MPM`、`FLOW` 或 `ORDER_DETAILS` 时使用。</li><li>`order_status`：当模板子类别为 `ORDER_STATUS` 时使用。</li><li>`location`：当模板 `HEADER` 组件为 `LOCATION` 时使用。</li></ul> |
> | `text` | string | 否 | **当 `type` = `text` 时必填。** 消息文本。对于 header 组件，字符数限制为 60 个字符。对于 body 组件，字符数限制为 1024 个字符。对于 url 按钮，它表示附加在模板预定义前缀 URL 后的开发者自定义后缀。 |
> | `payload` | string | 否 | `quick_reply` 按钮必填。在点击按钮时，除按钮上的显示文本外，额外返回的开发者自定义有效负载。 |
> | `coupon_code` | string | 否 | **当 `type` = `coupon_code` 时必填。** 客户点击该按钮时要复制的优惠券代码。 |
> | `image` | object | 否 | **当模板 `HEADER` 格式为 `IMAGE` 时必填。** |
> | `gif` | object | 否 | **当模板 `HEADER` 格式为 `GIF` 时必填。** |
> | `video` | object | 否 | **当模板 `HEADER` 格式为 `VIDEO` 时必填。** |
> | `document` | object | 否 | **当模板 `HEADER` 格式为 `DOCUMENT` 时必填。** |
> | `limited_time_offer` | object | 否 | 如果模板使用优惠到期详情，则必填。 |
> | `action` | object | 否 | 如果模板使用目录或 MPM（多产品消息）按钮，则必填。 |
> | `order_status` | object | 否 | 对象字段如下所示。 |
> | `location` | object | 否 | **当 `type` = `location` 时必填。** |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].image
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `id` | string | 否 | \*\*当媒体文件已上传至 WhatsApp 服务器时使用。\*\*提供从 WhatsApp 媒体上传 API 获取的媒体对象 ID（\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)）。注意：必须提供](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)）。注意：必须提供) `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`。 |
> | `link` | string | 否 | \*\*直接从您的服务器发送媒体文件时使用。\*\*要发送的媒体文件的协议和 URL。仅适用于 HTTP/HTTPS URL。注意：WhatsApp Cloud API 会将媒体资源缓存 10 分钟。为确保获取最新内容，请在 URL 中添加随机查询字符串。注意：必须提供 `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`，并将忽略 `link`。 |
> | `caption` | string | 否 | 描述指定的 `image`、`gif`、`video` 或 `document` 媒体。不适用于 `template` 或 `interactive` 消息的 `header`。 |
> | `filename` | string | 否 | 描述指定文档的文件名。仅适用于 `document` 媒体。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].gif
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `id` | string | 否 | \*\*当媒体文件已上传至 WhatsApp 服务器时使用。\*\*提供从 WhatsApp 媒体上传 API 获取的媒体对象 ID（\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)）。注意：必须提供](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)）。注意：必须提供) `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`。 |
> | `link` | string | 否 | \*\*直接从您的服务器发送媒体文件时使用。\*\*要发送的媒体文件的协议和 URL。仅适用于 HTTP/HTTPS URL。注意：WhatsApp Cloud API 会将媒体资源缓存 10 分钟。为确保获取最新内容，请在 URL 中添加随机查询字符串。注意：必须提供 `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`，并将忽略 `link`。 |
> | `caption` | string | 否 | 描述指定的 `image`、`gif`、`video` 或 `document` 媒体。不适用于 `template` 或 `interactive` 消息的 `header`。 |
> | `filename` | string | 否 | 描述指定文档的文件名。仅适用于 `document` 媒体。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].video
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `id` | string | 否 | \*\*在媒体已上传至 WhatsApp 服务器时使用。\*\*提供从 WhatsApp 媒体上传 API 获取的媒体对象 ID（\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)）。注意：必须提供](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)）。注意：必须提供) `id` 或 `link` 之一。如果两者都提供，则优先使用 `id`。 |
> | `link` | string | 否 | \*\*直接从您的服务器发送媒体时使用。\*\*要发送的媒体的协议和 URL。仅适用于 HTTP/HTTPS URL。注意：WhatsApp Cloud API 会将媒体资源缓存 10 分钟。为确保内容最新，请在 URL 中添加随机查询字符串。注意：必须提供 `id` 或 `link` 之一。如果两者都提供，则优先使用 `id`，并将忽略 `link`。 |
> | `caption` | string | 否 | 描述指定的 `image`、`gif`、`video` 或 `document` 媒体。不适用于 `template` 或 `interactive` 消息的 `header`。 |
> | `filename` | string | 否 | 描述特定文档的文件名。仅适用于 `document` 媒体。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].document
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `id` | string | 否 | \*\*在媒体已上传至 WhatsApp 服务器时使用。\*\*提供从 WhatsApp 媒体上传 API 获取的媒体对象 ID（\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)）。注意：必须提供](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)）。注意：必须提供) `id` 或 `link` 之一。如果两者都提供，则优先使用 `id`。 |
> | `link` | string | 否 | \*\*直接从您的服务器发送媒体时使用。\*\*要发送的媒体的协议和 URL。仅适用于 HTTP/HTTPS URL。注意：WhatsApp Cloud API 会将媒体资源缓存 10 分钟。为确保内容最新，请在 URL 中添加随机查询字符串。注意：必须提供 `id` 或 `link` 之一。如果两者都提供，则优先使用 `id`，并将忽略 `link`。 |
> | `caption` | string | 否 | 描述指定的 `image`、`gif`、`video` 或 `document` 媒体。不适用于 `template` 或 `interactive` 消息的 `header`。 |
> | `filename` | string | 否 | 描述特定文档的文件名。仅适用于 `document` 媒体。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].limited\_time\_offer
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `expiration_time_ms` | integer (int64) | 否 | **必填。** 优惠码到期时间，为毫秒级 UNIX 时间戳。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `thumbnail_product_retailer_id` | string | 否 | **可选。** 用于目录和多商品模板（MPM）消息。商品 SKU 编号。在电商管理工具（Commerce Manager）中标记为内容编号（Content ID）。该商品的缩略图将用作消息的标头图片。如果省略 `parameters` 对象，则使用目录中第一个商品的商品图片。 |
> | `sections` | object\[] | 否 | 用于 MPM 模板。商品分组。最多可定义 10 个分组。 |
> | `flow_token` | string | 否 | 用于 `FLOW` 按钮。由商家生成的 Flow 令牌，用作标识符。默认值为 `unused`。 |
> | `flow_action_data` | object | 否 | 用于 `FLOW` 按钮。包含第一个屏幕数据负载的 JSON 对象。 |
> | `order_details` | object | 否 | `order_details` 按钮必填。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.sections\[]
>
> | 参数 | 类型 | 必填 | 描述 |
> | - | - | - | - |
> | `title` | string | 否 | 部分标题文本。最多 24 个字符。不支持 Markdown。最大长度：`24`。 |
> | `product_items` | object\[] | 否 | 商品 SKU 编号数组。每个部分最少 1 个商品，所有部分总计最多 30 个商品。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.sections\[].product\_items\[]
>
> | 参数 | 类型 | 必填 | 描述 |
> | - | - | - | - |
> | `product_retailer_id` | string | 否 | 要显示在该部分中的商品的 SKU 编号。SKU 编号在 [Commerce Manager](https://business.facebook.com/commerce) 中标记为 **Content ID** 。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details
>
> | 参数 | 类型 | 必填 | 描述 |
> | - | - | - | - |
> | `currency` | string | 是 | 此订单的货币。当前唯一支持的值为 `INR`。 |
> | `order` | object | 是 | 提供订单的 `status`、`items`、`subtotal`、`tax` 等信息。 |
> | `reference_id` | string | 是 | 商家提供的订单唯一标识符。区分大小写，不能为空字符串，且只能包含英文字母、数字、下划线、短划线或点号，且长度不得超过 35 个字符。对于特定商家，每个 order\_details 消息的 `reference_id` 必须唯一。如果需要为同一订单发送多条 order\_details 消息，建议在 reference\_id 中包含序号（例如 "BM345A-12"）以确保 reference\_id 的唯一性。 |
> | `total_amount` | object | 是 | 订单的总金额。 |
> | `type` | string | 是 | 此订单支付的商品类型。当前支持的选项为 `digital-goods` 和 `physical-goods`。 |
> | `payment_settings` | object\[] | 是 | 订单的付款设置。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.order
>
> | 参数 | 类型 | 必填 | 描述 |
> | - | - | - | - |
> | `status` | string | 否 | `order_details` 消息中唯一支持的值为 `pending`。在 `order_status` 消息中，`status` 可以是：`pending`、`processing`、`partially_shipped`、`shipped`、`completed` 或 `canceled`。 |
> | `type` | string | 否 | 唯一支持的值为 `quick_pay`。传入此字段时，我们会隐藏“查看并支付”按钮，仅在订单详情气泡中显示“立即支付”按钮。 |
> | `catalog_id` | string | 否 | 商家所使用的 Facebook 目录的唯一标识符。如果不提供此字段，则必须在 items 对象内提供以下字段：`country_of_origin`、`importer_name` 和 `importer_address`。 |
> | `items` | object\[] | 否 | 订单中的商品数组。 |
> | `subtotal` | object | 否 | 该值 **必须等于** `order.amount.value` \* `order.amount.quantity` 的总和。 |
> | `tax` | object | 否 | 此订单的税费信息。 |
> | `shipping` | object | 否 | 订单的运费。 |
> | `discount` | object | 否 | 此订单的折扣金额。 |
> | `expiration` | object | 否 | 此订单的过期时间。 |
> | `description` | string | 否 | **可选。** 用于分享状态相关信息的文本。在发送取消状态时很有用。最大字符限制为 120 个字符。最大长度：`120`。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.order.items\[]
>
> | 参数 | 类型 | 是否必填 | 描述 |
> | - | - | - | - |
> | `retailer_id` | string | 否 | 目录中订单内商品的内容 ID。 |
> | `name` | string | 是 | 展示给用户的商品名称。不能超过 60 个字符。最大长度：`60`。 |
> | `image` | object | 否 | 展示给用户的商品自定义图片。 |
> | `amount` | object | 是 | 单件商品价格。 |
> | `sale_amount` | object | 否 | 单件商品的折后价格。该金额应低于原价。如果包含此字段，将用于计算小计金额。 |
> | `quantity` | integer (int32) | 是 | 订单中的商品数量。 |
> | `country_of_origin` | string | 否 | 如果未提供 `catalog_id` 则为必填项。产品的原产国。 |
> | `importer_name` | string | 否 | 如果未提供 `catalog_id` 则为必填项。进口商公司名称。 |
> | `importer_address` | string | 否 | 如果未提供 `catalog_id` 则为必填项。进口商公司地址。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.order.items\[].image
>
> | 参数 | 类型 | 是否必填 | 描述 |
> | - | - | - | - |
> | `id` | string | 否 | \*\*当媒体上传到 WhatsApp 服务器时使用此字段。\*\*提供从 WhatsApp 媒体上传 API 获取的媒体对象 ID（\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)）。注意：必须提供](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)）。注意：必须提供) `id` 或 `link` 之一。如果两者都提供，则以 `id` 为准。 |
> | `link` | string | 否 | \*\*直接从您的服务器发送媒体时使用此项。\*\*要发送媒体的协议和 URL。仅适用于 HTTP/HTTPS URL。注意：WhatsApp Cloud API 会将媒体资源缓存 10 分钟。为确保获取最新内容，请向 URL 添加随机查询字符串。注意：必须提供 `id` 或 `link` 之一。如果两者都提供，则以 `id` 为准，`link` 将被忽略。 |
> | `caption` | string | 否 | 描述指定的 `image`、`gif`、`video` 或 `document` 媒体。不适用于 `template` 或 `interactive` 消息的 `header`。 |
> | `filename` | string | 否 | 描述特定文档的文件名。仅适用于 `document` 媒体。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.order.items\[].amount
>
> | 参数 | 类型 | 是否必填 | 描述 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 对于 `INR`，必须为 `100`。 |
> | `value` | integer (int32) | 是 | 表示金额乘以 offset 后的正整数。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅用于 `tax`、`shipping` 或 `discount`。金额的描述。最大字符数限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅用于 `discount`。用于定义激励订单的文本。如果订单包含激励，商家需要定义此信息。最大字符数限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.order.items\[].sale\_amount
>
> | 参数 | 类型 | 是否必填 | 描述 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 对于 `INR`，必须为 `100`。 |
> | `value` | integer (int32) | 是 | 表示金额乘以 offset 后的正整数。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅用于 `tax`、`shipping` 或 `discount`。金额的描述。最大字符数限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅用于 `discount`。用于定义激励订单的文本。如果订单包含激励，商家需要定义此信息。最大字符数限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.order.subtotal
>
> | 参数 | 类型 | 是否必填 | 描述 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 对于 `INR`，必须为 `100`。 |
> | `value` | integer (int32) | 是 | 表示金额乘以 offset 后的正整数。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅用于 `tax`、`shipping` 或 `discount`。金额的描述。最大字符数限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅用于 `discount`。用于定义激励订单的文本。如果订单包含激励，商家需要定义此信息。最大字符数限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.order.tax
>
> | 参数 | 类型 | 是否必填 | 描述 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 对于 `INR` 必须为 `100`。 |
> | `value` | integer (int32) | 是 | 正整数，表示金额乘以偏移量（offset）后的数值。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅适用于 `tax`、`shipping` 或 `discount`。金额描述。最大字符限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅适用于 `discount`。用于定义激励订单的文本。如果订单属于激励订单，商家需要定义此信息。最大字符限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.order.shipping
>
> | 参数 | 类型 | 必填 | 描述 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 对于 `INR` 必须为 `100`。 |
> | `value` | integer (int32) | 是 | 正整数，表示金额乘以偏移量（offset）后的数值。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅适用于 `tax`、`shipping` 或 `discount`。金额描述。最大字符限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅适用于 `discount`。用于定义激励订单的文本。如果订单属于激励订单，商家需要定义此信息。最大字符限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.order.discount
>
> | 参数 | 类型 | 必填 | 描述 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 对于 `INR` 必须为 `100`。 |
> | `value` | integer (int32) | 是 | 正整数，表示金额乘以偏移量（offset）后的数值。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅适用于 `tax`、`shipping` 或 `discount`。金额描述。最大字符限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅适用于 `discount`。用于定义激励订单的文本。如果订单属于激励订单，商家需要定义此信息。最大字符限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.order.expiration
>
> | 参数 | 类型 | 必填 | 描述 |
> | - | - | - | - |
> | `timestamp` | string | 是 | 订单过期的 UTC 时间戳字符串（单位：秒）。最小阈值为 300 秒。 |
> | `description` | string | 否 | 过期的文本说明。最大长度：`120`。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.total\_amount
>
> | 参数 | 类型 | 必填 | 描述 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 对于 `INR`，必须为 `100`。 |
> | `value` | integer (int32) | 是 | 正整数，表示金额乘以 offset 的值。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅用于 `tax`、`shipping` 或 `discount`。金额说明。最多 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅用于 `discount`。用于定义激励订单的文本。如果订单包含激励，商家需要定义此信息。最多 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.payment\_settings\[]
>
> | 参数 | 类型 | 是否必需 | 说明 |
> | - | - | - | - |
> | `type` | string | 是 | 必须设置为 `payment_gateway`。 |
> | `payment_gateway` | object | 是 | 描述支付账户信息的对象。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.payment\_settings\[].payment\_gateway
>
> | 参数 | 类型 | 是否必需 | 说明 |
> | - | - | - | - |
> | `type` | string | 是 | 支付类型。如果您已关联 BillDesk、Razorpay、PayU 或 Zaakpay 支付网关来接收付款，则必须将其设置为 `billdesk`、`razorpay`、`payu` 或 `zaakpay`。 |
> | `configuration_name` | string | 是 | 用于此订单的预配置支付配置名称，不能超过 60 个字符。该值必须与 WhatsApp Business 管理平台中设置的支付配置相匹配。最大长度：`60`。 |
> | `billdesk` | object | 否 | BillDesk 的附加信息。用户自定义字段 (extra) 用于存储与特定订单对应的任何信息。每个 extra 字段的最大字符限制为 120。 |
> | `payu` | object | 否 | PayU 的附加信息。用户自定义字段 (udf) 用于存储与特定订单对应的任何信息。每个 UDF 字段的最大字符限制为 255。 |
> | `razorpay` | object | 否 | Razorpay 的附加信息。 |
> | `zaakpay` | object | 否 | Zaakpay 的附加信息。用户自定义字段 (extra) 用于存储与特定订单对应的任何信息。每个 extra 字段的最大字符限制为 180。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.payment\_settings\[].payment\_gateway.billdesk
>
> | 参数 | 类型 | 是否必需 | 说明 |
> | - | - | - | - |
> | `additional_info1` | string | 否 | 针对 BillDesk 的此订单用户自定义信息。最大长度：`120` 个字符。 |
> | `additional_info2` | string | 否 | 针对 BillDesk 的此订单用户自定义信息。最大长度：`120` 个字符。 |
> | `additional_info3` | string | 否 | 针对 BillDesk 的此订单用户自定义信息。最大长度：`120` 个字符。 |
> | `additional_info4` | string | 否 | 供 BillDesk 使用的此订单用户定义信息。最大长度：`120` 个字符。 |
> | `additional_info5` | string | 否 | 供 BillDesk 使用的此订单用户定义信息。最大长度：`120` 个字符。 |
> | `additional_info6` | string | 否 | 供 BillDesk 使用的此订单用户定义信息。最大长度：`120` 个字符。 |
> | `additional_info7` | string | 否 | 供 BillDesk 使用的此订单用户定义信息。最大长度：`120` 个字符。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.payment\_settings\[].payment\_gateway.payu
>
> | 参数 | 类型 | 是否必需 | 说明 |
> | - | - | - | - |
> | `udf1` | string | 否 | 供 PayU 使用的此订单用户定义信息。最大长度：`255` 个字符。 |
> | `udf2` | string | 否 | 供 PayU 使用的此订单用户定义信息。最大长度：`255` 个字符。 |
> | `udf3` | string | 否 | 供 PayU 使用的此订单用户定义信息。最大长度：`255` 个字符。 |
> | `udf4` | string | 否 | 供 PayU 使用的此订单用户定义信息。最大长度：`255` 个字符。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.payment\_settings\[].payment\_gateway.razorpay
>
> | 参数 | 类型 | 是否必需 | 说明 |
> | - | - | - | - |
> | `receipt` | string | 否 | 对应此订单的收据编号，供您内部参考使用。支持的最大长度为 40 个字符，最小长度大于 0 个字符。 |
> | `notes` | object | 否 | 该对象可以为键值对，最多包含 15 个键，且每个值的长度限制为 256 个字符。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].action.order\_details.payment\_settings\[].payment\_gateway.zaakpay
>
> | 参数 | 类型 | 是否必需 | 说明 |
> | - | - | - | - |
> | `extra1` | string | 否 | 供 Zaakpay 使用的此订单用户定义信息。最大长度：`180` 个字符。 |
> | `extra2` | string | 否 | 供 Zaakpay 使用的此订单用户定义信息。最大长度：`180` 个字符。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].order\_status
>
> | 参数 | 类型 | 是否必需 | 说明 |
> | - | - | - | - |
> | `reference_id` | string | 否 | 由商家为此订单提供的唯一标识符。 |
> | `order` | object | 否 | 针对 `order_status` 消息，仅提供此订单的 `status` 和 `description`。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].order\_status.order
>
> | 参数 | 类型 | 是否必需 | 说明 |
> | - | - | - | - |
> | `status` | string | 否 | 在 `order_details` 消息中，唯一支持的值是 `pending`。在 `order_status` 消息中，`status` 可以是：`pending`、`processing`、`partially_shipped`、`shipped`、`completed` 或 `canceled`。 |
> | `type` | string | 否 | 唯一支持的值为 `quick_pay`。传入此字段时，我们将在订单详情气泡中隐藏“Review and Pay”按钮，仅显示“Pay Now”按钮。 |
> | `catalog_id` | string | 否 | 商家使用的 Facebook 目录的唯一标识符。如果您不提供此字段，则必须在 items 对象内提供以下字段：`country_of_origin`、`importer_name` 和 `importer_address`。 |
> | `items` | object\[] | 否 | 订单中商品的数组。 |
> | `subtotal` | object | 否 | 该值 **必须等于** `order.amount.value` \* `order.amount.quantity` 的总和。 |
> | `tax` | object | 否 | 此订单的税费信息。 |
> | `shipping` | object | 否 | 订单的运费。 |
> | `discount` | object | 否 | 此订单的折扣金额。 |
> | `expiration` | object | 否 | 此订单的过期时间。 |
> | `description` | string | 否 | **可选。** 用于分享状态相关信息的文本。在发送取消信息时很有用。字符数上限为 120 个字符。最大长度：`120`。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].order\_status.order.items\[]
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `retailer_id` | string | 否 | 目录中订单项的内容 ID。 |
> | `name` | string | 是 | 向用户展示的商品名称。不能超过 60 个字符。最大长度：`60`。 |
> | `image` | object | 否 | 向用户展示的商品自定义图片。 |
> | `amount` | object | 是 | 单件商品价格。 |
> | `sale_amount` | object | 否 | 单件商品的折后价格。该值应低于原价。如果包含此字段，它将用于计算小计金额。 |
> | `quantity` | integer (int32) | 是 | 订单中的商品数量。 |
> | `country_of_origin` | string | 否 | 如果未提供 `catalog_id` 则必填。产品的原产国。 |
> | `importer_name` | string | 否 | 如果未提供 `catalog_id` 则必填。进口商公司名称。 |
> | `importer_address` | string | 否 | 如果未提供 `catalog_id` 则必填。进口商公司地址。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].order\_status.order.items\[].image
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `id` | string | 否 | \*\*当媒体已上传至 WhatsApp 服务器时使用此字段。\*\*提供从 WhatsApp 媒体上传 API 获取的媒体对象 ID（\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)）。注意：必须提供](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)）。注意：必须提供) `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`。 |
> | `link` | string | 否 | \*\*直接从您的服务器发送媒体时使用此字段。\*\*待发送媒体的协议与 URL。仅支持 HTTP/HTTPS URL。注意：WhatsApp Cloud API 会将媒体资源缓存 10 分钟。为确保内容最新，请在 URL 中添加随机查询字符串。注意：必须提供 `id` 或 `link` 中的一个。如果两者均提供，则优先使用 `id`，`link` 将被忽略。 |
> | `caption` | string | 否 | 描述指定的 `image`、`gif`、`video` 或 `document` 媒体。不适用于 `template` 或 `interactive` 消息的 `header`。 |
> | `filename` | string | 否 | 描述指定文档的文件名。仅适用于 `document` 媒体。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].order\_status.order.items\[].amount
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 对于 `INR`，必须为 `100`。 |
> | `value` | integer (int32) | 是 | 表示金额值乘以 offset 后的正整数。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅适用于 `tax`、`shipping` 或 `discount`。金额的描述。最多 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅适用于 `discount`。用于定义激励订单的文本。如果订单包含激励，商家需要定义此信息。最多 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].order\_status.order.items\[].sale\_amount
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 对于 `INR`，必须为 `100`。 |
> | `value` | integer (int32) | 是 | 表示金额值乘以 offset 后的正整数。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅适用于 `tax`、`shipping` 或 `discount`。金额的描述。最多 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅适用于 `discount`。用于定义激励订单的文本。如果订单包含激励，商家需要定义此信息。最多 60 个字符。最大长度：`60`. |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].order\_status.order.subtotal
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 对于 `INR`，必须为 `100`。 |
> | `value` | integer (int32) | 是 | 表示金额值乘以 offset 后的正整数。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅适用于 `tax`、`shipping` 或 `discount`。金额的描述。最多 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅适用于 `discount`。用于定义激励订单的文本。如果订单包含激励，商家需要定义此信息。最大字符数限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].order\_status.order.tax
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 针对 `INR` 必须为 `100`。 |
> | `value` | integer (int32) | 是 | 表示金额乘以 offset 后的正整数。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅适用于 `tax`、`shipping` 或 `discount`。金额描述。最大字符数限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅适用于 `discount`。用于定义激励订单的文本。如果订单包含激励，商家需要定义此信息。最大字符数限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].order\_status.order.shipping
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 针对 `INR` 必须为 `100`。 |
> | `value` | integer (int32) | 是 | 表示金额乘以 offset 后的正整数。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅适用于 `tax`、`shipping` 或 `discount`。金额描述。最大字符数限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅适用于 `discount`。用于定义激励订单的文本。如果订单包含激励，商家需要定义此信息。最大字符数限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].order\_status.order.discount
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 针对 `INR` 必须为 `100`。 |
> | `value` | integer (int32) | 是 | 表示金额乘以 offset 后的正整数。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅适用于 `tax`、`shipping` 或 `discount`。金额描述。最大字符数限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅适用于 `discount`。用于定义激励订单的文本。如果订单包含激励，商家需要定义此信息。最大字符数限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].order\_status.order.expiration
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `timestamp` | string | 是 | 订单应过期的 UTC 时间戳字符串（以秒为单位）。最小阈值为 300 秒。 |
> | `description` | string | 否 | 过期的文字说明。最大长度：`120`。 |

> [accordion] whatsappMessage.template.components\[].cards\[].components\[].parameters\[].location
>
> | 参数 | 类型 | 是否必需 | 说明 |
> | - | - | - | - |
> | `latitude` | number (double) | 是 | 地点的纬度。 |
> | `longitude` | number (double) | 是 | 地点的经度。 |
> | `name` | string | 否 | 地点名称。 |
> | `address` | string | 否 | 地点地址。仅在存在 `name` 时显示。 |

> [accordion] whatsappMessage.text
>
> | 参数 | 类型 | 是否必需 | 说明 |
> | - | - | - | - |
> | `body` | string | 是 | 文本消息必填。文本消息的内容，可以包含以 http\:// 或 https\:// 开头的 URL 以及格式设置。请参阅此处可用的格式设置选项。如果您在文本中包含 URL 并希望在文本消息中包含预览框 (preview\_url: true)，请确保 URL 以 http\:// 或 https\:// 开头——首选 https\:// URL。您必须包含主机名，因为不会匹配 IP 地址。最大长度：4096 个字符。最大长度：`4096`。 |
> | `preview_url` | boolean | 否 | 默认情况下，WhatsApp 会识别 URL 并使其可点击，但您也可以包含一个带有链接更多信息的预览框。如果您想包含 URL 预览框，请将此字段设置为 true。在大多数情况下，当您发送 URL、将 preview\_url 设置为 true 并提供带有 http 或 https 链接的 body 对象时，接收者将看到他们可以点击的 URL。URL 预览仅在发生以下情况之一后才会呈现：<ul><li>商家已向用户发送消息模板。</li><li>用户通过“点击聊天”链接发起对话。</li><li>用户将商家电话号码添加到其通讯录并发起对话。默认值：`false`。</li></ul> |

> [accordion] whatsappMessage.image
>
> | 参数 | 类型 | 是否必需 | 说明 |
> | - | - | - | - |
> | `id` | string | 否 | \*\*当媒体上传到 WhatsApp 服务器时使用此字段。\*\*提供从 WhatsApp 媒体上传 API (\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/))) 获取的媒体对象 ID。注意：必须提供 `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`。 |
> | `link` | string | 否 | \*\*直接从您的服务器发送媒体时使用此字段。\*\*要发送媒体的协议和 URL。仅与 HTTP/HTTPS URL 搭配使用。注意：WhatsApp Cloud API 会将媒体资源缓存 10 分钟。为确保获取最新内容，请在 URL 中添加随机查询字符串。注意：必须提供 `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`，而 `link` 将被忽略。 |
> | `caption` | string | 否 | 描述指定的 `image`、`gif`、`video` 或 `document` 媒体。不适用于 `template` 或 `interactive` 消息的 `header`。 |
> | `filename` | string | 否 | 描述特定文档的文件名。仅与 `document` 媒体搭配使用。 |

> [accordion] whatsappMessage.video
>
> | 参数 | 类型 | 是否必需 | 说明 |
> | - | - | - | - |
> | `id` | string | 否 | \*\*当媒体文件上传到 WhatsApp 服务器时使用此字段。\*\*提供从 WhatsApp 媒体上传 API 获取的媒体对象 ID（\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)）。注意：必须提供](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)）。注意：必须提供) `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`。 |
> | `link` | string | 否 | \*\*直接从您的服务器发送媒体文件时使用此字段。\*\*要发送的媒体文件的协议和 URL。仅支持 HTTP/HTTPS URL。注意：WhatsApp Cloud API 会将媒体资源缓存 10 分钟。为确保获取最新内容，请在 URL 中添加随机查询字符串。注意：必须提供 `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`，且 `link` 将被忽略。 |
> | `caption` | string | 否 | 描述指定的 `image`、`gif`、`video` 或 `document` 媒体。不适用于 `template` 或 `interactive` 消息的 `header`。 |
> | `filename` | string | 否 | 描述特定文档的文件名。仅适用于 `document` 媒体。 |

> [accordion] whatsappMessage.audio
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `id` | string | 否 | \*\*当媒体文件上传到 WhatsApp 服务器时使用此字段。\*\*提供从 WhatsApp 媒体上传 API 获取的媒体对象 ID（\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)）。注意：必须提供](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)）。注意：必须提供) `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`。 |
> | `link` | string | 否 | \*\*直接从您的服务器发送媒体文件时使用此字段。\*\*要发送的媒体文件的协议和 URL。仅支持 HTTP/HTTPS URL。注意：WhatsApp Cloud API 会将媒体资源缓存 10 分钟。为确保获取最新内容，请在 URL 中添加随机查询字符串。注意：必须提供 `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`，且 `link` 将被忽略。 |
> | `caption` | string | 否 | 描述指定的 `image`、`gif`、`video` 或 `document` 媒体。不适用于 `template` 或 `interactive` 消息的 `header`。 |
> | `filename` | string | 否 | 描述特定文档的文件名。仅适用于 `document` 媒体。 |

> [accordion] whatsappMessage.document
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `id` | string | 否 | \*\*当媒体文件上传到 WhatsApp 服务器时使用此字段。\*\*提供从 WhatsApp 媒体上传 API 获取的媒体对象 ID（\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)）。注意：必须提供](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)）。注意：必须提供) `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`。 |
> | `link` | string | 否 | \*\*直接从您的服务器发送媒体文件时使用此字段。\*\*要发送的媒体文件的协议和 URL。仅支持 HTTP/HTTPS URL。注意：WhatsApp Cloud API 会将媒体资源缓存 10 分钟。为确保获取最新内容，请在 URL 中添加随机查询字符串。注意：必须提供 `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`，且 `link` 将被忽略。 |
> | `caption` | string | 否 | 描述指定的 `image`、`gif`、`video` 或 `document` 媒体。不适用于 `template` 或 `interactive` 消息的 `header`。 |
> | `filename` | string | 否 | 描述特定文档的文件名。仅适用于 `document` 媒体。 |

> [accordion] whatsappMessage.sticker
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `id` | string | 否 | \*\*当媒体已上传至 WhatsApp 服务器时使用此项。\*\*提供从 WhatsApp 媒体上传 API 获取的媒体对象 ID（\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)）。注意：必须提供](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)）。注意：必须提供) `id` 或 `link` 其中之一。如果两者均提供，则以 `id` 为准。 |
> | `link` | string | 否 | \*\*直接从您的服务器发送媒体时使用此项。\*\*要发送媒体的协议和 URL。仅支持 HTTP/HTTPS URL。注意：WhatsApp Cloud API 会将媒体资源缓存 10 分钟。为确保内容为最新，请在 URL 中添加随机查询字符串。注意：必须提供 `id` 或 `link` 其中之一。如果两者均提供，则以 `id` 为准，`link` 将被忽略。 |
> | `caption` | string | 否 | 描述指定的 `image`、`gif`、`video` 或 `document` 媒体。不适用于 `template` 或 `interactive` 消息的 `header`。 |
> | `filename` | string | 否 | 描述特定文档的文件名。仅适用于 `document` 媒体。 |

> [accordion] whatsappMessage.location
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `latitude` | number (double) | 是 | 地点的纬度。 |
> | `longitude` | number (double) | 是 | 地点的经度。 |
> | `name` | string | 否 | 地点名称。 |
> | `address` | string | 否 | 地点地址。仅在存在 `name` 时显示。 |

> [accordion] whatsappMessage.interactive
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `type` | string | 否 | **必填。** 您要发送的互动消息类型。<ul><li>`button`：用于快捷回复按钮。</li><li>`list`：用于列表消息。</li><li>`cta_url`：用于行动号召（CTA）URL 按钮消息。</li><li>`product`：用于单商品消息。</li><li>`product_list`：用于多商品消息。</li><li>`catalog_message`：用于目录消息。</li><li>`location_request_message`：用于位置请求消息。</li><li>`order_details`：用于订单详情消息。</li><li>`order_status`：用于订单状态消息。</li><li>`voice_call`：用于语音通话消息。</li><li>`flow`：用于 Flow 消息。</li></ul> |
> | `action` | object | 否 | **必填。** 用户在阅读 `interactive` 消息后需要执行的操作。 |
> | `body` | object | 否 | 针对 `product` 类型为可选。其他消息类型必填。 |
> | `header` | object | 否 | 针对 `product_list` 类型必填。其他类型为可选。 |
> | `footer` | object | 否 | 可选。包含消息页脚的对象。 |

> [accordion] whatsappMessage.interactive.action
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `buttons` | object\[] | 否 | 回复按钮必填。最多可包含 3 个按钮。 |
> | `button` | string | 否 | 列表消息必填。按钮内容。不能为空字符串，且在消息中必须唯一。支持 Emoji 表情符号，不支持 Markdown。最大长度：20 个字符。最大长度：`20`。 |
> | `catalog_id` | string | 否 | 单产品消息和多产品消息必填。关联到你的 WhatsApp 商业账户的 Facebook 目录唯一标识符。此 ID 可通过 [Meta 电商管理工具](https://business.facebook.com/commerce) 获取。 |
> | `product_retailer_id` | string | 否 | 单产品消息和多产品消息必填。目录中产品的唯一标识符。 |
> | `sections` | object\[] | 否 | 列表消息和多产品消息必填。分段（section）对象数组。最少 1 个，最多 10 个。 |
> | `name` | string | 否 | 操作名称。行动呼吁 (CTA) 按钮必填。<ul><li>`cta_url`：用于行动呼吁 (CTA) 网址按钮。</li><li>`catalog_message`：用于目录消息。</li><li>`send_location`：用于位置请求按钮。</li><li>`flow`：用于 Flow 按钮。</li><li>`review_and_pay`：用于订单详情按钮。</li><li>`review_order`: 用于订单状态按钮。</li><li>`voice_call`：用于语音通话按钮。</li></ul> |
> | `parameters` | object | 否 | 操作参数。行动呼吁 (CTA) 按钮必填。 |

> [accordion] whatsappMessage.interactive.action.buttons\[]
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `type` | string | 否 | 唯一支持的类型是 `reply`（用于回复按钮）。 |
> | `reply` | object | 否 | 对象字段如下所列。 |

> [accordion] whatsappMessage.interactive.action.buttons\[].reply
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `title` | string | 否 | 按钮标题。不能为空字符串，且在消息中必须唯一。支持 Emoji 表情符号，不支持 Markdown。最大长度：20 个字符。最大长度：`20`。 |
> | `id` | string | 否 | 按钮的唯一标识符。当用户点击按钮时，该 ID 会在 Webhook 中返回。最大长度：256 个字符。设置 ID 时不能包含前导或尾随空格。最大长度：`256`。 |

> [accordion] whatsappMessage.interactive.action.sections\[]
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `title` | string | 否 | **如果消息包含多个分段，则必填。** 分段标题。最大长度：24 个字符。最大长度：`24`。 |
> | `rows` | object\[] | 否 | 包含行列表。所有分段总共最多可包含 10 行。每行必须有一个标题（最大长度：24 个字符）和一个 ID（最大长度：200 个字符）。你可以添加描述（最大长度：72 个字符），此项为可选。 |
> | `product_items` | object\[] | 否 | 多商品消息（Multi-Product Messages）必填。商品对象数组。每个分区至少包含 1 个商品，所有分区总计最多包含 30 个商品。 |

> [accordion] whatsappMessage.interactive.action.sections\[].rows\[]
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `id` | string | 否 | 行唯一 ID。最大长度：200 个字符。最大长度：`200`。 |
> | `title` | string | 否 | 行标题内容。最大长度：24 个字符。最大长度：`24`。 |
> | `description` | string | 否 | 行描述内容。最大长度：72 个字符。最大长度：`72`。 |

> [accordion] whatsappMessage.interactive.action.sections\[].product\_items\[]
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `product_retailer_id` | string | 否 | 多商品消息（Multi-Product Messages）必填。商品在目录中的唯一标识符。 |

> [accordion] whatsappMessage.interactive.action.parameters
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `display_text` | string | 否 | CTA URL 按钮的文本。最大长度：20 字节。最大长度：`20`。 |
> | `url` | string | 否 | CTA URL 按钮的 URL。 |
> | `thumbnail_product_retailer_id` | string | 否 | 商品 SKU 编码。在 [Commerce Manager](https://business.facebook.com/commerce) 中标记为 **Content ID** 。该商品的缩略图将用作消息的标头图片。 |
> | `flow_message_version` | string | 否 | 用于 `flow` 按钮。值必须为 "3"。 |
> | `flow_token` | string | 否 | 用于 `flow` 按钮。由商家生成的 Flow 令牌，用作标识符。默认值为 `unused`。 |
> | `flow_id` | string | 否 | 用于 `flow` 按钮时按条件必填。WhatsApp 提供的 Flow 唯一 ID。不能与 `flow_name` 参数同时使用。 |
> | `flow_name` | string | 否 | 用于 `flow` 按钮时按条件必填。您创建的 Flow 的名称。不能与 `flow_id` 参数同时使用。更改 Flow 名称后，需要更新此参数以匹配新名称。 |
> | `flow_cta` | string | 否 | `flow` 按钮必填。CTA 按钮上的文本。例如："Open flow!"。最大长度：20 个字符。最大长度：`20`。 |
> | `flow_action` | string | 否 | 用于 `flow` 按钮。为 `navigate` 或 `data_exchange`。默认值为 `navigate`。 |
> | `flow_action_payload` | object | 否 | 如果 `flow_action` 为 `navigate` 则必填。否则应省略。 |
> | `reference_id` | string | 否 | `review_ 和 _pay` 按钮必填。商家提供的订单唯一标识符。区分大小写且不能为空字符串，只能包含英文字母、数字、下划线、破折号或点，且长度不能超过 35 个字符。对于特定商家，每个 order\_details 消息的 `reference_id` 必须唯一。如果需要为同一订单发送多个 order\_details 消息，建议在 reference\_id 中包含序号（例如 "BM345A-12"），以确保 reference\_id 的唯一性。 |
> | `type` | string | 否 | `review_and_pay` 按钮必需。此订单所支付的商品类型。当前支持的选项为 `digital-goods` 和 `physical-goods`。 |
> | `beneficiaries` | object\[] | 否 | `review_and_pay` 按钮必需。此订单的受让人（beneficiary）数组。受让人是指订单中实物商品的预期收件人。受让人信息不会向用户显示，但出于法律和合规原因是必需的。 |
> | `currency` | string | 否 | `review_and_pay` 按钮必需。此订单的货币。当前唯一支持的值是 `INR`。 |
> | `total_amount` | object | 否 | `review_and_pay` 按钮必需。此订单的总金额。 |
> | `order` | object | 否 | `review_and_pay` 或 `review_order` 按钮必需。对于 `review_and_pay` 按钮，提供订单 `status`、`items`、`subtotal`、`tax` 等。对于 `review_order` 按钮，仅提供订单 `status` 和 `description`。 |
> | `payment_settings` | object\[] | 否 | `review_and_pay` 按钮必需。订单的支付设置。 |

> [accordion] whatsappMessage.interactive.action.parameters.flow\_action\_payload
>
> | 参数 | 类型 | 是否必需 | 描述 |
> | - | - | - | - |
> | `screen` | string | 否 | 首先显示的屏幕 ID。它必须是 **entry** 屏幕。 |
> | `data` | object | 否 | Flow 第一个屏幕的可选输入数据。如果提供，必须是非空对象。 |

> [accordion] whatsappMessage.interactive.action.parameters.beneficiaries\[]
>
> | 参数 | 类型 | 是否必需 | 描述 |
> | - | - | - | - |
> | `name` | string | 是 | 接收实物商品的个人或企业名称。不能超过 200 个字符。最大长度：`200`。 |
> | `address_line1` | string | 是 | 收货地址（门牌号/楼号、街道名称等）。不能超过 100 个字符。最大长度：`100`。 |
> | `address_line2` | string | 否 | 收货地址（地标、区域等）。不能超过 100 个字符。最大长度：`100`。 |
> | `city` | string | 是 | 城市名称。 |
> | `state` | string | 是 | 州/省名称。 |
> | `country` | string | 是 | 国家名称。当前唯一支持的值是 `India`。 |
> | `postal_code` | string | 是 | 收货地址的 6 位邮政编码。最小长度：`6`。最大长度：`6`。 |

> [accordion] whatsappMessage.interactive.action.parameters.total\_amount
>
> | 参数 | 类型 | 是否必需 | 描述 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 对于 `INR` 必须为 `100`。 |
> | `value` | integer (int32) | 是 | 正整数，表示金额值乘以偏移量（offset）。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅用于 `tax`、`shipping` 或 `discount`。金额的描述。最大字符限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅适用于 `discount`。用于定义促销激励订单的文本。如果订单包含优惠激励，商家需要定义此信息。最多 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.interactive.action.parameters.order
>
> | 参数 | 类型 | 是否必填 | 描述 |
> | - | - | - | - |
> | `status` | string | 否 | 在 `order_details` 消息中唯一支持的值为 `pending`。在 `order_status` 消息中，`status` 可以是：`pending`、`processing`、`partially_shipped`、`shipped`、`completed` 或 `canceled`。 |
> | `type` | string | 否 | 唯一支持的值为 `quick_pay`。传入此字段时，我们将在订单详情气泡中隐藏“Review and Pay”按钮，仅显示“Pay Now”按钮。 |
> | `catalog_id` | string | 否 | 商家使用的 Facebook 目录的唯一标识符。如果不提供此字段，则必须在 items 对象中提供以下字段：`country_of_origin`、`importer_name` 和 `importer_address`。 |
> | `items` | object\[] | 否 | 订单中的商品数组。 |
> | `subtotal` | object | 否 | 该值 **必须等于** `order.amount.value` \* `order.amount.quantity` 的总和。 |
> | `tax` | object | 否 | 此订单的税费信息。 |
> | `shipping` | object | 否 | 订单的运费。 |
> | `discount` | object | 否 | 此订单的折扣金额。 |
> | `expiration` | object | 否 | 此订单的过期时间。 |
> | `description` | string | 否 | \*\*可选。\*\*用于共享状态相关信息的文本。发送取消通知时可能会有用。最多 120 个字符。最大长度：`120`。 |

> [accordion] whatsappMessage.interactive.action.parameters.order.items\[]
>
> | 参数 | 类型 | 是否必填 | 描述 |
> | - | - | - | - |
> | `retailer_id` | string | 否 | 目录中订单商品的内容 ID。 |
> | `name` | string | 是 | 向用户显示的商品名称。不能超过 60 个字符。最大长度：`60`。 |
> | `image` | object | 否 | 向用户展示的商品自定义图片。 |
> | `amount` | object | 是 | 每件商品的单价。 |
> | `sale_amount` | object | 否 | 每件商品的折后单价。该价格应低于原始金额。如果包含此字段，它将用于计算小计金额。 |
> | `quantity` | integer (int32) | 是 | 订单中的商品数量。 |
> | `country_of_origin` | string | 否 | 如果未提供 `catalog_id` 则为必填项。商品的原产国。 |
> | `importer_name` | string | 否 | 如果未提供 `catalog_id` 则为必填项。进口商公司名称。 |
> | `importer_address` | string | 否 | 如果未提供 `catalog_id` 则为必填项。进口商公司地址。 |

> [accordion] whatsappMessage.interactive.action.parameters.order.items\[].image
>
> | 参数 | 类型 | 是否必填 | 描述 |
> | - | - | - | - |
> | `id` | string | 否 | \*\*当媒体已上传至 WhatsApp 服务器时使用。\*\*提供从 WhatsApp 媒体上传 API 获取的媒体对象 ID（\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)）。注意：必须提供](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)）。注意：必须提供) `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`。 |
> | `link` | string | 否 | \*\*当直接从您的服务器发送媒体时使用。\*\*要发送的媒体的协议和 URL。仅支持 HTTP/HTTPS URL。注意：WhatsApp Cloud API 会将媒体资源缓存 10 分钟。为确保内容最新，请在 URL 中添加随机查询字符串。注意：必须提供 `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`，`link` 将被忽略。 |
> | `caption` | string | 否 | 描述指定的 `image`、`gif`、`video` 或 `document` 媒体。不适用于 `template` 或 `interactive` 消息的 `header`。 |
> | `filename` | string | 否 | 描述特定文档的文件名。仅适用于 `document` 媒体。 |

> [accordion] whatsappMessage.interactive.action.parameters.order.items\[].amount
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 对于 `INR`，必须为 `100`。 |
> | `value` | integer (int32) | 是 | 表示金额乘以 offset 后的正整数值。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅用于 `tax`、`shipping` 或 `discount`。金额的说明。最大字符限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅用于 `discount`。用于定义激励订单的文本。如果订单包含优惠激励，商家需要定义此信息。最大字符限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.interactive.action.parameters.order.items\[].sale\_amount
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 对于 `INR`，必须为 `100`。 |
> | `value` | integer (int32) | 是 | 表示金额乘以 offset 后的正整数值。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅用于 `tax`、`shipping` 或 `discount`。金额的说明。最大字符限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅用于 `discount`。用于定义激励订单的文本。如果订单包含优惠激励，商家需要定义此信息。最大字符限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.interactive.action.parameters.order.subtotal
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | 对于 `INR`，必须为 `100`。 |
> | `value` | integer (int32) | 是 | 表示金额乘以 offset 后的正整数值。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅适用于 `tax`、`shipping` 或 `discount`。金额的描述。最大字符数限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅适用于 `discount`。用于定义激励订单的文本。如果订单包含激励，商家需要定义此信息。最大字符数限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.interactive.action.parameters.order.tax
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | `INR` 必须为 `100`。 |
> | `value` | integer (int32) | 是 | 表示金额数值乘以 offset 后的正整数。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅适用于 `tax`、`shipping` 或 `discount`。金额的描述。最大字符数限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅适用于 `discount`。用于定义激励订单的文本。如果订单包含激励，商家需要定义此信息。最大字符数限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.interactive.action.parameters.order.shipping
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | `INR` 必须为 `100`。 |
> | `value` | integer (int32) | 是 | 表示金额数值乘以 offset 后的正整数。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅适用于 `tax`、`shipping` 或 `discount`。金额的描述。最大字符数限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅适用于 `discount`。用于定义激励订单的文本。如果订单包含激励，商家需要定义此信息。最大字符数限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.interactive.action.parameters.order.discount
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `offset` | integer (int32) | 是 | `INR` 必须为 `100`。 |
> | `value` | integer (int32) | 是 | 表示金额数值乘以 offset 后的正整数。例如，₹12.34 的值为 1234。 |
> | `description` | string | 否 | 仅适用于 `tax`、`shipping` 或 `discount`。金额的描述。最大字符数限制为 60 个字符。最大长度：`60`。 |
> | `discount_program_name` | string | 否 | 仅适用于 `discount`。用于定义激励订单的文本。如果订单包含激励，商家需要定义此信息。最大字符数限制为 60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.interactive.action.parameters.order.expiration
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `timestamp` | string | 是 | 表示订单过期时间的 UTC 时间戳字符串（单位为秒）。最小阈值为 300 秒。 |
> | `description` | string | 否 | 过期的文本说明。最大长度：`120`。 |

> [accordion] whatsappMessage.interactive.action.parameters.payment\_settings\[]
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `type` | string | 是 | 必须设置为 `payment_gateway`。 |
> | `payment_gateway` | object | 是 | 描述支付账户信息的对象。 |

> [accordion] whatsappMessage.interactive.action.parameters.payment\_settings\[].payment\_gateway
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `type` | string | 是 | 支付类型。如果您已关联 BillDesk、Razorpay、PayU 或 Zaakpay 支付网关来接收付款，则必须将其设置为 `billdesk`、`razorpay`、`payu` 或 `zaakpay`。 |
> | `configuration_name` | string | 是 | 用于此订单的预配置支付配置名称，不得超过 60 个字符。该值必须与 WhatsApp 商业管理平台中设置的支付配置相匹配。最大长度：`60`。 |
> | `billdesk` | object | 否 | BillDesk 的附加信息。用户自定义字段 (extra) 用于存储与特定订单对应的任何信息。每个 extra 字段的最大字符限制为 120。 |
> | `payu` | object | 否 | PayU 的附加信息。用户自定义字段 (udf) 用于存储与特定订单对应的任何信息。每个 UDF 字段的最大字符限制为 255。 |
> | `razorpay` | object | 否 | Razorpay 的附加信息。 |
> | `zaakpay` | object | 否 | Zaakpay 的附加信息。用户自定义字段 (extra) 用于存储与特定订单对应的任何信息。每个 extra 字段的最大字符限制为 180。 |

> [accordion] whatsappMessage.interactive.action.parameters.payment\_settings\[].payment\_gateway.billdesk
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `additional_info1` | string | 否 | BillDesk 的关于此订单的用户自定义信息。最大长度：`120` 个字符。 |
> | `additional_info2` | string | 否 | BillDesk 的关于此订单的用户自定义信息。最大长度：`120` 个字符。 |
> | `additional_info3` | string | 否 | BillDesk 的关于此订单的用户自定义信息。最大长度：`120` 个字符。 |
> | `additional_info4` | string | 否 | BillDesk 的关于此订单的用户自定义信息。最大长度：`120` 个字符。 |
> | `additional_info5` | string | 否 | BillDesk 的关于此订单的用户自定义信息。最大长度：`120` 个字符。 |
> | `additional_info6` | string | 否 | BillDesk 的关于此订单的用户自定义信息。最大长度：`120` 个字符。 |
> | `additional_info7` | string | 否 | BillDesk 的关于此订单的用户自定义信息。最大长度：`120` 个字符。 |

> [accordion] whatsappMessage.interactive.action.parameters.payment\_settings\[].payment\_gateway.payu
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `udf1` | string | 否 | 供 PayU 使用的此订单用户自定义信息。最大长度：`255` 个字符。 |
> | `udf2` | string | 否 | 供 PayU 使用的此订单用户自定义信息。最大长度：`255` 个字符。 |
> | `udf3` | string | 否 | 供 PayU 使用的此订单用户自定义信息。最大长度：`255` 个字符。 |
> | `udf4` | string | 否 | 供 PayU 使用的此订单用户自定义信息。最大长度：`255` 个字符。 |

> [accordion] whatsappMessage.interactive.action.parameters.payment\_settings\[].payment\_gateway.razorpay
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `receipt` | string | 否 | 对应于此订单的收据编号，供您内部参考设置。支持的最大长度为 40 个字符，最小长度大于 0 个字符。 |
> | `notes` | object | 否 | 该对象可以是键值对，最多包含 15 个键，每个值的长度限制为 256 个字符。 |

> [accordion] whatsappMessage.interactive.action.parameters.payment\_settings\[].payment\_gateway.zaakpay
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `extra1` | string | 否 | 供 Zaakpay 使用的此订单用户自定义信息。最大长度：`180` 个字符。 |
> | `extra2` | string | 否 | 供 Zaakpay 使用的此订单用户自定义信息。最大长度：`180` 个字符。 |

> [accordion] whatsappMessage.interactive.body
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `text` | string | 否 | 消息的正文内容。支持 Emoji 表情和 markdown。最大长度：1024 个字符。最大长度：`1024`。 |

> [accordion] whatsappMessage.interactive.header
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `type` | string | 否 | **必填。** 您想要使用的页眉类型。<ul><li>`text`：用于列表消息（List Messages）、回复按钮（Reply Buttons）和多商品消息（Multi-Product Messages）。</li><li>`video`：用于回复按钮（Reply Buttons）。</li><li>`image`：用于回复按钮（Reply Buttons）。</li><li>`document`：用于回复按钮（Reply Buttons）。</li></ul> |
> | `text` | string | 否 | 页眉文本。格式支持 Emoji 表情，但不支持 markdown。最大长度：`60`。 |
> | `image` | object | 否 | 用于 `image`、`gif`、`video`、`audio`、`document` 或 `sticker` 消息。另请参见[支持的媒体类型](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media#supported-media-types)。 |
> | `video` | object | 否 | 用于 `image`、`gif`、`video`、`audio`、`document` 或 `sticker` 消息。另请参见[支持的媒体类型](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media#supported-media-types)。 |
> | `document` | object | 否 | 用于 `image`、`gif`、`video`、`audio`、`document` 或 `sticker` 消息。另请参见[支持的媒体类型](https://developers.facebook.com/docs/whatsapp/cloud-api/reference/media#supported-media-types)。 |

> [accordion] whatsappMessage.interactive.header.image
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `id` | string | 否 | \*\*当媒体文件已上传到 WhatsApp 服务器时使用。\*\*提供从 WhatsApp 媒体上传 API 获取的媒体对象 ID（\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)）。注意：必须提供](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)）。注意：必须提供) `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`。 |
> | `link` | string | 否 | \*\*直接从您的服务器发送媒体时使用。\*\*要发送的媒体的协议和 URL。仅支持 HTTP/HTTPS URL。注意：WhatsApp Cloud API 会将媒体资源缓存 10 分钟。为确保内容最新，请在 URL 中添加随机查询字符串。注意：必须提供 `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`，并将忽略 `link`。 |
> | `caption` | string | 否 | 描述指定的 `image`、`gif`、`video` 或 `document` 媒体。不适用于 `template` 或 `interactive` 消息的 `header`。 |
> | `filename` | string | 否 | 描述特定文档的文件名。仅适用于 `document` 媒体。 |

> [accordion] whatsappMessage.interactive.header.video
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `id` | string | 否 | \*\*当媒体文件已上传到 WhatsApp 服务器时使用。\*\*提供从 WhatsApp 媒体上传 API 获取的媒体对象 ID（\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)）。注意：必须提供](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)）。注意：必须提供) `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`。 |
> | `link` | string | 否 | \*\*直接从您的服务器发送媒体时使用。\*\*要发送的媒体的协议和 URL。仅支持 HTTP/HTTPS URL。注意：WhatsApp Cloud API 会将媒体资源缓存 10 分钟。为确保内容最新，请在 URL 中添加随机查询字符串。注意：必须提供 `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`，并将忽略 `link`。 |
> | `caption` | string | 否 | 描述指定的 `image`、`gif`、`video` 或 `document` 媒体。不适用于 `template` 或 `interactive` 消息的 `header`。 |
> | `filename` | string | 否 | 描述特定文档的文件名。仅适用于 `document` 媒体。 |

> [accordion] whatsappMessage.interactive.header.document
>
> | 参数 | 类型 | 必填 | 说明 |
> | - | - | - | - |
> | `id` | string | 否 | \*\*当媒体文件已上传到 WhatsApp 服务器时使用。\*\*提供从 WhatsApp 媒体上传 API 获取的媒体对象 ID（\[[https://docs.ycloud.com/reference/whatsapp\_media-upload#/](https://docs.ycloud.com/reference/whatsapp_media-upload#/)]\([https://docs.ycloud.com/reference/whatsapp\_media-upload#/)）。注意：必须提供](https://docs.ycloud.com/reference/whatsapp_media-upload#/\)）。注意：必须提供) `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`。 |
> | `link` | string | 否 | \*\*直接从您的服务器发送媒体时使用。\*\*要发送的媒体的协议和 URL。仅支持 HTTP/HTTPS URL。注意：WhatsApp Cloud API 会将媒体资源缓存 10 分钟。为确保内容最新，请在 URL 中添加随机查询字符串。注意：必须提供 `id` 或 `link` 之一。如果两者均提供，则优先使用 `id`，并将忽略 `link`。 |
> | `caption` | string | 否 | 描述指定的 `image`、`gif`、`video` 或 `document` 媒体。不适用于 `template` 或 `interactive` 消息的 `header`。 |
> | `filename` | string | 否 | 描述特定文档的文件名。仅适用于 `document` 媒体。 |

> [accordion] whatsappMessage.interactive.footer
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `text` | string | 否 | 页脚内容。支持表情符号和 Markdown。支持链接。最大长度：60 个字符。最大长度：`60`。 |

> [accordion] whatsappMessage.contacts\[]
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `addresses` | object\[] | 否 | 数组项说明如下。 |
> | `birthday` | string | 否 | `YYYY-MM-DD` 格式的字符串。 |
> | `emails` | object\[] | 否 | 数组项说明如下。 |
> | `name` | object | 是 | 格式化为 name 对象的联系人全名。 |
> | `org` | object | 否 | 格式化为 org 对象的联系人组织信息。 |
> | `phones` | object\[] | 否 | 格式化为 phone 对象的联系人电话号码。 |
> | `urls` | object\[] | 否 | 格式化为 urls 对象的联系人 URL。 |
> | `vcard` | string | 否 | 随共享联系人有效负载提供的可选 vCard。 |
> | `origin` | string | 否 | 当用户响应请求联系人信息消息而共享联系人时，设置为 `contact_request`。 |

> [accordion] whatsappMessage.contacts\[].addresses\[]
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `street` | string | 否 | 门牌号和街道名称。 |
> | `city` | string | 否 | 城市名称。 |
> | `state` | string | 否 | 州/省份缩写。 |
> | `zip` | string | 否 | 邮政编码。 |
> | `country` | string | 否 | 国家/地区全名。 |
> | `country_code` | string | 否 | 两位字母国家/地区代码缩写。 |
> | `type` | string | 否 | 标准值为 `HOME` 和 `WORK`。 |

> [accordion] whatsappMessage.contacts\[].emails\[]
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `email` | string | 否 | 电子邮件地址。 |
> | `type` | string | 否 | 标准值为 `HOME` 和 `WORK`。 |

> [accordion] whatsappMessage.contacts\[].name
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `formatted_name` | string | 是 | 通常显示的完整姓名。 |
> | `first_name` | string | 否 | 名。 |
> | `last_name` | string | 否 | 姓。 |
> | `middle_name` | string | 否 | 中间名。 |
> | `suffix` | string | 否 | 名字后缀。 |
> | `prefix` | string | 否 | 名字前缀。 |

> [accordion] whatsappMessage.contacts\[].org
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `company` | string | 否 | 联系人公司名称。 |
> | `department` | string | 否 | 联系人部门名称。 |
> | `title` | string | 否 | 联系人的业务职位。 |

> [accordion] whatsappMessage.contacts\[].phones\[]
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `phone` | string | 否 | 自动填充为格式化后的电话号码（取自 `wa_id` 的值）。 |
> | `type` | string | 否 | 标准值为 `CELL`、`MAIN`、`IPHONE`、`HOME` 和 `WORK`。 |
> | `wa_id` | string | 否 | WhatsApp ID。 |

> [accordion] whatsappMessage.contacts\[].urls\[]
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `url` | string | 否 | URL。 |
> | `type` | string | 否 | 标准值为 `HOME` 和 `WORK`。 |

> [accordion] whatsappMessage.reaction
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `message_id` | string | 是 | 指定包含该回应的已接收消息的 `wamid`。 |
> | `emoji` | string | 否 | 发送 `reaction` 消息时 **必填** 。如果要移除表情符号，请将其设置为空字符串（`""`）。从用户接收消息时为 **可选** 。当用户使用表情符号对消息做出回应时，将包含此字段；若不包含，则表示用户移除了该表情符号。 |

> [accordion] whatsappMessage.context
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `message_id` | string | 否 | 指定您正在回复的消息的 `wamid`。`wamid` 是 WhatsApp 平台上的原始消息 ID。 |

> [accordion] whatsappMessage.whatsappApiError
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `message` | string | 是 | 人类可读的错误描述。 |
> | `code` | string | 是 | 错误码。 |
> | `type` | string | 否 | 错误类型。 |
> | `error_subcode` | string | 否 | 错误的附加代码。 |
> | `error_user_msg` | string | 否 | 显示给用户的消息。该消息的语言取决于 API 请求的语言区域（locale）。 |
> | `error_user_title` | string | 否 | 对话框标题（如果有显示）。该消息的语言取决于 API 请求的语言区域（locale）。 |
> | `fbtrace_id` | string | 否 | 内部支持标识符。当报告与 Graph API 调用相关的错误时，请提供 fbtrace\_id 以帮助我们查找用于调试的日志数据。 |
> | `error_data` | string or object | 否 | 有关错误的附加数据。为字符串或映射（map）。<ul><li>对于模板 API，此字段是描述错误原因的字符串。</li><li>对于消息 API，此字段是包含描述错误原因的 `details` 属性的映射（map）。</li></ul> |

## 示例

以下 JSON 是发送至接收端的请求体。ID、电话号码及其他账户值仅供参考。

从 whatsappMessage 中读取出站消息。消息类型决定了其内容对象；此示例包含文本。

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "evt_example_smb_created",
  "type": "whatsapp.smb.message.created",
  "apiVersion": "v2",
  "createTime": "2026-10-09T08:00:00.000Z",
  "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"
  }
}
```

在验证签名并持久接收该事件后，返回 `2xx` 响应。耗时工作请异步处理。

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

如需查看场景演练，请参阅[带注释的示例](https://docs.ycloud.com/zh/api-reference/guides/examples/webhook-examples/whatsapp-business-app-sent-message-sync-webhook-examples)。


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