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

Twilio WhatsApp OTP发送失败:Meta模板已审核通过仍报错

问题分析与解决步骤

核心问题

从报错信息来看,你发送的消息内容与Meta审核通过的模板完全不匹配——即使模板已通过审核,Twilio发送WhatsApp模板消息时要求严格遵循模板的格式、变量规则,直接发送自定义文本会触发校验失败。

具体修复方案

  1. 改用模板SID调用方式
    Twilio发送WhatsApp模板消息不能直接传自定义messageBody,必须使用审核通过的模板SID,并通过变量参数传入动态内容(比如OTP)。修改代码如下:

    Future<void> sendOtp(String otp, String phoneNumber) async {
      try {
        await twilioFlutter.sendWhatsApp(
          toNumber: '+91$phoneNumber',
          // 替换为你在Twilio/Meta后台获取的审核通过模板SID
          contentSid: 'HXxxxxxxxxx', 
          // 按模板变量的顺序传入对应值,比如模板是"Hi, Enter {{1}} to continue",这里传[otp]
          contentVariables: ['$otp'], 
        );
        print('OTP sent successfully');
      } catch (e) {
        print('Failed to send OTP: $e');
      }
    }
    
  2. 严格匹配模板细节

    • 模板的前缀、后缀、标点符号、变量位置必须和审核通过的版本完全一致,不能有任何修改(比如多一个空格、少一个逗号都会触发报错)。
    • 模板中的变量(如{{1}})必须通过contentVariables数组传入对应值,不能直接写死在文本里。
  3. 验证号码与模板的绑定关系
    确认你使用的Twilio号码已绑定到Meta审核通过的WhatsApp业务账号,且该号码被授权使用当前模板。

  4. 先在控制台测试
    可以先在Twilio控制台的WhatsApp消息测试工具中,用模板SID+变量发送测试消息,确认能正常发送后再迁移到代码中。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 06:30:58