验证码收不到不一定是接口失败,也可能是频控、终端拦截、号码状态、模板内容或运营商延迟。建议先确认发送记录,再按用户侧和系统侧分别排查。
快速判断
| 现象 | 优先判断 | 处理方向 |
|---|
| 控制台或接口无记录 | 请求没有成功提交。 | 检查接口参数、账号和控制台操作。 |
| 记录显示失败 | 发送链路已返回失败。 | 看错误码、签名模板和号码状态。 |
| 记录显示成功但未收到 | 可能是终端、拦截、延迟或号码问题。 | 换号码交叉测试并查看拦截箱。 |
| 同一号码多次收不到 | 可能触发频控或号码异常。 | 降低发送频率,使用其他号码验证。 |
用户侧检查
- 确认手机号填写正确,没有多位、少位、国家区号错误或空格符号。
- 检查手机是否停机、欠费、无信号、开启拦截或短信箱已满。
- 查看短信拦截箱、安全软件、系统通知权限和运营商服务短信分类。
- 使用不同运营商、不同地区的手机号交叉测试,避免单一号码误判。
系统侧检查
| 检查项 | 说明 |
|---|
| 发送记录 | 确认是否真的提交,状态是成功、失败还是未知。 |
| 频控策略 | 同手机号、同 IP、同设备短时间重复触发会影响体验。 |
| 签名模板 | 验证码模板要清晰,变量位置和有效期表达要规范。 |
| 接口返回 | 开发侧要记录返回码,不要只提示“发送成功”。 |
| 业务触发 | 确认验证码是否被前端、网关或安全策略拦截。 |
兜底方案
| 方案 | 适合情况 | 注意事项 |
|---|
| 重新发送 | 短时间延迟或用户误删。 | 设置合理冷却时间,避免刷接口。 |
| 更换手机号测试 | 判断是否单个号码问题。 | 记录号码和测试时间。 |
| 语音验证码 | 关键验证或短信多次未达。 | 注意触发条件、费用和频控。 |
| 人工客服 | 用户仍无法完成验证。 | 准备发送记录和手机号脱敏信息。 |