跳转到主要内容

功能说明

订阅 whatsapp.meta_business_agent.handover.updated。 当 YCloud 处理针对通过 API 创建的 Meta Business Agent 的受支持移交/控制权回调时,您会收到此事件。它仅报告控制权转移,并不代表 Inbox 分配结果或自定义移交消息的处理结果。 与两个 Echo 事件不同,此事件有意保留了 whatsappMetaBusinessAgent 对象,因为 Agent 和控制权元数据属于移交协定的一部分。

准备工作

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

工作原理

所有示例均使用占位符标识符。请根据外层 type 进行路由并读取 whatsappMetaBusinessAgent,而不是 whatsappMessage、whatsappEchoMessage 或 data。 使用外层 id 对重复推送进行去重。嵌套的 timestamp 为 Unix 毫秒时间戳整数;createTime 为 RFC 3339 格式字符串。
  • 对于受支持的 API Agent 移交回调,controlState 当前为 APP_CONTROL_TAKEN。
  • consumerPhoneNumber 来自移交回调的 sender.phone_number,且在有效时规范化为 E.164 格式。它不是商业号码或 phoneNumberId。
  • 当前的移交协定不公开 recipientUserId 或 parentRecipientUserId。缺失的客户身份信息不会从相邻的消息回调中恢复。
  • 对于下面的 control_passed 示例,actor 标识前一个所有者应用,而非接收员工。
  • reason 是可选的提供商元数据。请将其视为开放字符串,而非固定枚举。
  • 这并不是针对每个 take、release、Set Live 或 Set Draft 请求的通知。在 Agent 处于 Draft 状态时处理的控制权回调将被忽略。
有效负载不会凭空生成客户身份。当回调未提供有效电话号码时,consumerPhoneNumber 会被省略,且不会从相邻消息推断 BSUID。phoneNumberId 标识商业号码,该号码可为多名客户提供服务。
请勿将此事件视为员工已被分配或自定义移交消息已发送或送达的凭证。

请求

YCloud 会在向您配置的 Webhook URL 发送的 HTTP POST 请求中包含这些 JSON 主体。

响应

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

Agent 将控制权移交给您的应用程序

请求

APP_CONTROL_TAKEN 报告控制权转移,并不代表 Inbox 员工分配或自定义移交消息送达。在此示例中,actor 是前一个所有者应用 ID。

响应

说明

存在 consumerPhoneNumber 时,可使用它将控制权转移与客户关联起来。请勿从此事件推断 Inbox 分配或消息送达状态。

相关示例