向WhatsApp API添加手机号遇错误,请求技术排查协助
WhatsApp聊天机器人手机号注册问题排查方案
核心问题总结
- 已在Facebook开发者后台创建带WhatsApp功能的应用,添加并通过SMS验证了付费手机号,获取到PHONE_ID
- 点击「generate access token」时报错,调用
/{PHONE_ID}/register或/{PHONE_ID}/request_code端点提示PHONE_ID不存在,但/{BUSINESS_ID}/phone_numbers接口能正常返回包含该PHONE_ID的响应数据 - 号码状态显示为
pending,API配置下拉菜单可见但无法选中
排查与解决步骤
1. 校验API请求路径与版本
调用手机号相关接口时,必须使用完整的Graph API端点格式,示例:
https://graph.facebook.com/v19.0/{PHONE_ID}/register
- 替换
v19.0为当前兼容的API版本(建议使用最新稳定版) - 确保PHONE_ID完全匹配
/{BUSINESS_ID}/phone_numbers返回的id字段值,无额外空格或字符
2. 确认访问令牌权限
生成access token时,需确保申请的权限包含:
whatsapp_business_messagingwhatsapp_business_management
若权限缺失,可在开发者后台「应用权限」中重新配置,完成后再次生成令牌。
3. 重新触发手机号验证与注册流程
即使SMS已验证,后台状态可能存在同步延迟:
- 调用
/{BUSINESS_ID}/phone_numbers确认code_verification_status为VERIFIED - 调用
/{PHONE_ID}/request_code,指定code_method为sms或voice,携带country_code(如英国号码填44) - 获取验证码后,调用
/{PHONE_ID}/register完成注册
4. 检查应用与WABA的绑定关系
进入WhatsApp管理器,确认目标应用已正确关联到对应的WhatsApp Business Account(WABA):
- 若未绑定,重新完成应用与WABA的关联操作,确保所有权限配置生效
5. 重置手机号配置
若以上步骤无效,尝试删除并重新添加手机号:
- 在WhatsApp管理器中移除当前手机号
- 重新添加该号码,完成SMS验证流程
- 再次尝试生成access token与注册操作
参考API响应数据
调用/{BUSINESS_ID}/phone_numbers返回的有效数据:
{ "data": [ { "verified_name": "Business Name", "code_verification_status": "VERIFIED", "display_phone_number": "+44 XXXX XXXXX", "quality_rating": "UNKNOWN", "platform_type": "NOT_APPLICABLE", "throughput": { "level": "NOT_APPLICABLE" }, "webhook_configuration": { "application": "https://foo.bar/mywebhook.php" }, "id": "PHONE_ID" } ], "paging": { "cursors": { "before": "XXXXXX", "after": "XXXXX" } } }
内容的提问来源于stack exchange,提问作者PeteSE4
相关产品推荐
相关产品推荐

