通过一次 API 调用接收博茨瓦纳短信验证码

国际区号 +267OTP Gateway,每条验证码低至 $0.20专属号码:仅限美国和加拿大API 标识: bw
快速解答

可以,你能用 OTP Route 接收博茨瓦纳(+267)短信验证码:通过 OTP Gateway API 或控制台为国家 bw 创建激活,验证码会通过轮询或签名 Webhook 返回。价格每个验证码 $0.20 起,只有短信真正到达号码时才会收费。

一次博茨瓦纳激活要经过哪些 API 调用?

所有接口都在 https://otproute.com/api/v1 之下,使用以 or_live_ 开头的 Bearer 密钥认证。密钥在开发者控制台创建;一个账户最多可持有 10 个,限制为每分钟 300 次请求,对于每次运行只订购少量博茨瓦纳号码的测试套件来说绰绰有余。

典型的流程如下:

  1. 调用一次 GET /api/v1/countries 并缓存,让你的代码知道 bw 是博茨瓦纳的标识符。
  2. 用 GET /api/v1/prices?country=bw&service=whatsapp 查询你需要的组合的实时价格和可用性。价格因服务和国家而异,所以请读取,而不要写死。
  3. 发送 POST /api/v1/activations,请求体为 {"service": "whatsapp", "country": "bw"}。响应中包含 +267 号码和激活 ID。
  4. 把该号码输入被测的注册表单,然后轮询 GET /api/v1/activations/{id},或等待 Webhook。
  5. 如果测试被中止,调用 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 与其无任何关联。请合法使用号码,并遵守各服务的条款及我们的可接受使用政策。

几分钟内路由您的第一条 OTP

创建免费账户,为美元钱包充值,然后在控制台或通过 API 订购号码。无月费。