一次博茨瓦纳激活要经过哪些 API 调用?
所有接口都在 https://otproute.com/api/v1 之下,使用以 or_live_ 开头的 Bearer 密钥认证。密钥在开发者控制台创建;一个账户最多可持有 10 个,限制为每分钟 300 次请求,对于每次运行只订购少量博茨瓦纳号码的测试套件来说绰绰有余。
典型的流程如下:
- 调用一次
GET /api/v1/countries并缓存,让你的代码知道bw是博茨瓦纳的标识符。 - 用
GET /api/v1/prices?country=bw&service=whatsapp查询你需要的组合的实时价格和可用性。价格因服务和国家而异,所以请读取,而不要写死。 - 发送
POST /api/v1/activations,请求体为{"service": "whatsapp", "country": "bw"}。响应中包含 +267 号码和激活 ID。 - 把该号码输入被测的注册表单,然后轮询
GET /api/v1/activations/{id},或等待 Webhook。 - 如果测试被中止,调用
POST /api/v1/activations/{id}/cancel,资金会立即回到钱包。
OTP API 集成指南以错误处理为重点,介绍了同样的调用。
我的 Webhook 接收端应该如何处理 +267 事件?
一旦有多个测试并行运行,Webhook 就是更干净的选择。注册一个端点(每个账户 5 个),并监听 activation.sms_received、activation.expired 和 activation.cancelled,每个事件都以你下单时获得的激活 ID 为键。
每次投递都带有形如 t=<unix>,v1=<hex> 的 X-OTPRoute-Signature 请求头。用端点密钥重建字符串 "<t>.<raw body>" 的 HMAC-SHA256,用恒定时间与 v1 比较,并丢弃时间戳过期的请求。请在校验通过之后再解析 JSON,因为重新序列化请求体会改变字节内容。
让处理程序具备幂等性:在验证码被使用时保存激活 ID,并忽略同一事件的重复投递。详情见用 HMAC 保护 OTP Webhook。
博茨瓦纳验证号码可以用来做什么?
博茨瓦纳的实时快照列出超过 800 项服务。其中比较热门的有 WhatsApp、Telegram、Google (Gmail & YouTube)、Facebook、Instagram、TikTok、ChatGPT (OpenAI)、Microsoft & Outlook、Amazon、LinkedIn、Uber、Signal、Netflix 和 Airbnb。
某条线路的可用性会随着运营商容量的变化在一天中浮动。这就是价格接口同时报告此刻可订购内容的原因:请以它的回答为准,而不是以这份列表为准。
工程师需要了解博茨瓦纳手机号的哪些情况?
博茨瓦纳的国家代码是 +267,没有长途冠码,因此国内号码怎么写就怎么拨。手机号为八位,以 7 开头。按 E.164 就是 +267 加这八位数字,没有需要去掉的零。
对于存储或校验这些号码的人,有几点实用的建议:
- 在输入时就规范化为 E.164。用户可能输入
00267、空格或开头的加号;在比较或去重之前,请把它们全部统一为一种标准形式。 - 不要沿用邻近市场的长途冠码规则。从会去掉开头零的国家照搬来的校验器,会拒绝有效的博茨瓦纳号码。
- 英语和茨瓦纳语是主要语言。来自全球应用的验证码通常以英语到达,但你的解析器应该用模式提取数字,而不是依赖固定措辞。
团队在这里测试,通常是在南部非洲推出产品、检查与南非接壤地区客户的入驻流程,或者在区域运营中需要一个本地 +267 号码来做测试。
非开发人员可以在控制台订购博茨瓦纳验证码吗?
可以。用电子邮箱和六位验证码(或 Google)注册,给钱包充值,然后打开 OTP Gateway,选择博茨瓦纳和服务,查看显示的价格并下单。把号码粘贴到你正在测试的应用里;短信一到达线路,验证码就会显示在控制台中。
每次激活保持 20 分钟。如果这段时间内没有收到任何短信,或你先取消了,全部金额会自动退回你的钱包。
如果博茨瓦纳的验证码没有到怎么办?
投递速度取决于服务和线路,所以在采取行动之前,请给窗口一些时间。如果它空着关闭,请逐项排查:
- 稍后再试,或者如果你的产品支持,为同一流程选择另一条服务线路。
- 确认对端应用愿意向虚拟号码发送短信;少数应用会拒绝此类号码,这正是未使用的激活会退回你余额的原因。
- 让 20 分钟窗口走完,而不是一分钟后就取消。
- 避免从 CI 中以紧凑循环重复下单;在两次尝试之间加入退避。
更多模式见减少 OTP 投递失败。无论测试什么,请遵守各服务的条款;OTP Route 的可接受使用政策适用于每一笔订单。
有长期使用的 +267 号码吗?计费如何处理?
不作为自助产品提供。专用号码只在美国和加拿大即时销售,每月 $1.95 起;博茨瓦纳的号码可以发邮件至 [email protected] 询问,能否提供取决于当地规定。美国和加拿大号码包含哪些功能,见虚拟号码。
计费使用一个预付费美元钱包,没有月费,可用银行卡或 USDT/USDC 充值,每次充值都会通过电子邮件收到 PDF 发票。做集成开发时,可应要求把开发账户切换为沙盒,让整个流程在模拟的号码和验证码上运行。当前费率见价格页面。
常见问题
OTP Route API 中博茨瓦纳的国家 ID 是什么?
是 bw。请把它作为 country 传入 POST /api/v1/activations,以及 GET /api/v1/prices 的查询字符串。
没有当地 SIM 卡,我能测试应用的博茨瓦纳注册流程吗?
可以。通过 OTP Gateway 为你应用的服务订购一个 +267 号码,在控制台或 Webhook 中读取验证码,全程不需要 SIM 卡或手机。
存储博茨瓦纳号码时需要开头的 0 吗?
不需要。博茨瓦纳没有长途冠码,所以请把号码存为 +267 加八位手机号。
如果 +267 的验证码没有送达,我会被扣费吗?
不会。如果 20 分钟窗口内没有任何短信到达,或你取消了订单,全部金额会自动退回你的钱包。
我能保留一个博茨瓦纳号码用于以后登录吗?
博茨瓦纳没有自助式的长期号码。长期号码是美国和加拿大的产品;如需了解其他选择,请发邮件至 [email protected]。
我能在 CI 里运行博茨瓦纳测试而不动用钱包资金吗?
请申请把开发账户切换为沙盒。它返回模拟的号码和验证码,因此完整的 API 和 Webhook 路径可以零成本地跑通。
服务名称均为其各自所有者的商标,OTP Route 与其无任何关联。请合法使用号码,并遵守各服务的条款及我们的可接受使用政策。