客服群里一张截图:“注册页点了获取,等半天没有短信验证码。”技术那边第一反应往往是“通道是不是挂了”,运营那边想的是“要不要换一家”。其实这时候最该做的是先问一句:是这一个人收不到,还是一批人都收不到?

一个人收不到短信验证码,多半问题在用户手机这一侧;一批人同时收不到,再去查平台和接口。这篇写给做App、小程序、网站登录注册的技术和运营同事,按我们平时帮客户排障的顺序来讲。

先分清范围:一个人还是一批人

判断范围不需要多复杂,打开短信平台的发送记录,按时间段筛一下就知道。最近一段时间的短信验证码大部分都显示成功送达,只有个别号码失败,那就是个案;同一时间段失败、无回执的突然变多,才是平台或接口层面的问题。

排查顺序可以记成这样:

  1. 看这个号码在平台有没有发送记录;
  2. 有记录,看回执状态是成功、失败还是一直没回;
  3. 回执成功但用户说没收到,回到用户手机查拦截;
  4. 根本没有记录,回到自己的代码和接口调用查。

用户端排查:先在手机这一侧找短信验证码

个案里最常见的原因说出来都不复杂,但用户自己往往想不到。

  • 号码填错:多一位少一位,或者复制粘贴时带了空格。老用户换过号码、还在填旧号,也很常见。
  • 被手机拦截:现在很多手机系统和安全软件会把短信自动归到“骚扰拦截”或“通知信息”里,用户在收件箱里当然找不到。
  • 号码状态异常:欠费停机、刚办的携号转网、人在国外漫游,都可能导致收不到。
  • 双卡和信号:双卡手机填的是副卡号码,副卡没信号或被关闭;电梯、地下车库里信号差,短信会晚到。

被拦截的短信验证码去哪找

让用户打开短信应用里的“拦截记录”或“骚扰过滤”,一般就能看到。找到后可以把这个签名设为信任,以后就不会再被拦。这一步讲给客服听,能省掉不少来回沟通。

平台端排查:顺着短信验证码的发送记录往下查

如果一批用户同时收不到,或者个案在平台上压根查不到记录,就要在平台这边一层层看。

接口到底有没有调用成功

先看自己服务的日志:发起请求时接口返回的是什么。返回成功,说明请求进了平台;返回错误,按错误说明去处理,常见的是账号鉴权失败、余额不足、IP 不在白名单里。不少项目上线时没把接口返回写进日志,出了问题只能干猜,这是最常见的坑。

回执状态和签名模板

请求成功之后看回执。回执显示失败,通常会带一个状态说明,比如号码为空号、停机,或者被运营商判为内容不合规。签名没审核通过、模板变量和审核时的格式对不上,也会发不出去。短信验证码模板里最好只放验证码和有效期,别顺手加营销内容,这样容易被判不合规。

频率限制

平台和运营商对同一号码在短时间内的发送次数都有限制。测试同事拿自己手机反复点“获取”,几次之后就收不到了,以为是故障,其实是触发了限流。用户端也一样,有人连点好几次,后面的短信就被拦住了。

短信接口异常收不到验证码的几种典型情况

整批收不到的时候,我们一般会按下面这几个方向查,基本能覆盖大部分情况:账户余额或套餐用完了没人发现;接口密钥被人改过,或者服务器换了出口IP没加白名单;代码里号码格式不对,比如带了国家码或者横杠;程序超时重试写得太激进,一个用户请求触发好几条发送,很快被限流。

还有一种是运营商侧的通道波动,这个用户自己处理不了,需要平台切换通道。所以选平台时要问清楚:出现异常有没有人及时响应,有没有备用通道。

产品上能做的几件小事

排查是事后补救,产品设计上也能少让用户卡住。

获取按钮加倒计时,避免用户连点;页面上提示一句“没收到请查看手机拦截记录”;验证码一直收不到时给个语音验证码作为备选;后台给客服开一个按手机号查询发送状态的入口。这些改动都不大,但能把“收不到”的投诉量明显压下去。

另外要守住一条:短信验证码只发给本人主动请求的号码,接口要做防刷,别让人拿你的接口去轰炸别人的手机,这既是安全问题也是合规问题。

结论

短信验证码收不到怎么办?先分清是个案还是批量:个案查号码、拦截、停机和信号,批量查接口返回、回执、签名模板、余额和频率限制。日志写全、发送记录能查,排障就快很多。蔚岚科技提供106短信验证码通道和接口对接支持,接入或排障上有问题,可以打 18720919319 找我们一起看。

常见问题

短信验证码一般多久能收到?

正常情况下很快就到。如果用户等了一两分钟还没有,先让他看拦截记录,再去平台查这条短信的回执状态,别直接让他反复点获取。

平台显示发送成功,用户还是说没收到?

成功回执说明运营商已经下发到手机,问题多半在手机这一侧,比如被拦截、双卡填错号码。让用户在短信应用的拦截记录里找一找,基本都能找到。

为什么测试时前几次能收到,后面就收不到了?

大概率是触发了同一号码的频率限制。等一段时间再试,或者换个号码测。正式上线前也要在自己的系统里限制单个号码的获取次数。

只有某个运营商的用户收不到,怎么处理?

这种情况多半跟通道有关,把失败号码和时间段整理给平台,让他们查通道状态,必要时切换通道。自己这边也记一下,方便后面对比。

能不能在验证码短信里顺便加一句活动推广?

不建议。验证码属于通知类短信,夹带营销内容容易审核不通过或被判违规,影响正常下发。活动推广要另走营销短信,并带上退订方式。