产品要在马里上线,却没人有本地 SIM 卡,怎么办?
这对 QA 负责人来说是个熟悉的困境。产品部门希望在巴马科的营销推广之前验证马里的注册路径,手机号输入框已经接受 +223,而每位工程师的手机里都是欧洲或北美的 SIM 卡。借用同事的个人号码很脆弱,无法支撑测试套件,还会把员工数据泄露到测试账号里。
来自 OTP Gateway 的马里验证号码解决的是这个具体问题:一个真实的 +223 号码,用于一条验证码,用完即弃。你可以用脚本驱动它,也可以在控制台手动下单;QA 测试和 CI/CD 页面介绍了团队如何把它纳入回归测试。
马里验证号码能接收哪些应用的验证码?
马里的实时快照包括 WhatsApp、Facebook、Telegram、TikTok、Google (Gmail & YouTube)、Instagram、Snapchat、imo、Viber、Signal、Microsoft & Outlook、ChatGPT (OpenAI) 和 LinkedIn。在网关的全部服务中,马里有超过 1,600 项服务可用。
可用性不是一成不变的。线路在一天中会开通和关闭,所以脚本应当在运行时确认某项服务可以购买,而不是假设昨天的结果依然成立。
马里 OTP API 的代码流程是怎样的?
请求发往 https://otproute.com/api/v1,带上以 or_live_ 开头的 Bearer 密钥。密钥在开发者控制台生成,每个账号最多 10 个。
- 从
GET /api/v1/services和GET /api/v1/countries一次性获取 ID。马里是ml。 - 用
GET /api/v1/prices?country=ml&service=<id>读取实时价格。 - 通过
POST /api/v1/activations下单,例如{"service": "whatsapp", "country": "ml"},并保存激活 ID。 - 把返回的 +223 号码提交到应用的验证表单。
- 从
GET /api/v1/activations/{id}获取验证码,或让 webhook 通知你。用POST /api/v1/activations/{id}/cancel释放不再使用的号码。
使用 webhook 时,让一个端点(最多允许五个)订阅 activation.sms_received、activation.expired 和 activation.cancelled。用端点密钥对 "<t>.<raw body>" 计算 HMAC-SHA256 来校验 X-OTPRoute-Signature,拒绝过期的时间戳,并让处理程序基于激活 ID 保持幂等。账号限制为每分钟 300 次请求,API 集成指南里有完整的示例。
八位数字、没有中继前缀:如何存储马里号码
马里使用封闭的八位编号计划,没有中继前缀,因此在国内拨打的号码,就是国外 +223 后面的那八位数字。这让规范化变得很简单:E.164 形式是 +223 加八位数字,没有需要添加或去除的前导 0。不过,请明确校验长度,因为为十位号码市场编写的通用规则会拒绝有效的马里输入。
国际应用发来的验证短信通常使用法语,而班巴拉语是日常生活中使用最广的语言。因此验证码往往出现在法语或英语模板里;请用数字模式提取,而不是匹配短语。
为什么要在这里测试?在西非推出移动支付类产品的团队、在巴马科为外勤人员管理账号的非政府组织和物流运营商,以及服务法国和邻国庞大马里侨民的应用,都需要 +223 这条路径正常工作。当推广是区域性的时候,可以搭配检查塞内加尔等线路。
+223 验证码始终没动静时怎么办?
收不到短信通常是线路或服务的问题,而不是你的集成。在提交 bug 之前:
- 等满整整 20 分钟;有些发送方会成批释放消息。
- 确认该服务是否拒绝虚拟号码。有些确实如此,这种情况下自动退款会保护你。
- 稍后再来,或换一个服务线路,而不是紧凑地循环重新下单。
- 取消你已放弃的激活,余额会立即恢复。
如果窗口关闭时仍未收到任何内容,或者你先取消了,全额款项会回到你的钱包。
我的团队可以长期持有马里号码吗?
OTP Route 没有自助式的马里长期号码。对于 ml,只提供一次性的 OTP Gateway。
OTP Route 的专属虚拟号码(Dedicated Virtual Numbers)从钱包续费,支持收发短信和浏览器通话,但只在美国和加拿大提供,$1.95/月起。如果你的业务需要一条持续使用的 +223 线路,请发邮件至 [email protected];网关之外的任何方案都取决于当地规定,无法保证。
为马里 OTP 路由付费,以及不花钱的测试
一个预付美元钱包为所有国家付费:按用量计费,没有月费,也不用选择套餐。可通过银行卡或 USDT/USDC 充值,每次充值都会通过电子邮件收到一份 PDF 发票。
在开发阶段,可以请支持团队把开发账号切换到沙盒模式。这样你会得到模拟的号码和验证码,不动用钱包资金就能演练整个短信验证 API 流程。真实号码只用于你自己的产品和合法账号,并遵守各服务的条款和《可接受使用政策》。当前费率见价格页面。
常见问题
不出差、不买本地 SIM 卡,就能验证马里的注册吗?
可以。在 OTP Gateway 订购一个用于测试的 +223 号码,填入你的应用,然后在控制台或通过 API 读取验证码。
马里在 OTP Route API 中的 ID 是什么?
马里是 ml,这个值同时用于价格查询和激活请求的请求体。
马里号码有需要去掉的前导 0 吗?
没有。马里没有中继前缀;有效号码是 +223 后面加八位数字。
马里的短信验证码多少钱?
马里的验证码 $0.20 起,各个应用的具体价格会在购买前由 API 实时给出。
如果应用一直不发验证码,我会亏钱吗?
不会。到 20 分钟窗口结束仍未收到短信的激活,或者你取消的激活,都会全额退回钱包。
不会写代码的人也能使用吗?
可以。在控制台里选择马里和服务,订购号码,粘贴到应用中,验证码就会显示在激活页面上。
服务名称均为其各自所有者的商标,OTP Route 与其无任何关联。请合法使用号码,并遵守各服务的条款及我们的可接受使用政策。