通过 Coexistence 将 Botpress 机器人连接到 WhatsApp
在 Botpress 的 WhatsApp 集成中选择 Manual Configuration。粘贴已连接号码的访问令牌和号码 ID,自选一个验证令牌,App ID 和 Client Secret 留空。然后把 Botpress 的 Webhook URL 和该验证令牌设为此号码的 Webhook 目标,Meta 就会把每条消息送到机器人。
Botpress 的 Client Secret 字段:若留空,则跳过 Webhook 签名验证。
Botpress 指南订阅的 Webhook 字段,包括 messages 和模板状态更新。
客户消息开启的客户服务窗口,窗口内可以发送任何服务消息。
哪种 Botpress 配置适用于 Coexistence 号码?
Manual Configuration。其他选项会通过 Botpress 自己的 Meta 应用来连接号码,这等于对号码重新做一次接入,而不是使用已经连接好的号码。
在 WhatsApp 集成中,打开 Configuration 下拉菜单并选择 Manual Configuration。它需要 Verify Token、Access Token、Default Bot Phone Number ID,另有可选的 App ID、Client Secret 和 WABA ID。
访问令牌、号码 ID 和 WABA ID 都来自该连接:控制台会显示它们,get_api_credentials 也会把它们返回给助手。验证令牌可以是您自选的任意字符串。App ID 和 Client Secret 保持为空。Botpress 的指南把密钥当作需要填写的字段,但其集成定义将它标为可选,并说明没有它就会跳过签名验证。这一点很重要,因为 Meta 用 Tech Provider 应用的密钥为每次投递签名,而任何客户都不持有这个密钥。
Botpress 的 Webhook 如何收到 Meta 的消息?
通过号码的 Webhook 目标。Botpress 的指南要求您把它的 Webhook URL 和验证令牌粘贴到 Meta 应用的 WhatsApp 配置中。这里没有属于您的 Meta 应用:Meta 会把号码的事件路由到连接中指定的任何目标。因此,请复制 Botpress 为该集成显示的 Webhook URL,连同相同的验证令牌,在控制台或通过 set_webhook_destination 设为目标。
Meta 会发送一个验证 GET 请求,Botpress 作出响应,投递随即开始。Botpress 保存手动配置时,还会向 Graph 查询该令牌由哪个应用签发,以此检查令牌,因此无效或已撤销的令牌会在保存时失败,而不是等到第一条消息才出错。
Botpress 的处理程序也会处理 smb_message_echoes,这是有人从 WhatsApp Business 应用回复时 Meta 发送的事件。因此,机器人看得到手机上的回复,而不是对其一无所知。
| Required? | What to enter | |
|---|---|---|
| Access Token | Required | The connected number's token |
| Default Bot Phone Number ID | Required | The connected number's phone number id |
| Verify Token | Required | Any string, reused in the webhook destination |
| WABA ID | Optional | The connected number's WABA id |
| App ID and Client Secret | Optional | Leave both empty |
机器人需要了解 Coexistence 的哪些方面?
首先要知道可能已经有真人在对话。WhatsApp Business 应用在该号码上继续可用,所以客户可能在同一分钟内既收到手机的回复,又收到机器人的回复。请在流程中决定收到回显事件时怎么做:多数团队会在一段时间内对该联系人暂停机器人,避免打断已经介入的人。
第二是时间。回复来信的机器人在 24 小时客户服务窗口内工作,窗口内允许发送自由文本。若流程在一天后才发送内容,例如跟进或提醒,就需要已批准的模板,在此发送自由文本会返回错误 131047。Botpress 的指南订阅了模板状态字段,正是为了这类主动消息。
另外,Coexistence 号码的吞吐量固定为每秒 20 条消息,远高于对话式机器人的发送量。
常见错误
- 把您自己 Meta 应用的密钥填进 Client Secret。签名永远对不上,Botpress 会对每次投递返回 401。
- 选择 OAuth 或沙盒选项而不是 Manual Configuration。这些选项通过 Botpress 自己的应用连接号码,而不是使用已连接的号码。
- 忽略回显事件。如果没有针对手机回复的规则,机器人会盖过已经介入的真人。
在 easycoexistence.com 连接号码,把它的访问令牌和号码 ID 粘贴到 Botpress 的 Manual Configuration,再把 Botpress 的 Webhook URL 设为目标。每个号码每月 US$ 9 起,随号码增加降至 US$ 1,前 3 天免费。
常见问题
跳过签名检查安全吗?
这会把保护转移到 URL 上。Botpress 为每个集成生成专属的 Webhook URL,所以请保密。媒体文件仍须凭令牌从 Meta 获取,伪造的事件做不到这一点。
同一个号码还能同时供应 n8n 吗?
一个号码只有一个 Webhook 目标。请把它指向其中一个系统,若还有系统需要这些事件,再由该系统转发。
Botpress 需要我的 WABA ID 吗?
其定义目前将它标为可选,并说明未来的主要版本会要求必填,所以请按连接中的信息填写。
消息会经过 EasyCoexistence 吗?
不会。Meta 直接投递到 Botpress 的 Webhook URL,内容从不存放在我们这一侧。
继续阅读
准备开始了吗?
几分钟即可设置 WhatsApp Coexistence,而不是几个月。应用会继续在手机上运行。
开始免费试用验证时间