用 +90 号码逐步完成土耳其验证测试

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

通过 OTP Route,你可以在 OTP Gateway 订购一个临时土耳其号码,再在控制台或通过 API 轮询和签名 Webhook 读取短信,从而接收土耳其(+90)验证码。价格每个验证码 $0.20 起,如果 20 分钟内没有收到任何短信,钱包会全额退款。

上线前检查:申请 +90 号码之前需要准备什么?

一份简短的清单可以避免土耳其测试计划正式运行时浪费激活次数:

  1. 通过 GET /api/v1/services 查出应用的服务 ID,并通过 GET /api/v1/countries 确认国家 ID tr。
  2. 调用 GET /api/v1/prices?country=tr&service=<id>,查看该组合当前的价格以及是否可用。
  3. 用 GET /api/v1/balance 确认钱包余额足够完成本轮测试。
  4. 注册一个 Webhook 端点(每个账户最多五个),并把它的密钥放在源代码仓库之外。
  5. 把手机号验证库的地区设置为 TR,并决定界面如何把号码回显给测试人员。
  6. 在测试环境中加载土耳其语区域设置,因为字符串大小写问题往往最先在这里暴露。

为什么开头的 0 会让土耳其手机号验证出错?

在土耳其国内,人们书写手机号时会带上冠码,例如 0 5XX XXX XX XX。在国际格式中这个零会消失:标准形式是 +90 加上十位国内号码,手机号在国家代码之后以 5 开头。

同时接受两种写法的表单需要一个规范化步骤。去掉空格和标点,当地区为 TR 时去掉开头的一个 0,加上 +90,并以 E.164 格式保存结果(+905…)。千万不要在存储值里保留冠码零,否则同一个测试人员在数据库中会被当成两个不同的用户。如果土耳其用户习惯国内写法,再在显示时转换回去即可。

你的解析器会遇到什么样的土耳其验证短信?

土耳其语是官方语言,本地发送方会用土耳其语书写验证码短信,其中包含 ç、ş、ğ、ı、ö 和 ü 等字母。国际应用通常遵循设备或账户的语言设置。无论哪种情况,都应该用数字模式提取验证码,而不是匹配周围的词语。

土耳其语区域设置还隐藏着一个众所周知的软件陷阱:把小写 i 转成大写会得到带点的 İ,把 I 转成小写则得到无点的 ı。使用区域敏感的大小写转换来比较字符串的代码,可能会破坏土耳其用户的登录或邮箱校验。借 +90 测试的机会可以顺便发现这类问题,同时检查输入框长度掩码和翻译后的错误提示是否合适。移动应用验证指南涵盖了相关检查。

哪些应用可以把验证码发送到土耳其验证号码?

tr 目前的快照包括 WhatsApp、Telegram、Instagram、TikTok、X (Twitter)、Google (Gmail & YouTube)、Microsoft & Outlook、LinkedIn、Uber、Netflix、AliExpress、Discord、ChatGPT (OpenAI) 和 Amazon。土耳其线路总共覆盖超过 1,800 项服务。

团队在这里下单,通常是为了土耳其产品上线、在营销推广前检查本地化,或是服务生活在欧洲其他地区的讲土耳其语的客户。由于容量在一天中不断变化,请以实时价格列表为准,不要在测试配置里写死固定名单。

如何通过 API 申请并读取土耳其 OTP?

调用顺序很短。使用前缀为 or_live_ 的 Bearer 密钥,发送 POST /api/v1/activations,请求体为 {"service": "<id>", "country": "tr"}。把返回的 +90 号码填入被测应用。短信到达时,OTP Route 会向你的端点触发 activation.sms_received;如果窗口先关闭,你会收到 activation.expired,手动停止则会产生 activation.cancelled。

在信任任何事件之前,先用 X-OTPRoute-Signature 请求头重新计算签名:对时间戳、一个点号和原始请求体做 HMAC-SHA256,密钥为端点密钥。拒绝时间戳过旧的请求,并把针对同一激活 ID 的重复投递视为同一个事件。对于无法接收入站 HTTP 的环境,可退而使用轮询 GET /api/v1/activations/{id}。关于基于 Webhook 的 OTP 捕获的文章和开发者中心提供了更深入的内容。

喜欢点鼠标而不是写代码?使用控制台

非技术同事在浏览器中遵循同样的逻辑。登录,充值,选择服务和土耳其,然后把 +90 号码复制到应用中。收到的短信会显示在激活卡片上。每个临时号码在 20 分钟的窗口内可用于一个验证码。

土耳其验证码迟迟不到怎么办?

  • 先等满 20 分钟,再判断是否失败。
  • 确认应用是否接受虚拟号码;有些应用会拒绝,自动退款正是为这种情况准备的。
  • 稍后再试,或者在测试允许时换用另一条服务线路。
  • 把重试间隔拉开,不要在循环中快速连续下单。

没有收到验证码的订单不会产生任何费用,因为全部金额都会退回钱包。

计费、沙盒与长期号码

OTP Route 使用预付美元钱包,无需选择套餐。支持银行卡和 USDT/USDC 充值,每次充值都会通过电子邮件发送一份 PDF 发票。开发者可以申请把开发账户切换到沙盒,它会返回模拟的号码和验证码,用于不消耗资金的端到端测试。

目前没有自助开通的长期土耳其号码。需要的团队可以发邮件至 [email protected];结果取决于当地法规。对于需要保留并续期的线路,专属号码仅在美国和加拿大提供,每月 $1.95 起。

常见问题

没有土耳其 SIM 卡,也能验证我的应用的土耳其注册流程吗?

可以。来自 OTP Gateway 的临时 +90 号码会接收验证码,你可以在控制台或通过 API 读取。

土耳其号码应该带开头的 0 保存吗?

不应该。以 E.164 格式保存为 +90 加十位国内号码,只在显示国内格式时再加上冠码 0。

土耳其的 API 国家 ID 是什么?

是 tr。把它填入 POST /api/v1/activations 的 country 字段以及价格查询中。

用于测试的 +90 号码要多少钱?

土耳其的激活每个验证码 $0.20 起,每个应用有各自的价格。下单前,控制台和 GET /api/v1/prices 都会显示价格。

如果验证码没有送达会怎样?

如果 20 分钟内没有收到短信,或者你取消了激活,全部费用会退回你的钱包。

土耳其号码可以保留用于以后的登录吗?

无法自助开通。请发邮件至 [email protected] 咨询,并请注意能否提供取决于当地规定。

使用这些号码有什么规定吗?

有。土耳其号码仅用于测试和运营属于你自己的产品和账户;各应用自身的条款以及 OTP Route 的可接受使用政策依然适用。

服务名称均为其各自所有者的商标,OTP Route 与其无任何关联。请合法使用号码,并遵守各服务的条款及我们的可接受使用政策。

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

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