WhatsApp Cloud Message无法送达,请求协助排查问题
WhatsApp Cloud API消息已接受但未送达的排查方案
1. 最直接的代码错误:to字段格式错误
你的代码中to字段传的是数组:
to: [`91${phoneNo}`],
但WhatsApp Cloud API要求to是单个字符串格式的手机号,而非数组。从Meta返回的input字段值["917299568568"]能直接看出问题——API把数组序列化成了带方括号的字符串,导致无法正确识别接收号码。
修正方式:将数组改为字符串:
to: `91${phoneNo}`,
2. 模板Header与审核版本一致性检查
你使用的模板包含image类型的Header,需要确认:
- 审核通过的
booking_confirmation模板确实配置了Image类型的Header,而非Text或其他类型 - 图片链接
https://www.examle.com/logo-1.png(注意拼写错误:examle应为example)必须是Meta服务器可访问的HTTPS链接,无防盗链限制,且图片格式为JPG/PNG、大小不超过5MB
3. 接收号码状态验证
- 测试环境:接收号码必须已添加到Meta应用的测试号码白名单(在WhatsApp Business平台测试面板配置)
- 生产环境:发送消息的WhatsApp号码需完成正式验证,且接收号码所在地区在你的业务覆盖范围内
4. 通过Webhook确认实际送达状态
Meta返回的初始响应仅代表请求已被API接受,不代表消息已送达。你需要配置Webhook监听messages字段的status更新,查看具体失败原因(如failed、undelivered),常见原因包括:
- 接收号码未注册WhatsApp
- 接收号码屏蔽了你的发送号码
- 模板参数与模板定义不匹配
内容的提问来源于stack exchange,提问作者yazh droptaxi
相关产品推荐
相关产品推荐

