WhatsApp Webhook触发多个Facebook开发者应用问题求助
根本解决方案
1. 调整Webhook订阅层级,避免业务账号级共享
登录Facebook开发者后台,进入每个应用的Webhook配置页:
- 确认Webhook订阅是绑定在单个应用上,而非共享的业务账号。如果是业务账号层级的订阅,所有关联该账号的应用都会收到同一手机号的事件通知
- 给开发副本应用取消对生产手机号相关事件的订阅,确保每个应用只订阅自身绑定手机号的事件
2. 清理应用与手机号的关联权限
打开Facebook Business Manager,核查每个应用的手机号绑定情况:
- 确保生产手机号仅与生产应用关联,解绑开发副本应用和该手机号的绑定关系
- 开发副本应用只绑定各自的测试手机号,彻底避免权限重叠
3. 给Webhook添加精准过滤规则
在每个应用的Webhook设置里,利用Facebook的过滤规则限定事件来源:
- 针对
messages这类核心事件,添加过滤条件:phone_number = '当前应用绑定的手机号'(语法要符合Facebook过滤规则要求) - 开发副本应用的过滤规则只指向自身测试手机号,确保不会触发生产手机号的事件
4. 重置开发副本的Webhook配置
如果开发副本是直接复制生产应用创建的,大概率继承了原应用的订阅配置:
- 先删除开发副本里所有Webhook订阅
- 重新为副本配置仅针对自身测试手机号的Webhook订阅,确保事件源完全独立
补充
你现在用phoneid验证的临时方案能解决问题,但要彻底根治,必须从权限配置和订阅层级入手,让每个应用的事件流完全隔离,杜绝跨应用触发的情况。
内容的提问来源于stack exchange,提问作者Harshad Panmand
相关产品推荐
相关产品推荐

