订购 +216 号码之前,检查清单上应包含什么?
把这份清单过一遍,大多数突尼斯测试运行都会很顺利:
- API 密钥就绪。 在开发者控制台创建 Bearer 密钥;正式密钥以
or_live_开头。 - 钱包已充值。 OTP Gateway 从你的预付美元余额中扣款;
GET /api/v1/balance可以在脚本里确认余额。 - Webhook 可达。 注册一个 HTTPS 端点,保存其密钥,并确认你的服务器时钟准确,以便时间戳检查通过。
- 价格已核对。 针对你计划测试的具体服务调用
GET /api/v1/prices?country=tn&service=<id>。 - 电话字段已测试。 确保你自己的表单既接受八位的突尼斯国内号码,也接受粘贴的
+216国际号码。 - 解析器足够宽容。 确认验证码提取对阿拉伯语、法语和英语的消息正文都有效(见下文)。
- 条款已审阅。 你测试的是自己的产品,或运营自己的合法账户,并遵守服务的规则和 OTP Route 的《可接受使用政策》。
突尼斯号码的 E.164 格式是怎样的?
突尼斯采用封闭编号方案:每个用户号码都是八位数字,没有中继前缀,因此在添加国家代码之前无需去掉任何东西。E.164 形式就是 +216 加这八位数字。当地人常把号码写成 xx xxx xxx 这样的分组,所以规范化时要去掉空格、点和连字符。避免按固定的前导数字清单做校验;长度检查加上一个可靠的电话号码库,比手写的号段表更安全。
突尼斯验证短信以哪些语言到达?
阿拉伯语是官方语言,突尼斯阿拉伯语是人们日常所说的语言,法语则常见于商业、行政和许多应用。因此,同一次测试运行中,根据发送方和设备区域设置,可能出现法语、英语或阿拉伯语的验证码。
阿拉伯语消息以 Unicode 短信发送,数字前后可能带有从右到左的方向标记。在去掉不可见标记之后,用正则匹配第一段四到八位的 ASCII 数字,就能适用于这三种语言。团队把突尼斯加入测试矩阵,通常是为了与摩洛哥和阿尔及利亚一起进行讲法语的北非地区上线、为了对从右到左布局做本地化 QA,或者因为他们服务居住在欧洲的突尼斯客户;用于测试的 +216 号码可以覆盖所有这些情形。
分步指南:通过 API 接收突尼斯 OTP
实时快照列出突尼斯有超过 1,700 个服务,包括 Facebook、WhatsApp、Instagram、Telegram、TikTok、Google (Gmail & YouTube)、Snapchat、Signal、LinkedIn、Discord、ChatGPT (OpenAI)、Microsoft & Outlook、Amazon 和 Uber。可用性在一天中会变化,所以请在每次运行开始时,让你的 OTP 路由逻辑从 GET /api/v1/services 和 GET /api/v1/countries 读取。
- 发送
POST /api/v1/activations,请求体为{"service": "facebook", "country": "tn"},并保存激活 ID。 - 把返回的号码输入你正在测试的应用,并触发验证码。
- 在你的 webhook 上处理
activation.sms_received:校验X-OTPRoute-Signature(时间戳、一个点号和原始请求体的 HMAC-SHA256),拒绝过期时间戳,并忽略你已处理过的激活 ID 的重复事件。 - 没有 webhook 时,轮询
GET /api/v1/activations/{id},并远低于每分钟 300 次请求的限制。 - 如果测试中止,调用
POST /api/v1/activations/{id}/cancel。
API 文档列出了每个字段,CI 测试指南则展示了如何把它接入流水线。
控制台分步指南
- 用邮箱和六位验证码,或用 Google 登录创建账户,并开启 TOTP 双重验证。
- 用银行卡或 USDT/USDC 充值。
- 选择突尼斯,再选服务,并查看显示的价格。
- 下单,复制 +216 号码,并在目标应用中请求验证码。
- 突尼斯验证码一出现,就从控制台复制,并完成你正在测试的注册。
故障排查:+216 验证码一直没出现怎么办?
每次激活持续 20 分钟,只有验证码到达才需付费。如果窗口结束或你取消,全部金额都会退回钱包。
- 什么都没到: 让窗口走完,然后稍后重试,或在测试允许时换另一条服务线路。
- 服务拒绝了号码: 有些服务会拒绝虚拟号码;退款涵盖这种情况。
- Webhook 没动静但控制台里有验证码: 很可能是你的签名校验失败了;请与原始请求体而不是重新序列化的 JSON 比对,并检查时钟漂移。
- 连续多次失败: 加入退避;在紧凑的循环里重新下单很少有帮助。
突尼斯的长期号码、计费与沙盒
没有自助的突尼斯长期号码。专用号码是美国和加拿大的产品,每月 $1.95 起;如果你需要持久的 +216 号码,请发邮件到 [email protected],并请注意能否提供取决于当地规定。
钱包按量付费,没有月费,每次充值都会通过邮件收到 PDF 发票。开发账户可以申请沙盒模式,借助模拟号码和验证码,你无需花费余额就能验证集成。
常见问题
没有突尼斯 SIM 卡,我能测试突尼斯的注册流程吗?
可以。使用 OTP Gateway 的 +216 号码,在控制台或通过短信验证 API 和 webhook 收取验证码。
突尼斯号码有需要去掉的中继前缀吗?
没有。突尼斯号码为八位数字,没有中继前缀,因此 E.164 形式就是 +216 加这些数字。
突尼斯 OTP API 的国家 ID 是什么?
在价格查询以及 POST /api/v1/activations 请求体中使用 tn。
突尼斯验证号码多少钱?
每条验证码 $0.20 起;具体金额取决于服务,下单前会在控制台和价格端点中显示。见定价。
我的解析器在阿拉伯语 OTP 消息上失败了,应该改什么?
去掉 Unicode 方向标记,并匹配数字序列而不是周围的词语,这样同一条规则就适用于阿拉伯语、法语和英语的正文。
我能保留一个 +216 号码供以后登录吗?
无法通过自助方式。网关号码只覆盖一条验证码,而可即时开通的长期号码只存在于美国和加拿大。
服务名称均为其各自所有者的商标,OTP Route 与其无任何关联。请合法使用号码,并遵守各服务的条款及我们的可接受使用政策。