> ## 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.echoes

> 当从 WhatsApp Business App 发送的消息作为回执（echo）同步时触发。

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

## 触发条件

当从 WhatsApp Business App 发送的消息作为回执（echo）同步时触发。

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

## 语法

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

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "<ID>",
  "type": "whatsapp.smb.message.echoes",
  "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>",
    "toUserId": "<TO_USER_ID>",
    "toParentUserId": "<TO_PARENT_USER_ID>",
    "customerProfile": {
      "username": "<USERNAME>"
    }
  }
}
```

## 参数

在处理 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.echoes`。 |
| `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`：采用按消息计费。</li><li>`CBP`：采用按会话计费。</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 按钮，允许客户访问通过将文本参数附加到模板中预定义前缀 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 之后。 |
> | `payload` | string | 否 | `quick_reply` 按钮必填。开发者定义的有效负载（payload），在点击按钮时与按钮上的显示文本一起返回。 |
> | `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#/)）。注意：必须提供](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#/)）。注意：必须提供](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#/)）。注意：必须提供](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 编号。在电商管理工具中标记为内容编号（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\[].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) | 是 | 表示金额数值乘以偏移量的正整数。例如，₹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 | 否 | 目录中订单内商品的内容 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` | 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.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\[].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\[].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\[].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\[].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 而生成的 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` 按钮必填。点击按钮时除按钮上显示的文本外返回的开发者自定义有效负载（payload）。 |
> | `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 编号。在商务管理平台中标记为 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`。当传入该字段时，我们会在订单详情气泡中隐藏“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\[].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 商务管理平台（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\[].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 (\[[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.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) | 是 | 表示金额乘以偏移量后的正整数。例如，₹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) | 是 | 表示金额乘以偏移量后的正整数。例如，₹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) | 是 | 表示金额乘以偏移量后的正整数。例如，₹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 获取的媒体对象 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.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 | 否 | 列表消息必填。按钮内容。不能是空字符串，且在消息内必须唯一。支持表情符号，不支持 Markdown。最大长度：20 个字符。最大长度：`20`。 |
> | `catalog_id` | string | 否 | 单商品消息和多商品消息必填。关联到您的 WhatsApp 商业账户的 Facebook 目录的唯一标识符。此 ID 可通过 [Meta Commerce Manager](https://business.facebook.com/commerce) 获取。 |
> | `product_retailer_id` | string | 否 | 单商品消息和多商品消息必填。目录中商品的唯一标识符。 |
> | `sections` | object\[] | 否 | 列表消息和多商品消息必填。section 对象的数组。最少 1 个，最多 10 个。 |
> | `name` | string | 否 | 操作名称。行动呼吁 (CTA) 按钮必填。<ul><li>`cta_url`：用于行动呼吁 (CTA) URL 按钮。</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 | 否 | 按钮标题。不能是空字符串，且在消息内必须唯一。支持表情符号，不支持 Markdown。最大长度：20 个字符。最大长度：`20`。 |
> | `id` | string | 否 | 按钮的唯一标识符。当用户点击按钮时，此 ID 会在 Webhook 中返回。最大长度：256 个字符。设置 ID 时不能包含前导或尾随空格。最大长度：`256`。 |

> [accordion] whatsappMessage.interactive.action.sections\[]
>
> | 参数 | 类型 | 是否必填 | 说明 |
> | - | - | - | - |
> | `title` | string | 否 | **如果消息包含多个 section，则为必填项。** section 的标题。最大长度：24 个字符。最大长度：`24`。 |
> | `rows` | object\[] | 否 | 包含行列表。所有 section 总共可以有 10 行。每行必须包含标题（最大长度：24 个字符）和 ID（最大长度：200 个字符）。您可以添加描述（最大长度：72 个字符），但它是可选的。 |
> | `product_items` | object\[] | 否 | 多商品消息（Multi-Product Messages）必填。商品对象数组。每个分区（section）至少包含 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 个字符。对于给定的商家，`reference_id` 必须在每个 order\_details 消息中保持唯一。如果需要为同一订单发送多条 order\_details 消息，建议在 reference\_id 中包含序号（例如 "BM345A-12"），以确保 reference\_id 的唯一性。 |
> | `type` | string | 否 | `review_and_pay` 按钮必需。此订单中支付的商品类型。当前支持的选项为 `digital-goods` 和 `physical-goods`。 |
> | `beneficiaries` | object\[] | 否 | `review_and_pay` 按钮必需。此订单的收款方（受益人）列表。受益人是订单中实物商品的预期收货人。受益人信息不会显示给用户，但出于法律合规原因是必需的。 |
> | `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 | 否 | 目录中订单商品的 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.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#/)）。注意：\`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.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 | 否 | 消息的正文内容。支持表情符号和 Markdown。最大长度：1024 个字符。最大长度：`1024`。 |

> [accordion] whatsappMessage.interactive.header
>
> | 参数 | 类型 | 必填 | 描述 |
> | - | - | - | - |
> | `type` | string | 否 | **必填。** 您希望使用的标头类型。<ul><li>`text`：用于列表消息、回复按钮和多产品消息。</li><li>`video`：用于回复按钮。</li><li>`image`：用于回复按钮。</li><li>`document`：用于回复按钮。</li></ul> |
> | `text` | string | 否 | 页眉文本。格式允许使用表情符号，但不支持 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` 媒体。不适用于 `header` 或 `template` 消息的 `interactive`。 |
> | `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、电话号码和其他账户值仅供参考。

