跳到主要内容

WhatsApp

本接入使用 Meta 的 WhatsApp Business Cloud API,适用于企业号码收到的私信文本。它不是普通个人号登录,也不提供群聊或任意联系人外呼流程。

先确认本版限制​

v0.1.107 会检查接收者号码的国家码,只允许内置欧洲经济区/巴西前缀名单内的号码;其它号码不能靠开放 DM 策略绕过。回复还必须带原入站消息上下文,并遵守平台的用户发起响应窗口。当前只处理文本消息,不能据此推断 WhatsApp 媒体收发已实现。

Meta 的账号资格、权限和响应政策还需以 Cloud API 官方文档 为准;Anyy 的固定实现限制不等于平台当前政策的完整描述。

准备平台资料​

需要 Meta App 的 App ID、WhatsApp Business Account ID、Phone Number ID,以及 Access Token、自己设置的 Verify Token、App Secret。完成 WhatsApp 消息 Webhook 订阅与 Cloud API 权限配置。

先按消息平台的 Webhook 设置启用 Anyy 入站监听并配置 HTTPS 反向代理。该账号路径为:

/channels/whatsapp/ACCOUNT_ID/webhook

保存账号和授权发送者​

Dashboard 渠道 → 添加 → WhatsApp 填写平台标识和三项秘密,默认账号 ID 为 personal。策略默认 pairing;如需修改,用 anyy setup channel 的交互向导,而不是在凭据表单寻找策略菜单。

当前 DM 目录值是 pairing/open/allowlist/disabled,没有群聊策略。名单条目编辑不在此平台现有设置动作中,详见公共设置范围。

从符合号码限制的账号向企业号码发送消息,再核对和批准配对:

anyy channel pairing list --channel whatsapp
anyy channel pairing approve --request REQUEST_ID

批准后发送一条新消息。请核对真实号码,不只看联系人名称。

观察收发结果​

anyy channel reload
anyy channel doctor whatsapp

Webhook Challenge、带签名的入站事件、配对和平台接受回复应分别确认。回调使用同一个 Verify Token,代理须保留 X-Hub-Signature-256 与原请求体。

本版以当前入站 message ID 作为回复路由上下文,所以同一联系人下一条消息不保证落到同一个 Anyy Session。延迟或定时回复也不能跳过当前路由、接收者资格和平台响应约束。

能收不能发时检查 Access Token、Phone Number ID、权限、号码资格及响应窗口;遇到不明发送结果先查看平台记录,不直接重复投递。