history Webhook
history 负责将 Coexistence 号码现有对话一次性传输至 API。它会在完成入驻且接受共享历史记录后送达,也是集成确认传输确实发生的唯一信号。
它会传送什么
它会传送号码在 WhatsApp Business 应用中已有的一对一消息记录,让软件接入企业使用多年的号码时不会从空白开始。
群组对话不会随之传送,因为 Coexistence 号码上的群组对话完全不包含在 API 中。应用本身的工具也不会传送:标签、快捷回复、问候语和离开消息没有对应的 API 功能,仍保留在设备上。
此字段仅存在于 Coexistence 号码。以普通方式完成入驻的号码没有既有应用历史记录可传送,因此没有内容可交付。
为什么只触发一次
因为这项传输属于入驻流程,而不是持续提供的功能。
企业所有者会在 Embedded Signup 中被询问是否共享现有对话。选择是,才会允许同步运行;之后没有设置可以重新开启,也没有端点可以重复执行。第二次尝试会返回 2593107,而不是等待一段时间后就会清除的速率限制。
此外还有截止时间。同步必须在入驻后 24 小时内开始,之后尝试会返回 2593108。错过任一条件,都必须断开号码并重新完成整个流程。
处理程序应如何处理它
将它视为一次送达且可能很大的批次,而不是消息路径上的额外流量。
- 快速确认并异步处理,与其他送达一样。
- 按 message id 去重:入驻前后,history 与实时消息可能会重叠。
- 要预期它可能不存在。所有者拒绝历史记录的号码不会在此发送内容,集成必须在两种情况下都能运行。
- 不要让入驻流程等待它完成。传输完成前,连接已经可以使用。
常见错误
- 构建必须依赖历史记录的集成。许多号码连接时并没有历史记录。
- 在 2593107 后重试同步。它是一次性事件,因此重试会返回相同错误。
- 等到集成工作开始后才决定是否传输历史记录,而那通常已经超过 24 小时期限。
EasyCoexistence 会在连接时间线中记录入驻及历史记录选择,因此号码是否同步以及在哪一天同步,都是有日期的事实,无需日后重新推断。
常见问题
会传送多少历史记录?
一段近期一对一对话记录,范围由 Meta 决定,而不是由服务提供商决定。
群组聊天会传过来吗?
不会。Coexistence 号码上的群组对话完全不包含在 API 中。
之后可以再次请求吗?
不可以。每次入驻只运行一次,再次运行必须先断开并重新连接号码。
如果所有者拒绝传输历史记录,会怎样?
此字段不会送达任何内容,API 只能看到号码连接后产生的消息。
继续阅读
准备开始了吗?
几分钟即可设置 WhatsApp Coexistence,而不是几个月。应用会继续在手机上运行。
开始免费试用验证时间