功能简介
WhatsApp Messages API 用于通过已连接的 WhatsApp 商业电话号码发送模板、文本、图片、视频、音频、文档、贴纸、位置、交互式、联系人以及回应消息。准备工作
- 将您的 YCloud API 密钥存储在
YCLOUD_API_KEY中。 - 将 WhatsApp 商业账户和电话号码关联至 YCloud。
- 收集采用 E.164 格式的发件人电话号码,以及收件人电话号码 号码、BSUID 或父级 BSUID。
- 使用
APPROVED模板进行常规模板发送。 - 当消息引用 YCloud 媒体 ID 时,请先上传媒体。
工作原理
根据 YCloud 应何时将消息提交到 WhatsApp Business API 来选择端点。
两个端点均返回一个 YCloud 消息对象。初始响应并不确认最终送达。后续状态变更将通过
whatsapp.message.updated Webhook 推送。
直接发送实用类内容
Direct Send 可以提交符合条件的实用性内容,或转换现有的实用性模板。它适用于任一发送端点。sendDirectly 端点控制同步提交;它本身并不会启用 Direct Send。
请参阅Direct Send 最佳实践,了解资格要求、请求、模板转换、配额限制及账户事件的相关信息。
选择最佳发送时间
根据消息目的以及接收者的当地时间来匹配发送时间。- 立即发送 OTP 和其他时效性消息。使用
POST /whatsapp/messages/sendDirectly:当您的工作流需要提交时 结果后再继续。 - 在相关事件发生时发送交易类动态更新,例如付款完成时, 发货或预约变更。
- 在收件人所在时区的合理时间段内安排营销消息发送。 使用您自己的送达、已读和转化数据来测试不同的发送时间段 针对每个受众群体,而不是假设存在一个放之四海皆准的最佳时间点。
- 先面向小规模受众群体启动定时营销活动。检查送达情况, 响应以及退订结果,然后再发送给其余受众。
- 避免在消息延迟时重复发送。存储
externalId并处理 在决定是否重试之前,whatsapp.message.updatedWebhook。
请求
选择上述任一端点,然后使用与消息类型匹配的请求体。from 的值是您已连接的 WhatsApp 商业电话号码。使用 E.164 格式的 to 或设置为 BSUID 或父 BSUID 的 recipient 来指定接收者。
通用请求字段
请提供
to 或 recipient 中的至少一个。如果两者都包含,YCloud 将使用 to 并忽略 recipient。
一键、零点击(zero-tap)以及复制代码身份验证模板需要一个电话
号码。对于这些模板类型,请使用
to。请求示例
模板消息
模板消息
文本消息
文本消息
图片消息
图片消息
视频消息
视频消息
音频消息
音频消息
文档消息
文档消息
贴图消息
贴图消息
位置消息
位置消息
交互式消息
交互式消息
联系人消息
联系人消息
回应消息
回应消息
响应
成功的响应会返回 YCloud 消息对象。初始的status: accepted 表示 YCloud 已接受发送请求。这并不意味着消息已由 Meta 发送或已送达 WhatsApp 用户。
响应示例
响应字段
送达状态
订阅whatsapp.message.updated Webhook 以接收后续的状态变更,例如 sent、failed、delivered 或 read。
当您需要直接检索消息时,请使用 GET /whatsapp/messages/{id}。
限制与故障排查
- 常规模板发送需要
APPROVED模板;ARCHIVED模板 无法作为普通消息模板发送。 - 在没有幂等策略的情况下,请勿重试已接受的请求。重复的 请求可能会发送重复的消息。
- 在进行以下操作时,请使用 YCloud
id、wamid、externalId以及 Webhook 状态: 排查送达情况。 - 当直接请求到达 Meta 且被 Meta 拒绝时,请检查
whatsappApiError它。
直接发送最佳实践
发送效用类内容、转换模板,并监控类别和限制事件。
生产环境最佳实践
设计状态同步、有界重试、同意检查、媒体复用,
以及生产集成的吞吐量控制。
使用业务范围的用户 ID
通过 BSUID 发送消息和发起通话、请求电话号码、管理 Meta 联系人
簿条目,并处理 BSUID Webhook 字段。

