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

使用Twilio+Node.js发送WhatsApp模板消息遇20422参数错误求助

解决Twilio WhatsApp消息发送的RestException错误(错误码20422)

问题场景

使用Node.js调用Twilio API,通过已审核的模板发送WhatsApp消息时,持续触发RestException,错误码为20422,提示"Invalid Parameter"。

用户代码

client.messages
.create({ messagingServiceSid: "MG0XXXXXXXXXXXXX",
 contentSid:"HTXXXXXXXXXXXXXXXXX", 
from: "whatsapp:+91999999XXXX", 
contentVariables: { 1: "Name", }, to: "whatsapp:+91789XXXXXXX", })
 .then((message) => { 
console.log(message); 
return success(res, "message sent ", []); }) 
.catch((err) => { 
console.log(err);
 return failure(res, "Some error ocurred", err.message); 
});

错误信息

RestException [Error]: Invalid Parameter at success (/home/gt-10/GT-Work/gt-web-services/gt-api/node_modules/twilio/lib/base/Version.js:79:23) at processTicksAndRejections (node:internal/process/task_queues:96:5) 
{ 
status: 400, code: 20422, details: undefined
 }

解决方案

错误码20422指向参数无效,核心问题和修复方式如下:

  • 修正contentVariables格式:Twilio要求模板变量必须嵌套在data对象中传递,直接传键值对会触发参数错误。将contentVariables: { 1: "Name" }改为contentVariables: { data: { 1: "Name" } }。
  • 移除冲突参数:同时指定messagingServiceSid和from会导致参数冲突——若使用Messaging Service,不需要设置from;若直接指定发送号码,移除messagingServiceSid参数。
  • 核对模板与变量匹配:确认contentSid对应的已审核模板,确实包含编号为1的变量,变量数量、类型需完全匹配。
  • 验证号码格式:确保to和from的号码格式为whatsapp:+国家代码+纯数字,无空格、符号等多余字符。

修正后的代码示例(二选一)

使用Messaging Service的版本

client.messages
.create({ 
  messagingServiceSid: "MG0XXXXXXXXXXXXX",
  contentSid: "HTXXXXXXXXXXXXXXXXX", 
  contentVariables: { data: { 1: "Name" } }, 
  to: "whatsapp:+91789XXXXXXX"
})
.then((message) => { 
  console.log(message); 
  return success(res, "message sent ", []); 
}) 
.catch((err) => { 
  console.log(err);
  return failure(res, "Some error ocurred", err.message); 
});

直接指定发送号码的版本

client.messages
.create({ 
  contentSid: "HTXXXXXXXXXXXXXXXXX", 
  from: "whatsapp:+91999999XXXX", 
  contentVariables: { data: { 1: "Name" } }, 
  to: "whatsapp:+91789XXXXXXX"
})
.then((message) => { 
  console.log(message); 
  return success(res, "message sent ", []); 
}) 
.catch((err) => { 
  console.log(err);
  return failure(res, "Some error ocurred", err.message); 
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 20:47:05