You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Twilio模板发送WhatsApp外发PDF事务通知遇收不到消息问题

排查WhatsApp PDF通知发送失败问题

针对你用Twilio Content API发送带PDF的WhatsApp模板消息,代码返回SID但收不到消息的情况,可按以下步骤逐一排查:

1. 确认模板审核状态

WhatsApp消息模板必须通过Meta审核才能正常发送:

  • 登录Twilio控制台查看模板状态,若为「待审核」或「审核不通过」,消息会被拦截
  • 若审核不通过,根据Meta给出的拒绝原因修改模板后重新提交

2. 验证PDF媒体URL有效性

Twilio需能直接访问到PDF文件,否则无法解析发送:

  • 必须是公开可访问链接:不能是内网地址、需登录权限的链接,也不能是云盘跳转链接(需直接获取文件的原始下载链接)
  • URL格式正确:直接指向PDF文件,以.pdf结尾,在浏览器中打开可直接下载
  • 转义字符修正:代码contentVariables里的URL无需使用&,直接用&即可,避免双重转义导致URL失效

3. 核对变量与模板的映射关系

确保代码中contentVariables的序号和模板占位符完全对应:

  • 比如模板里的{{1}}对应姓名、{{2}}对应时间、{{3}}对应媒体文件,需和代码里的1、2、3值一一匹配
  • 媒体变量必须对应模板中的媒体占位符,不能填到文本占位符位置

4. 查看Twilio消息日志

登录Twilio控制台「Messages」页面,找到对应SID的消息,查看状态和错误码:

  • 若状态为Failed,根据错误码定位问题:
    • 10300:媒体URL不可访问或格式错误
    • 63001:模板未通过审核或无效
    • 63002:发送号码未关联WhatsApp业务账号
  • 日志中的错误详情会给出具体失败原因,是最直接的排查依据

5. 检查号码权限与格式

  • 发送号码:若使用Messaging Service(MG开头SID),需确保该服务关联了已验证的WhatsApp发送号码;若直接用号码,格式应为whatsapp:+1xxxxxx(Twilio官方WhatsApp号码)
  • 接收号码:试用账户仅能发送给Twilio控制台已验证的号码;号码格式需正确(whatsapp:+91xxxxxxxxx,无空格或特殊字符)

6. 优化直接发送Media URL的测试代码

若直接用mediaUrl发送也失败,调整代码并添加错误捕获:

client.messages
  .create({
    from: 'whatsapp:+1你的Twilio WhatsApp号码',
    to: 'whatsapp:+91你的接收号码',
    mediaUrl: ['https://公开可访问的PDF文件URL'],
    body: 'PDF通知:请查看附件'
  })
  .then(message => console.log(message.sid))
  .catch(error => console.error(error)); // 捕获错误,查看具体报错信息
  • mediaUrl需为数组格式(支持多个媒体文件)
  • 通过catch块直接获取控制台输出的失败原因

内容的提问来源于stack exchange,提问作者Kushagra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 22:07:53