哪些 REST 调用可以返回阿尔巴尼亚号码及其验证码?
阿尔巴尼亚 OTP API 就是适用于所有市场的同一套短信验证 API,只有国家 ID 不同。请求发往 https://otproute.com/api/v1,使用在开发者控制台生成、前缀为 or_live_ 的 Bearer 密钥。阿尔巴尼亚的 ID 是 al,一次典型的运行如下:
GET /api/v1/services解析出所需的服务 ID,例如telegram或google。请在多次运行之间缓存该列表。GET /api/v1/prices?country=al&service=<id>读取实时价格,并确认该线路当前开放。POST /api/v1/activations,请求体为{"service": "telegram", "country": "al"},返回激活 ID 和 +355 号码。- 你的测试在被测应用的注册或登录页面提交该号码。
- 验证码通过 Webhook 到达,或通过轮询
GET /api/v1/activations/{id}获取;如果测试中止,请调用POST /api/v1/activations/{id}/cancel。
一个账户最多可持有 10 个密钥,因此预发布环境、CI 和同事的笔记本电脑可以各用一个,并可分别撤销。每分钟 300 次请求的上限为多个并行测试套件留出了空间。字段级别的细节见 API 参考。
阿尔巴尼亚的测试该轮询还是监听 Webhook?
轮询接入最快:每隔几秒请求一次激活接口,直到状态改变。一旦测试套件并行运行,Webhook 会更整洁。最多可注册 5 个端点,并订阅 activation.sms_received、activation.expired 和 activation.cancelled。
每次推送都带有签名。X-OTPRoute-Signature 请求头的格式为 t=<unix>,v1=<hex>,其中 v1 是使用端点密钥对 "<t>.<raw body>" 计算的 HMAC-SHA256。请基于未经改动的请求字节重新计算,以恒定时间比较,并丢弃时间戳过期的请求。把事件以激活 ID 作为键,这样重试的推送就不会重复写入。我们的 Webhook 捕获 OTP 一文演示了完整的处理程序。
+355 号码在进入数据库之前应如何规范化?
阿尔巴尼亚的国家代码是 +355,国内长途冠码为 0。在国内,手机号通常在前面加 0 书写,如 06X XXX XXXX,而国际格式则去掉它:+355 6X XXX XXXX。请存储 E.164 版本(+3556…,不含空格),仅在显示时才套用本地格式。
校验 +355 测试号码时值得加入的检查:
- 当用户已选择 +355 之后又输入国内格式时,去掉开头的 0。
- 拒绝重复的前缀,例如 +355 0 6X,这种情况出现在表单盲目地把国家代码拼到本地号码前面时。
- 存储的值中不要包含空格、短横线和括号。
验证码周围的措辞取决于发送服务和账户的语言设置;阿尔巴尼亚语和英语都很常见。解析时请针对数字本身,而不是固定的句子。团队测试这个市场,通常是在阿尔巴尼亚上线、为本地及海外的阿尔巴尼亚语用户做应用本地化,或确认某个地区运营账户仍能完成验证。
阿尔巴尼亚线路可以验证哪些服务?
阿尔巴尼亚线路目前列出了超过 1,500 项服务。实时快照中的热门条目包括 WhatsApp、Telegram、Google (Gmail & YouTube)、Facebook、Instagram、TikTok、Viber、Signal、Microsoft & Outlook、ChatGPT (OpenAI)、Uber、LinkedIn 和 Discord。
库存会在一天之中变化,这就是可用性来自 API 而不是静态列表的原因。请让每个测试先针对 al 做一次价格查询,当线路恰好关闭时将其标记为跳过而不是失败,这样可以避免 OTP 路由的噪声混入你真正的回归测试结果。
非技术同事可以订购 +355 号码吗?
可以。控制台无需任何代码即可完成同样的流程:
- 使用电子邮箱和 6 位邮箱验证码或 Google 登录注册,然后开启 TOTP 双重验证。
- 用银行卡或 USDT/USDC 为钱包充值。
- 选择阿尔巴尼亚和服务,查看显示的价格,并确认订单。
- 把阿尔巴尼亚验证号码输入应用;短信到达后,验证码会显示在激活页面上。
管理客户账号的代理机构,以及设置地区企业账户的运营人员,往往使用这条路径。在这里和通过 API 下的订单共用同一个钱包和相同的退款规则。
如果阿尔巴尼亚短信一直没出现怎么办?
激活会保持 20 分钟有效。只有验证码到达时才需付费;如果窗口结束时仍为空,或你提前取消,全部金额会自动退回你的钱包,Webhook 会触发 activation.expired 或 activation.cancelled。
当验证码缺失时:
- 先给窗口留出时间再做反应,因为有些服务发送较慢。
- 检查该服务是否接受虚拟号码,有些服务出于政策原因会拒绝。
- 稍后重试,或者如果测试允许,改用另一条服务线路。
- 避免在紧凑循环中重复下单。请在两次尝试之间退避,不要让脚本冲击线路。
我们关于减少 OTP 投递失败的文章列出了适用于巴尔干线路及其他线路的更多重试模式。这些号码仅限用于你自己的产品和账户,请遵守各服务的条款,并请注意 OTP Route 的《可接受使用政策》同样适用。
有阿尔巴尼亚的长期号码吗?费用如何计算?
阿尔巴尼亚没有自助开通的长期号码。专属虚拟号码仅在美国和加拿大即时开通,每月 $1.95 起,支持入站短信、Webhook 转发、出站短信和浏览器通话。如果你需要长期可用的阿尔巴尼亚号码,请发邮件至 [email protected];能否安排取决于当地规定,且不作保证。
计费通过一个预付费美元钱包进行,没有月费,也无需选择套餐。可用银行卡或 USDT/USDC 充值,每次充值都会通过电子邮件附上 PDF 发票。实时费率见价格页面。做集成开发时,可以请求把开发账户切换为沙盒,它会返回模拟的号码和验证码,使流水线无需花费钱包资金即可演练。
常见问题
没有当地 SIM 卡,也能测试我的应用的阿尔巴尼亚注册流程吗?
可以。使用国家 al 订购 OTP Gateway 号码,在你的注册页面提交,然后在控制台或 Webhook 中读取验证码。整个过程不涉及 SIM 卡或当地运营商合同。
阿尔巴尼亚验证码要多少钱?
每个验证码 $0.20 起,具体服务的确切价格在下单前由 GET /api/v1/prices 返回。如果 20 分钟窗口内没有收到任何短信,费用会退回你的钱包。
存储阿尔巴尼亚号码时应该保留开头的 0 吗?
不要保留。请以 E.164 格式保存,即 +355 加上不含冠码 0 的国内号码,只在本地显示时再把 0 补回去。
同一个 +355 号码以后登录还能再用吗?
OTP Gateway 号码只对应一个验证码。对于需要持续登录的账户,请使用美国或加拿大的专属号码,或就阿尔巴尼亚向客服咨询。
OTP Route 有用于阿尔巴尼亚集成测试的沙盒吗?
可以应要求为开发账户开启沙盒模式。它会返回模拟的号码和验证码,因此 CI 运行可以演练完整流程而不动用钱包资金。
为什么我的阿尔巴尼亚号码被应用拒绝了?
有些服务会拒绝虚拟号码。请取消激活或让其过期以获得自动退款,然后在其他时间或通过另一条线路重试。
阿尔巴尼亚应使用哪个 API ID?
在价格查询和激活请求中使用 al 作为国家值,服务 ID 则取自 GET /api/v1/services。
服务名称均为其各自所有者的商标,OTP Route 与其无任何关联。请合法使用号码,并遵守各服务的条款及我们的可接受使用政策。