> [accordion] WhatsApp Business App 文本消息
>
> 此事件会同步从 WhatsApp Business 应用或受支持的配套设备发送的消息。从 whatsappMessage 中读取其内容。
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_example_smb_echoes",
>   "type": "whatsapp.smb.message.echoes",
>   "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",
>     "toUserId": "US.13491208655302741918",
>     "toParentUserId": "US.ENT.11815799212886844830",
>     "customerProfile": {
>       "username": "example_customer"
>     }
>   }
> }
> ```

> [accordion] 出站图片消息
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEVCy8eNqD9EvcFI",
>   "type": "whatsapp.smb.message.echoes",
>   "apiVersion": "v2",
>   "createTime": "2023-02-22T12:00:00.000Z",
>   "whatsappMessage": {
>     "id": "63f5d602367ea403f8175a6c",
>     "wamid": "wamid.BgNODYxN...",
>     "status": "sent",
>     "from": "BUSINESS-PHONE-NUMBER",
>     "to": "CUSTOMER-PHONE-NUMBER",
>     "toUserId": "US.13491208655302741918",
>     "toParentUserId": "US.1181579921288684483",
>     "customerProfile": {
>       "username": "@joee"
>     },
>     "wabaId": "WABA-ID",
>     "createTime": "2022-03-01T12:00:00.000Z",
>     "sendTime": "2022-03-01T12:00:01.000Z",
>     "bizType": "whatsapp",
>     "type": "image",
>     "image": {
>       "link": "https://example.com/sample",
>       "id": "592623615738103"
>     }
>   }
> }
> ```

> [accordion] 出站视频消息
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEVCy8eNqD9EvcFI",
>   "type": "whatsapp.smb.message.echoes",
>   "apiVersion": "v2",
>   "createTime": "2023-02-22T12:00:00.000Z",
>   "whatsappMessage": {
>     "id": "63f5d602367ea403f8175a6c",
>     "wamid": "wamid.BgNODYxN...",
>     "status": "sent",
>     "from": "BUSINESS-PHONE-NUMBER",
>     "to": "CUSTOMER-PHONE-NUMBER",
>     "toUserId": "US.13491208655302741918",
>     "toParentUserId": "US.1181579921288684483",
>     "customerProfile": {
>       "username": "@joee"
>     },
>     "wabaId": "WABA-ID",
>     "createTime": "2022-03-01T12:00:00.000Z",
>     "sendTime": "2022-03-01T12:00:01.000Z",
>     "bizType": "whatsapp",
>     "type": "video",
>     "video": {
>       "link": "https://example.com/sample",
>       "id": "592623615738103"
>     }
>   }
> }
> ```

> [accordion] 出站音频消息
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEVCy8eNqD9EvcFI",
>   "type": "whatsapp.smb.message.echoes",
>   "apiVersion": "v2",
>   "createTime": "2023-02-22T12:00:00.000Z",
>   "whatsappMessage": {
>     "id": "63f5d602367ea403f8175a6c",
>     "wamid": "wamid.BgNODYxN...",
>     "status": "sent",
>     "from": "BUSINESS-PHONE-NUMBER",
>     "to": "CUSTOMER-PHONE-NUMBER",
>     "toUserId": "US.13491208655302741918",
>     "toParentUserId": "US.1181579921288684483",
>     "customerProfile": {
>       "username": "@joee"
>     },
>     "wabaId": "WABA-ID",
>     "createTime": "2022-03-01T12:00:00.000Z",
>     "sendTime": "2022-03-01T12:00:01.000Z",
>     "bizType": "whatsapp",
>     "type": "audio",
>     "audio": {
>       "link": "https://example.com/sample",
>       "id": "592623615738103"
>     }
>   }
> }
> ```

> [accordion] 出站文档消息
>
> ```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
> {
>   "id": "evt_eEVCy8eNqD9EvcFI",
>   "type": "whatsapp.smb.message.echoes",
>   "apiVersion": "v2",
>   "createTime": "2023-02-22T12:00:00.000Z",
>   "whatsappMessage": {
>     "id": "63f5d602367ea403f8175a6c",
>     "wamid": "wamid.BgNODYxN...",
>     "status": "sent",
>     "from": "BUSINESS-PHONE-NUMBER",
>     "to": "CUSTOMER-PHONE-NUMBER",
>     "toUserId": "US.13491208655302741918",
>     "toParentUserId": "US.1181579921288684483",
>     "customerProfile": {
>       "username": "@joee"
>     },
>     "wabaId": "WABA-ID",
>     "createTime": "2022-03-01T12:00:00.000Z",
>     "sendTime": "2022-03-01T12:00:01.000Z",
>     "bizType": "whatsapp",
>     "type": "document",
>     "document": {
>       "link": "https://example.com/sample",
>       "id": "592623615738103",
>       "caption": "图片"
>     }
>   }
> }
> ```

在验证签名并持久接收事件后，返回 `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.