短信内容必须是已报备通过的模板才能发。模板被驳回,八成是下面这几类问题——对着改,基本一次过。
① 变量不规范(最常见的硬伤)
运营商对模板里的变量有硬性规范:
- 长度:4~6 位。写 7 位会被直接拒;
- 类型:数字 + 字母组合,或纯字母。所以验证码别只写数字,建议写成
ABC123 这种;
- 变量要用 ${变量名} 占位,别把示例值直接写死在内容里。
被拒时运营商会给出具体原因(例如"变量不符合数字+字母组合规范"),照着提示改是最快的。
② 场景没说清 / 说错了
报备时要说明用途。常见错误:
- 把验证码写成通知(或反过来)→ 发送场景和模板类型对不上;
- 场景描述太笼统("给用户发短信"),审核没法判断;
- 实际用途和报备用途不一致 → 后期可能被上游封停。
③ 内容有"营销嫌疑"
验证码 / 通知类模板里夹带营销内容是高频驳回原因:
- 出现"优惠""活动""限时""点击立减"这类词;
- 带链接(尤其短链);
- 带"退订回T"(那是营销短信才需要的)。
验证码短信请只放验证码本身,需要营销请另报营销类模板、走相应通道。
④ 变量个数 / 名称与实际发送对不上
模板里声明了 2 个变量,代码里只传了 1 个 → 发送时直接报参数不合法。报备前先和开发确认好:几个变量、变量名分别叫什么。
POST /api/sms/send
{"phone":"13800138000","content":"123456"}
// 模板里是 ${code},调用时就要按模板要求传对应字段,
// 变量数量、名称以模板为准,别自己改名。
⑤ 签名问题
短信签名(【】里的那部分)也要报备,且必须与模板匹配。平台统一维护签名,你只需在报备模板时选择要用的签名即可。
平台侧签名由平台统一维护,你在控制台提交模板时不用自己申请签名——省一步。
送审前的自查清单
- 变量是 4~6 位、数字+字母或纯字母?
- 场景(验证码/通知)写清楚了吗?与实际用途一致吗?
- 内容里没有营销词、没有链接?
- 变量个数和名字与代码里传的一致?
- 签名选对了吗?
还是被拒的话,把驳回原文发给我们(工单/客服),我们帮你看具体卡在哪一条。