哪些 API 调用可以获取埃塞俄比亚验证码?
埃塞俄比亚的 OTP 路由归结为对 https://otproute.com/api/v1 的五个简单 HTTP 调用。每个调用都用以 or_live_ 开头的 Bearer 密钥认证,密钥在开发者控制台生成;一个账户最多可持有 10 个密钥,所以 CI、预发布环境和本地笔记本可以各用一套独立的凭据。
GET /api/v1/countries列出所有线路,埃塞俄比亚的 ID 是et。GET /api/v1/services返回服务 ID,而GET /api/v1/prices?country=et&service=<id>报告你打算测试的组合的当前价格和可用性。POST /api/v1/activations,请求体为{"service": "telegram", "country": "et"},会预留一个 +251 号码并返回激活 ID。- 把该号码填入被测产品的手机号字段,并触发它的短信。
- 从 webhook 事件读取验证码,或轮询
GET /api/v1/activations/{id};若要干净地放弃一次运行,使用POST /api/v1/activations/{id}/cancel。
库存会在一天中变化,所以请在运行时调用价格接口,而不要硬编码任何内容。在套件开始前快速调用一次 GET /api/v1/balance,可以让任务在钱包余额不足时提前停止。这个 SMS 验证 API 的请求和响应格式见开发者文档。
如何为 +251 激活接入签名 webhook?
单个测试用轮询就够了,但并行任务在事件被推送过来时更容易理清思路。每个账户最多可注册 5 个 webhook 端点,并订阅 activation.sms_received、activation.expired 和 activation.cancelled。
每个请求都带有 X-OTPRoute-Signature: t=<unix>,v1=<hex>。请用端点密钥对 <t>.<raw body> 重新计算 HMAC-SHA256,用恒定时间比较把结果与 v1 对照,并在时间戳过期时拒绝该调用。要在任何 JSON 解析器接触原始字节之前先完成校验。
请假设同一个事件可能被投递多次:让处理程序以激活 ID 为键并丢弃重复项,这样被重试的事件就不会把 OTP 字段填两次。如果继续使用轮询,每隔几秒一次的间隔完全处于每分钟 300 个请求的限制之内。我们关于用 HMAC 保护 OTP webhook的讲解包含一个参考处理程序。
目前有哪些服务可以接收埃塞俄比亚短信 OTP 验证码?
埃塞俄比亚线路目前列出了超过 1,700 个服务。实时快照中的热门条目包括 WhatsApp、Telegram、Google (Gmail & YouTube)、Facebook、Instagram、TikTok、ChatGPT (OpenAI)、Microsoft & Outlook、LinkedIn、Uber、Signal、Viber、imo 和 Netflix。
请把这份清单视为一次快照。单个服务的可用性可能在几小时内变化,这就是 API 实时报告而不是提供静态表格的原因。每次运行开始时查询国家和价格接口;如果需要不那么常见的服务,可以在控制台中搜索完整目录。
QA 团队需要了解 +251 号码格式和短信语言的哪些要点?
E.164 格式的埃塞俄比亚号码是 +251 加九位数字。在国内,人们拨打时会在这九位数字前加一个前导 0,所以用户经常会在你的表单里输入 09…。请去掉这个中继零,加上 +251,并存储规范的 E.164 字符串,仅在界面上显示本地样式。两种输入都要覆盖,还要覆盖空格和连字符,因为手机号字段的校验正是许多注册错误的藏身之处。
阿姆哈拉语是联邦工作语言,使用埃塞俄比亚(吉兹)文字书写,而奥罗莫语、提格利尼亚语和索马里语则在各自地区广泛使用。大多数国际服务以英语发送验证码,但本地化模板也可能以阿姆哈拉语到达。请用正则表达式提取数字,而不是匹配周围的词语,并确保你的日志能正确存储 UTF-8。
团队通常在为埃塞俄比亚用户推出应用、检查阿姆哈拉语本地化,或服务使用祖国号码注册的侨民客户时测试这条线路。如果你的产品显示日期,埃塞俄比亚自己的历法是另一个值得加入的本地化用例。QA 测试页面展示了其他团队如何组织这类测试套件。
非开发人员能在控制台获取埃塞俄比亚验证号码吗?
可以。产品经理和客服人员无需写代码就能走同一套流程:
- 用邮箱和 6 位验证码,或用 Google 登录来创建账户,然后开启 TOTP 双重验证。
- 给钱包充值。
- 选择埃塞俄比亚,选定服务,并在确认前查看显示的价格。
- 把 +251 号码粘贴到你正在验证的应用中。
- 保持激活处于打开状态;收到验证码后会显示在那里。
许多团队用这种方式做一次性的抽查,而工程师则通过 API 驱动完全相同的线路。
+251 验证码一直没出现会怎样?
每次激活保持 20 分钟。只有验证码到达才需要付费;如果窗口关闭时没有短信,或者你取消了,全部金额会自动退回钱包。
如果什么都没收到:
- 在称其为失败之前先让窗口走完,因为时间取决于服务和线路。
- 稍后重试,或者如果你的测试用例允许,换用另一条服务线路。
- 确认该服务是否接受虚拟号码。有些服务会拒绝,而退款正是为这种情况设置的。
- 不要在紧凑的循环里重复下单。把重试间隔拉开,并记录每个激活 ID,这样规律才会显现。
关于减少 OTP 投递失败的文章列出了更多检查项。
有埃塞俄比亚长期号码吗?账单如何处理?
OTP Route 在埃塞俄比亚没有自助的长期号码。专用号码,即在续费期间一直归你使用的线路,是仅限美国和加拿大的产品,每月 $1.95 起。如果你的团队需要长期的 +251 线路,请发邮件至 [email protected] 询问;是否可行取决于当地规定,不作保证。
埃塞俄比亚的激活从同一个预付美元钱包中扣款,没有月费,也无需选择套餐。可用银行卡或 USDT/USDC 稳定币充值;每次充值后,PDF 发票会发到你的收件箱。在为全新的集成花费真实资金之前,请为开发账户申请沙盒模式:它会返回模拟的号码和验证码,让整个流程可以端到端地演练。
OTP Route 提供的埃塞俄比亚测试号码用于验证贵组织真正拥有的产品和账户;各服务的条款以及我们的《可接受使用政策》依然适用。
常见问题
没有本地 SIM 卡,也能测试我的应用的埃塞俄比亚注册流程吗?
可以。在 OTP Gateway 为你的服务订购一个 +251 号码,填入你的应用,然后在控制台或通过 API 读取验证码。只有验证码到达时才会收费。
埃塞俄比亚在 OTP Route API 中的国家 ID 是什么?
是 et。创建埃塞俄比亚激活和查询价格时,把 et 作为 country 字段发送。
用于测试的 +251 号码多少钱?
验证码从每条 $0.20 起。每个服务的确切金额由 GET /api/v1/prices 返回,并在你下单前显示在控制台中。
存储埃塞俄比亚手机号时应该保留前导零吗?
不应该。保持 E.164 形式,即 +251 加九位数字,用户输入国内的 0 时就去掉它。本地格式只在屏幕上应用。
埃塞俄比亚的验证短信会以阿姆哈拉语到达吗?
通常是英语,不过服务也可能使用以埃塞俄比亚文字书写的阿姆哈拉语模板。请解析数字而不是措辞,这样两种版本都能处理。
我能保留埃塞俄比亚号码以便之后登录吗?
无法自助获得,因为一次性号码只覆盖一条验证码。对于必须再次登录的账户,美国或加拿大的专用号码更合适,也可以发邮件给支持团队询问埃塞俄比亚的情况。
有没有办法不花钱包资金就试用埃塞俄比亚 OTP API?
有。为开发账户申请沙盒模式,它会返回模拟的号码和验证码,让你端到端地测试集成。
服务名称均为其各自所有者的商标,OTP Route 与其无任何关联。请合法使用号码,并遵守各服务的条款及我们的可接受使用政策。