一、检查模板审核状态
发送失败时首先需确认短信模板是否处于「审核通过」状态。未通过审核的模板会触发错误码isv.SMS_TEMPLATE_ILLEGAL,建议在控制台检查模板审核状态,确保模板编号与API调用一致。若为新创建模板,需等待1-2个工作日的审核周期。
常见审核不通过原因包括:
- 未正确使用变量占位符(如${code})
- 包含未经授权的品牌标识
- 涉及金融投资、敏感政治内容
二、验证模板参数匹配性
当出现「模板内容与参数不匹配」错误时,需按JSON格式检查参数传递:
- 确认参数数量与模板变量完全对应
- 非必填参数需保留空值占位符
- 检查变量名大小写是否一致
示例中错误代码isv.SMS_TEMPLATE_ILLEGAL常因参数key值与模板变量名不匹配导致,需对照控制台模板详情页逐项核对。
三、排查测试环境混淆
测试模板(带绿色「测」标记)仅限发送至绑定的测试号码,若误用于生产环境会返回isv.SMS_TEST_NUMBER_LIMIT错误。需注意:
- 测试模板变量需完整填充,包括非必填项
- 正式模板需移除测试标记后重新提交审核
- 测试号码绑定需包含国家代码(如+86)
四、审查模板内容合规性
内容违规会导致发送失败且无明确错误提示,需重点检查:
违规类型 | 合规要求 |
---|---|
营销信息 | 需包含退订方式 |
URL链接 | 需ICP备案域名 |
变量使用 | 禁止在变量中插入链接 |
模板问题导致的短信发送失败,需遵循「审核状态→参数匹配→环境隔离→内容审查」的排查路径。建议使用阿里云提供的模板调试工具进行模拟测试,可有效降低生产环境出错概率。