使用WhatsApp Cloud API发送认证模板消息失败:‘接收方无法接收’错误
WhatsApp Cloud API 认证模板发送错误131026排查方案
问题背景
调用https://graph.facebook.com/v18.0/xxxxxxxx/messages接口发送认证模板消息时,触发错误码131026,提示「Receiver is incapable of receiving this message」,但存在以下异常场景:
- 认证模板已通过审核
- 实用模板可正常发送
- 用户主动发起消息时,认证模板能正常发送
- 接收端可接收其他商家的同类认证消息,排除接收端问题
示例请求Payload
{ "messaging_product": "whatsapp", "recipient_type": "individual", "to": "91xxxxxxxxx", "type": "template", "template": { "name": "login_otp_v1", "language": { "code": "en_US" }, "components": [ { "type": "body", "parameters": [ { "type": "text", "text": "567895" } ] }, { "type": "button", "sub_type": "url", "index": 0, "parameters": [ { "type": "text", "text": "567895" } ] } ] } }
错误响应
{ "code": 131026, "title": "Receiver is incapable of receiving this message", "message": "Receiver is incapable of receiving this message", "error_data": { "details": "Message Undeliverable." } }
排查与修复步骤
1. 检查认证模板的权限配置
认证类模板(如OTP)的发送规则比实用模板严格得多:
- 去Meta商务管理平台查看模板的「使用场景」设置,确认是否开启了主动触发认证场景的权限——部分模板审核时会被默认限制为仅能在24小时会话窗口内发送,这会导致主动推送认证模板失败,但用户主动发消息时(在会话窗口内)能正常发送。
- 验证URL按钮的合规性:认证模板的URL按钮必须关联与认证直接相关的域名,不能包含诱导跳转内容,同时OTP参数的传递要符合Meta规范,不能超出字符限制。
2. 修正API请求Payload的细节问题
你的示例Payload存在两处潜在问题:
- 原始粘贴的Payload开头缺失左大括号
{,实际调用必须保证JSON格式完全合法,否则会触发隐性拦截。 - 确认
language.code与模板审核时的语言完全匹配:如果模板审核的是en而非en_US,会导致模板匹配失败,触发无法投递错误。另外要确保template.name完全匹配审核通过的模板名称(大小写、下划线都要一致)。
3. 检查认证消息的发送配额
Meta对认证类消息有独立的发送配额限制,即使模板通过审核,当日发送量超出限额也会触发这类错误。去Meta商务管理平台的WhatsApp账号面板查看「消息发送统计」,确认是否超出了认证类消息的配额。
4. 确认模板的审核状态细节
有些模板显示「已通过审核」,但可能存在隐性限制:
- 查看模板的「审核备注」,确认按钮或内容是否被标记需要额外验证,或者存在模糊的合规风险,导致实际发送时被拦截。
- 尝试重新提交模板审核,确保审核结果为完全通过,无附加限制条件。
临时应急方案
如果需要紧急发送认证消息,可先在用户主动发起的24小时会话窗口内发送认证模板,同时排查上述问题;也可暂时使用合规的实用模板承载认证内容(注意内容不能违反Meta的模板规范)。
内容的提问来源于stack exchange,提问作者Dayanand
相关产品推荐
相关产品推荐

