跳转到主要内容

功能说明

订阅 whatsapp.echo_message.created。 当 YCloud 为通过 Public REST API 接入的 Meta Business Agent 记录出站 echo 时,你将收到此事件。从 whatsappMessage 读取标准消息格式的内容;请勿将此事件用于客户入站消息。 当前的契约保持事件名称不变,同时将 echo 公开为标准 WhatsApp 消息。Agent、交接和收件箱路由字段不属于此有效负载。

准备工作

  1. 通过 Public REST API 接入 Agent。
  2. 将同一账户中的活跃 Webhook 端点订阅到 whatsapp.echo_message.created。
  3. 对照原始请求体验证 YCloud-Signature,持久接收每个事件并进行幂等处理。
在控制台创建的 Agent 不会发出此客户 Webhook。它们的收件箱同步属于独立流程。
端点设置请参阅配置 Webhook。

工作原理

所有示例均使用占位符标识符。根据外层 type 进行路由,并读取 whatsappMessage,而不是 whatsappMetaBusinessAgent、whatsappEchoMessage 或 data。 使用外层 id 对重复投递进行去重。外层 createTime 为 Webhook 事件时间;嵌套的消息时间字段为 RFC 3339 源时间。
  • 使用 id 或 wamid 关联后续状态事件。
  • 从 text.body 读取文本。对于媒体,检查 type 和对应的内含对象。媒体 ID 不是公开下载 URL。
  • 客户电话号码和 BSUID 彼此独立。当源回调同时提供两者时,事件会同时包含 to 以及 recipientUserId 或 parentRecipientUserId。缺失的身份信息将被忽略,不会相互推断。
  • 当源回调提供有效电话号码时,from 为企业展示电话号码。它并非由 phoneNumberId 推导得出。
  • 回复上下文会规范化为标准消息契约。例如,源 context.id 会公开为 context.message_id。
  • 不包含 Agent、交接、路由、定价和对话字段。
  • status 是处理 echo 时存储的状态;并不保证是 sent。
  • 客户入站消息使用 whatsapp.inbound_message.received。Business App echo 使用 whatsapp.smb.message.echoes。

请求

YCloud 会在发送到你配置的 Webhook URL 的 HTTP POST 请求中发送这些 JSON 体。

响应

持久接收每个事件后返回 2xx 响应。耗时任务请异步处理。

出站文本 echo

请求

存储来自 whatsappMessage.text.body 的文本。id 和 wamid 用于关联后续状态事件。

响应

说明

从 whatsappMessage.text.body 读取 echo 文本。使用 id 或 wamid 关联后续状态事件。

出站图片 echo

请求

消息内容因类型而异。请将媒体 ID 视为服务提供商引用,而不是公开下载 URL。

响应

说明

使用 type 选择匹配的内容对象。将媒体 id 视为服务提供商引用。

相关示例