验证码短信发不出去,接口返回未授权,账号余额却充足。第一次遇到会往复杂处想,其实漏掉的多是个小前提。

POST /sms/send
{ "sign": "站点名", "template": "SMS_123", "params": ["123456","5"] }

签名或模板未审核通过,或模板变量数量与传入参数不一致。这一点先确认清楚,后面就不用反复试。

「短信发送失败」相关的日志我一般连着看前后五分钟,单看一条报错经常判断不出是哪一步失败。新版本先放一台机器上跑一天再全量,问题一般在这段时间暴露。

备份不是备了就行,恢复一次才算数,很多备份文件打开才发现是空的。接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。

偶发问题先统计频率,一小时几次和一天一次,查法完全不同。改完顺手把文档补一句,省得下次自己重新推一遍。

监控和日志的时间要对上,时区不一致会多绕很大一圈。

具体做法是,确认签名与模板状态;核对变量顺序与数量;按错误码逐项排查。

改完照着核一遍,验证码短信正常送达,接口返回成功。

作者 9823189