从WhatsApp Template迁移至Content Builder后CTA按钮失效及报错问题
问题描述
将Twilio的WhatsApp template迁移至Content Builder后,无法收到Call to Action按钮,发送消息时触发Schema验证警告:## Warning - 12200 ### Schema validation warning The provided XML does not conform to the Twilio Markup XML schema. Please refer to the specific error and correct the problem.。当前发送消息需传入之前不需要的contentSid和contentVariables,不清楚问题根源。
相关信息:
- 模板ID:
HX5fc0f957dc40af96ce9ef7055a2c7b22 - 模板详情:
You entered: {{1}} Do you confirm?
- 填充后内容:
You entered: 789660****3871 Do you confirm?
- 当前使用的代码:
await twilioClient.messages.create({ contentSid: "HX5fc0f957dc40af96ce9ef7055a2c7b22", body: messageBody, from: TWILIO_PHONE_NUMBER, contentVariables: JSON.stringify({ 1: '789660****3871' }), to: to, });
解决思路与方案
1. 移除冗余的body参数
使用contentSid调用时,Twilio会直接加载Content Builder中模板的完整内容,无需额外传入body。同时传入contentSid和body会导致XML结构冲突,触发12200警告。修改后的代码:
await twilioClient.messages.create({ contentSid: "HX5fc0f957dc40af96ce9ef7055a2c7b22", from: TWILIO_PHONE_NUMBER, contentVariables: JSON.stringify({ "1": "789660****3871" }), to: to, });
2. 检查Content Builder模板的CTA按钮配置
- 确认迁移后的模板是否完整保留原WhatsApp模板的CTA按钮类型(快速回复/URL按钮)及参数配置,自动迁移可能导致按钮元素丢失,建议手动核对或重新创建模板并配置按钮。
- 确保模板已通过WhatsApp官方审核,未审核通过的模板无法正常展示按钮。
3. 验证contentVariables格式
确保contentVariables的键名与模板中的占位符完全匹配(模板中是{{1}},则变量键为"1"),且JSON字符串无语法错误(比如多余逗号、引号不闭合)。
4. 排查模板迁移完整性
若自动迁移后模板结构异常,建议手动在Content Builder中重新创建模板:
- 复制原模板的文本内容,添加对应占位符
- 重新配置CTA按钮的类型和参数
- 提交审核并等待通过后再测试调用
内容的提问来源于stack exchange,提问作者Amit Pal
相关产品推荐
相关产品推荐

