现状:产品涉及 imo,每次测试都需要一部手机号
imo 是一款即时通讯与语音、视频通话应用,以手机号识别每个账号。注册账号或把账号迁移到新设备时,会通过短信发送一次性验证码。这种设计对普通用户很简单,对团队却有些麻烦:凡是要做 imo 相关集成、客服流程或市场测试的人,每试一次都需要一个能收短信的号码。
使用员工的手机会把个人号码和工作账号混在一起,也无法扩展到跨国家的测试矩阵。OTP Gateway 的一次性号码只处理一条验证码,不涉及私人号码,既可以用代码下单,也可以手动下单。更完整的做法可参考移动应用验证页面。
哪些国家可以接收 imo 验证码?
imo 服务目前覆盖 197 个国家。示例包括印度、巴基斯坦、孟加拉国、尼泊尔、沙特阿拉伯、阿拉伯联合酋长国、埃及、尼日利亚、肯尼亚、印度尼西亚、菲律宾、德国、比利时、英国、美国和加拿大。
请选择与测试场景相符的国家。如果你的客服团队服务南亚客户,使用该地区的号码就能还原他们看到的流程,包括短信语言以及服务方在当地启用的检查。可浏览的国家列表展示了所有可用线路。
imo 验证码 API 的流程是怎样的?
在开发者控制台创建 Bearer 密钥(前缀 or_live_,每个账号最多 10 个),然后调用 https://otproute.com/api/v1;速率上限为每分钟 300 次请求。
- 用
GET /api/v1/services和GET /api/v1/countries查询 id;服务 id 是imo。 - 用
GET /api/v1/prices?country=pk&service=imo查询该组合的价格。 - 用
POST /api/v1/activations下单,请求体为{"service": "imo", "country": "pk"},并保存返回的 activation id。 - 把返回的号码填入 imo 的注册界面。
- 通过
activation.sms_receivedwebhook 获取验证码;如果无法暴露公网端点,则轮询GET /api/v1/activations/{id}。
使用 webhook 时,请校验 X-OTPRoute-Signature: t=<unix>,v1=<hex>:用端点密钥对 "<t>.<raw body>" 计算 HMAC-SHA256,并拒绝过旧的时间戳。处理程序要以 activation id 为键保持幂等,这样重试投递的请求只会被处理一次。完整的数据结构见文档。
可以直接在控制台里下单 imo 号码吗?
可以。用邮箱加 6 位邮箱验证码(或 Google 登录)注册,并启用 TOTP 双重验证。给钱包充值后,选择 imo 和国家,确认显示的价格即可下单。把号码填入 imo,验证码一经送达就会出现在控制台中。这很适合客服人员或代理机构的客户经理在不写代码的情况下完成单次验证。
imo 验证码没有到达,原因可能是什么?该怎么办?
每次激活的有效窗口为 20 分钟,只有验证码到达才会扣费。过期或取消的订单会自动全额退回钱包。
收不到验证码通常有一些常见原因:imo 在某些情况下可能拒绝虚拟号码,线路可能繁忙,或者服务方会对曾经出现过的号码增加检查。遇到这种情况时:
- 让窗口跑完,不要过早取消。
- 稍后重试,或换一条仍符合测试需求的国家线路。
- 为重试设置间隔和次数上限;连续不断地下新的 imo 订单只会白白消耗尝试次数。
什么情况下 Dedicated Number 更适合 imo?
由于 imo 把账号绑定到手机号,一次性号码无法在同一账号于另一台设备登录时接收后续验证码。对于客服热线、共享的运营账号,或必须持续可用的预发布登录,Dedicated Number(专属号码)是更好的选择。它仅在美国和加拿大提供,价格从 $1.95/month 起,入站短信会显示在控制台中,并通过 number.sms_received 转发到你的 webhook。专属号码页面介绍了续费与释放方式。
负责任的使用方式与计费
请遵守 imo 的服务条款:每个账号对应一位真实的个人或一家企业,不得批量或虚假注册。OTP Route 用于测试你自己产品的流程以及运营你自己的合法账号,并适用其《可接受使用政策》。imo 是其所有者的商标,OTP Route 与其没有任何关联。
计费采用一个预付美元钱包,按用量付费,没有月费。可通过银行卡或 USDT/USDC 充值,每次充值后都会通过邮件发送 PDF 发票,方便核对 imo 测试成本。开发账号可按需申请切换到沙盒模式,用模拟号码和验证码做端到端测试。
常见问题
如何通过 API 接收 imo 验证码?
用 {"service": "imo", "country": "<id>"} 创建一次激活,把号码填入 imo,然后从 webhook 或 GET /api/v1/activations/{id} 读取验证码。
我所在的国家可以用 imo 短信验证做测试吗?
目前 imo 在 197 个国家上线。请通过 GET /api/v1/countries 或控制台查看实时可用情况。
虚拟号码每次都能通过 imo 的验证吗?
不能。imo 可能拒绝部分虚拟号码,所以没有收到验证码的订单会在 20 分钟后全额退款。
OTP Route 提供的 imo 手机号多少钱?
价格从 $0.20 per code 起,因国家而异。实时价格由 GET /api/v1/prices 返回。
之后还能用一次性号码重新登录同一个 imo 账号吗?
不能保证,因为每个一次性号码只处理一条验证码。需要再次登录的账号,请使用美国或加拿大的 Dedicated Number。
我的 webhook 应该如何处理重复投递的 imo 通知?
先校验签名,然后对每个 activation id 只处理一次,这样重试就不会重复执行工作。
可以用这种方式创建多个 imo 账号吗?
只限于你所代表的真实个人或企业,并且必须符合 imo 的条款。不允许批量或虚假注册。
服务名称均为其各自所有者的商标,OTP Route 与其无任何关联。请合法使用号码,并遵守各服务的条款及我们的可接受使用政策。