WhatsApp API问题求助:生产号请求返测试号及OAuthException报错
WhatsApp API 问题排查与解决方案
一、新号码发消息却收到测试号回复的处理
- 检查请求中的
from参数:确认是否填入了新添加生产号码对应的WhatsApp ID,而非测试号ID。多数情况是发件人ID未更新,导致请求路由到测试号。 - 核实新号码状态:确认新号码已完成生产环境激活流程(如Meta验证、绑定正确业务账户),若仍处于测试状态,系统会自动 fallback 到测试号。
二、"OAuthException: 收件人电话号码不在权限列表中" 错误修复
这个错误源于Meta对生产号的收件人范围限制:
- 未完成业务验证(Business Verification)的生产号,仅能向Meta后台添加的测试联系人发消息,需先把目标号码加入测试联系人列表。
- 已完成业务验证的账户,检查是否开启无限制消息权限:部分地区/账户需额外申请正式发送权限,否则仅能向预先授权的联系人发消息。
- 校验
to参数格式:确保是带国家码的国际格式(如+1234567890),无空格、括号等多余字符。
三、测试号码使用规则
- 测试号仅能向Meta后台添加的测试联系人发消息,最多支持5个测试联系人。
- 测试号发送的消息会带有"测试消息"标识,无法用于正式业务场景。
- 切换生产号后,需确保请求的
from参数、Token全对应生产号配置,禁止混用测试号信息。
四、实现"用生产号保持原有流程"的步骤
- 完成生产号基础配置:确认生产号已通过业务验证、完成号码激活,可在Meta Business Manager的WhatsApp账户页面查看状态。
- 更新请求配置:
- 将请求中的
from替换为生产号的WhatsApp ID(格式示例:1234567890123456789)。 - 使用生产号对应的长期访问令牌(Long-Lived Access Token),而非测试号临时令牌。
- 将请求中的
- 调整收件人权限:
- 未完成业务验证时,先把目标号码加入测试联系人列表(路径:Meta Business Manager → WhatsApp账户 → 测试联系人)。
- 完成业务验证后,提交权限申请获取无限制发送权限,即可向任意号码发消息。
- 生产号请求示例:
POST /v18.0/{生产号WhatsApp ID}/messages HTTP/1.1 Host: graph.facebook.com Authorization: Bearer {生产号长期令牌} Content-Type: application/json { "messaging_product": "whatsapp", "to": "+1234567890", "text": { "body": "生产号测试消息" } }
内容的提问来源于stack exchange,提问作者Antonio Rabelo
相关产品推荐
相关产品推荐

