使用Postman发送WhatsApp模板消息成功但未送达问题求助
WhatsApp模板消息返回成功但未送达的排查建议
问题概述
通过Postman调用WhatsApp API发送模板消息,请求返回成功且包含WhatsApp ID,但测试用的本人账号未收到消息。请求详情如下:
- 请求方法:POST
- URL:
[Your WhatsApp API endpoint] - 请求头:
Authorization: [Your authorization token]Content-Type: application/json
- 请求体:
{ "to": "recipient_number", "template": { "name": "your_template_name", "language": { "code": "en", "policy": "deterministic" }, "components": [ { "type": "BODY", "text": "Hello, this is a test message." } ] } }
已完成的检查:
- 收件人号码正确且包含国家代码
- 模板消息格式符合WhatsApp规范
- 使用WhatsApp商业账号且拥有必要权限
- 模板已通过WhatsApp审核
- API端点及请求格式正确
进一步排查建议
- 核对模板组件匹配度:确认审核通过的模板版本中是否包含
BODY组件,若模板是固定文本类型,请求体中text内容必须和审核通过的内容完全一致;若为变量模板,要保证变量数量、位置和模板定义完全对应,不能随意修改文本内容。 - 检查测试账号会话状态:测试用的个人账号是否主动给商业账号发过消息。WhatsApp API规定,若收件人未主动发起会话,仅能发送官方批准的通知类模板(如订单、物流、验证码),营销类模板无法送达。
- 监听Webhook状态回调:配置并查看WhatsApp API的Webhook回调,消息的最终状态(如
failed、blocked、invalid_number)会在这里返回,能精准定位后续环节的失败原因。 - 确认API环境限制:如果用的是沙箱环境,仅能发送给预注册的测试号码,且部分模板类型有发送限制;生产环境需检查账号发送配额是否充足,是否触发了平台限流。
- 细化号码格式验证:确保收件人号码没有括号、连字符等特殊字符,部分API端点要求国家代码前不能带
+号,需和官方要求完全匹配。 - 匹配模板精确语言代码:模板审核时的语言代码(如
en_US)要和请求中language.code完全一致,不能用泛用的en替代精确代码。
内容的提问来源于stack exchange,提问作者Githinji Muthee
相关产品推荐
相关产品推荐

