你让某个服务给你发一条验证码。结果出了岔子——码来得太晚、你输错了、应用不认,或者短信压根没来。现在你想在同一个号码上再要一条。
一句话总结: 这取决于你的订单此刻处于什么状态。Resend 是就这次激活,通过号码供应商再请求一条短信,而且只有在这个订单上已经记录到过一条短信之后,它才会变为可用。如果什么都没来,Resend 仍然显示着,但不可用。等订单结束之后,Reactivate 才是在 SMSCode 内部回到那个号码的途径,条件是一个符合条件的已完成订单;而它是一个新的付费订单,不是撤销。
让人困惑的地方在于,答案不是号码的属性,而是订单的属性;而且两个最有用的操作,是在相反的条件下才变为可用的。
Resend 对话的是号码供应商,不是你正在注册的那个应用
当你按下 Resend,SMSCode 是就这次激活,向把号码租给你的那家供应商发出请求。它不会去联系 Google、WhatsApp、Telegram,或者你正在注册的任何服务,也没法让那个服务重新写一条消息出来。
所以有两件彼此独立的事都得顺利,而它们分属不同的一方:
- 目标服务得发出点什么。 这是从那个服务自己的界面里触发的——用它自己的「重新发送验证码」或者「改为电话呼叫」——并且由那个服务的规则决定。
- 供应商得把它送到你租用的号码上。 这才是 Resend 所处理的那一段。
Resend 只有在订单上已经记录到过一条短信之后才谈得上可用;在那之后,也还要租用仍然有效、未过期,并且它的冷却时间已经过去。如果到现在什么都没被记录下来,Resend 会保持不可用,发送就得改从目标服务自己的界面去触发。验证码到底送到了哪里讲了怎么判断一个服务是不是把验证码发去了短信以外的地方。
Resend 和 Cancel 永远不会同时可用
在一个仍在进行的订单上,两个操作都会显示。哪一个可用,取决于下面这些条件;它们不会同时可用。订单结束之后,这个操作栏就不再显示了。
Resend 只有在订单上已经记录到一条短信之后才变为可用。当它不可用的原因正是这个时,把鼠标移上去,按钮自己会说明:“Available after the first SMS.”
Cancel 只在还没有短信被记录时才可用,而且要过了订单开始时那一小段起始时间之后。一旦有消息被记录下来,Cancel 就变为不可用。
也就是:
- 还没有短信被记录 → Cancel 可能可用;Resend 不可用。
- 已经记录到一条短信 → Resend 可能可用;Cancel 不可用。
在一个仍在进行的订单上,Resend 不可用可能反映的是还没有记录到短信,或者冷却时间还没过。订单过期或进入终止状态同样会让重发无法进行;订单结束时,操作栏会被隐藏。
如果一条短信都没来,先走完这几步再花钱
从订单记录里没有办法判断一条消息为什么没出现。订单显示的是操作是否可用以及送达情况,不是目标服务的判断过程。所以不要猜,按顺序来:
- 确认这个服务实际把验证码发去了哪里。 很多服务会送到应用内的某个界面、送到邮箱,或者用语音电话播报,而不是发短信——有时候还不会明说。一条发往你租用号码根本收不到的渠道的验证码,无论你等多久,都不会出现在订单上。
- 从目标服务自己的界面去触发发送,如果你还没做过的话。SMSCode 这一侧没有任何东西能发起那个请求。
- 把当前订单剩下的时间用完。 订单页面显示还剩多久。在这个时间窗内等待不额外花钱。
- 看看你的订单此刻究竟开放了什么。 如果 Cancel 可用而你已经决定停手,它就在那里。如果它不可用,取消就不是当下可走的路,而强行开一个新订单是另一次购买,不是重试。
- 如果某次操作的结果不清楚,先查订单状态和余额,再去第二次按任何东西。
订单记录显示的是操作是否可用以及送达情况。它不记录目标服务为什么发了或者没发,因此也无法告诉你换一个号码或者换一个国家会不会不一样。
四个计时器,分属两方
人们谈论「那个倒计时」的时候,像是只有一个。其实至少有四个,而且各自独立到期。
| 计时器 | 属于谁 | 它限制什么 |
|---|---|---|
| 验证码有效期 | 目标服务 | 你收到的那条验证码还能用多久 |
| 重试冷却 | 目标服务 | 那个服务多久之后才肯再发一条 |
| Resend 冷却 | SMSCode | Resend 按钮多久之后重新变为可用 |
| 租用时间窗 | SMSCode | 你的订单把号码持有多久 |
两个是我们的,两个不是。目标服务那两个,会因服务、国家、有时因账号而不同,不该由我们来替它们说出具体数值。属于我们的那两个,请按订单页面上显示的来:Resend 重新可用的那个时间点,以及订单本身还剩多少时间。
这也正是「等一小时再试」有可能落空的原因:如果目标服务要你等的时间,比你订单剩下的还长,那段等待就塞不进这个订单里。真正说了算的是订单自己剩余的时间,显示在它的页面上——而不是一条笼统的经验法则。
从你当前的状态出发该怎么做
| 你的情况 | 什么是可用的 | 该做什么 |
|---|---|---|
| 订单进行中,还没有短信 | Cancel 可能可用;Resend 不可用 | 先走完上面那套顺序,再考虑重新购买 |
| 订单进行中,已经来了一条短信 | Resend,等它的冷却过去之后 | 先把你已经拿到的那条验证码重新输一遍;它可能还有效 |
| 订单进行中,短信已到,冷却未过 | Resend 显示着,但不可用 | 按页面显示的时间来 |
| 订单已完成 | Reactivate,如果这个订单符合条件 | 一个新的付费订单——见下文 |
| 订单已过期或已取消 | 两个都不可用 | 新订单不会预留、也不保证拿回之前那个号码 |
| 订单已完成,但没有 Reactivate | 两个都不可用 | 客服同样无法预留或强行指定同一个号码 |
Reactivate 是一个新的付费订单,不是撤销
当一个订单结束之后,它的详情页上可能出现 Reactivate。这个名字听着像是恢复;它不是。
Reactivate 会为同一个号码创建一个新的付费订单,而费用会在你确认之前显示出来。目前它只出现在我们某一家供应商的已完成订单上,所以不是每个结束的订单上都有。文档描述了这个操作以及它的确认步骤。
按钮出现,意味着你的订单属于正确的类型。至于那个号码还能不能被供应,是在你点下去的那一刻才检查的,而这次检查可能返回否定结果。
如果一次 Reactivate 尝试没有产生一个能用的订单,不要马上再按一次。 一个请求失败可能有不止一个原因——号码可能确实没有了,也可能是请求在中途出了问题——这两种结果并不相同。先查你的订单列表和余额。如果发生了什么并不清楚,请提交工单并附上订单 ID,而不要盲目地重复尝试;工单可以把记录附上,盲目重复不能。
两个值得走一遍的情况
用于说明的场景,不是真实账号的记录。
有人把验证码输错了。 消息来了,最后一位输错,服务不认。那条验证码本身很可能还在它的有效期内,所以第一件该试的事,是把订单页面上已经显示着的那条码重新输一遍。如果它确实已经过期,那么这个订单要能再请求一条,前提是租用仍然有效、未过期,并且冷却已经过去——而且请求不等于送达:新的短信仍然得由目标服务发出,能不能到并不保证。
有人等了好几分钟什么也没看到。 Resend 不可用,而去按它并不是该走的一步。适用的是上面那套顺序:先确认这个服务到底有没有用短信发,从它的界面触发发送,把订单剩余的时间走完,然后看看订单开放了什么,再决定要不要买下一个。
一条旧消息,回答不了一次新的验证
这里有两件事被混为一谈,而且都会带来实实在在的挫败感。
存下来的消息是一条记录,不是一条还活着的验证码。 短信在订单页面上一直可读。但它里面那条码,是为了回应某一次具体的验证而生成的。如果目标服务在那之后又发起了一次新的验证——因为你按了它的重发、重新走了一遍流程,或者过后才回来——那条旧码就可能已经对不上当前这次验证了。有些流程在发出新码时会让先前的码失效,有些不会;说了算的是目标服务此刻正在出示的那次验证。能读到一条旧消息,并不能让它里面的码成为这次的答案。
送达了的验证码不等于被接受。 收到一条验证码,意味着有一条消息到达了这个号码。它完全没有说明目标服务会不会接受这次注册、之后会不会保留这个账号;那个决定完全在对方手里。当一个号码带着既有关联到你手上时,同样的区别也很要紧,见号码上显示着别人的 WhatsApp。
扣费怎么处理
界线在于有没有一条短信被送达,而不在于有没有从里面成功识别出一条验证码。
一个被取消或到期、且没有收到过任何短信的订单,会自动把扣费退回你的 SMSCode 余额。如果确实来过一条短信,那么即使无法从中解析出验证码,这个订单也算作已送达。常见问题直接写明了这一点:当一条消息到达却没有识别出验证码时,内容照样会显示出来,订单按已送达处理。
一个能看清这点重要性的具体例子:某个服务发来一句确认语,里面是一个词,而不是六位数字。消息到了,在订单上也读得到,但里面没有识别出验证码。这个订单算作已送达,因为确实有东西到了。
实际结论是:该期待扣费退回的情形,是消息压根没来,而不是验证码不好辨认。如果你认为某个订单的扣费有问题,请提交工单——订单、支付和退款类的情况都在那里处理,因为它们需要把订单记录附上。
别让一个租来的号码成为某个账号唯一的回去的路
临时号码是按一个时间窗租用的。之后它就不属于你了,而且可能在以后被分配给别人。这适不适合一次性注册,取决于那个平台自己的规则,也取决于你以后会需要什么样的找回方式。真正成为问题的,是当这个号码变成你回到某个在乎的账号的唯一通路时。
在把任何长期的东西押在一个租来的号码上之前,先看看那个服务自己提供哪些找回方式,因为各家并不相同:
- 如果那个服务支持,添加一个你自己掌握的找回邮箱,并确认它确实能用。
- 如果那个服务会发放备用码或找回码,把它们保存好——对很多服务来说,这才是真正的找回途径。
- 如果那个服务提供身份验证器应用,就把它设置好。注意:身份验证器是一个登录因素,并不自动等于找回方式;它能不能帮你拿回访问权限,取决于那个服务的规则。
- 如果这个账号是长期重要的,就把它的验证迁到一个你会一直保留的号码上。
今天在一个租来的号码上收到验证码,并不能让这个号码成为这个账号可靠的长期锚点。
本文的局限
- 订单记录显示的是操作是否可用以及送达情况。它不能确定目标服务为什么发了或者没发某条消息,本文也不对此作猜测。
- 属于目标服务的那些计时器会在不通知的情况下改变。本文没有任何内容是在承诺某个外部验证码或外部冷却会持续多久。
- 某个具体号码能不能通过 Reactivate 重新拿到,是在操作当下实时检查的,无法事先预测。
- 界面上的标签和可用的操作都可能改变。订单详情页和文档才是准;本文只是描述它们。
- 本文没有任何内容能保证验证码一定会到、注册一定会被接受,或者号码一定能重新拿到。
FAQ
我什么都没收到,为什么 Resend 是灰的?
在一个仍在进行的订单上,Resend 只有在已经记录到一条短信之后才变为可用;当它不可用的原因正是这个时,鼠标移上去会显示 “Available after the first SMS”。冷却没过,或者订单已经结束,同样会让重发无法进行;而订单结束之后,操作栏根本不再显示。想拿到第一条消息,请从目标服务自己的界面去触发发送。
Resend 会让 Google 或 WhatsApp 给我发一条新验证码吗?
不会。Resend 是向把号码租给你的那家供应商发出的请求。只有目标服务才能生成一条新的验证码,而且要从它自己的界面。
我可以一直按 Resend,直到有东西来为止吗?
不行。我们这边的重发冷却限制了它能被使用的频率,而目标服务另外还会执行它自己的重试规则。订单页面会显示 Resend 什么时候重新可用。
验证码来了,但应用说它过期了。我能再要一条吗?
只有在租用仍然有效、未过期,并且冷却已经过去的情况下才行;已记录的一条短信让这个订单具备了请求的资格。有资格不等于会送达——新消息仍然由目标服务发出,能不能到并不保证。如果订单已经结束,你需要一个新的订单。
我的 Reactivate 尝试没有产生一个能用的订单,现在怎么办?
在做别的事情之前,先查你的订单列表和余额,因为「失败了」和「结果不清楚」并不是一回事。如果结果是模糊的,请提交工单并附上订单 ID,而不要再按一次 Reactivate。
我的订单一条短信都没有就过期了,钱会退吗?
会——一个被取消或到期、且没有收到过任何短信的订单,会自动把扣费退回你的余额。如果确实来过一条消息,哪怕里面没有可识别的验证码,这个订单也算作已送达。
客服能手动给我再发一条验证码吗?
客服没法生成验证码——那来自目标服务——也没法保证你拿到某个特定的号码。工单能做的,是去查一个订单以及在它上面某次操作的结果,这也正是订单 ID 是那条值得附上的信息的原因。
