在测试号码上接收 Telegram 登录验证码的飞行前检查清单

OTP Gateway,每条验证码低至 $0.20199 个国家API 标识: telegram美国/加拿大专属号码,$1.95/月起
快速解答

要通过 OTP Route 接收 Telegram 验证码,请在测试所需的国家为 telegram 服务创建一个 OTP Gateway 激活,将号码输入 Telegram,然后在控制台中、通过轮询 API 或经由签名 Webhook 获取短信验证码。价格 $0.20 起,如果 20 分钟内没有收到短信,全额退回钱包。

订购 Telegram 号码之前应该准备什么?

先对照这份清单检查一遍;大多数失败的 Telegram 测试都能追溯到其中某一项。

  • 明确的用途。 你要测试的是由自己团队运营的机器人、Mini App、登录组件或客服流程,并且需要一个不与任何员工个人手机绑定的全新 Telegram 账号。
  • 目标国家。 决定账号看起来应属于哪个市场。语言默认值和部分注册引导页面会跟随号码所属的国家。
  • 钱包余额或沙盒。 一个已充值的预付钱包,或者由支持团队切换到沙盒、用于演练的开发账号。
  • API 密钥(如需自动化)。 在开发者控制台中创建带 or_live_ 前缀的密钥。
  • 干净的设备或模拟器。 Telegram 会把验证码发送到已登录的会话内,因此没有现有会话的设备能让短信路径更可预测。
  • 时间。 每次激活的有效期为 20 分钟;在测试人员准备好输入号码之前,不要提前开始。

Telegram 究竟什么时候会发送短信验证码?

Telegram 用手机号识别每个账号。在有人注册新账号、或已有账号在新设备上登录时,它会要求输入验证码。如果该账号已在其他地方处于活跃状态,Telegram 通常会把登录验证码作为消息发到现有会话中,而不是发短信;所以,要测试短信这一步,最干净的办法就是在全新设备上使用一个全新的号码。等待片刻后,它也可能提供来电或重新发送的选项。

Telegram 的两步验证是在应用内设置的独立云端密码,并不是短信因素,所以如果在测试账号上启用,请把该密码保存到团队的密钥管理器中。

Telegram 可以选哪些国家?为什么这很重要?

telegram 服务目前在 199 个国家有售,包括印度、德国、巴西、尼日利亚、印度尼西亚,以及英国、乌克兰、哈萨克斯坦、乌兹别克斯坦、土耳其、西班牙、墨西哥、菲律宾、越南和埃及。

请让国家与测试用例相匹配。用葡萄牙语回复的机器人,应当用巴西账号试一试;负责中亚地区的支持团队,可能需要一个哈萨克斯坦号码。Telegram 对某些国家号码的态度也可能比其他国家更谨慎,所以如果某条线路一直失败,换到相邻市场是合理的退路。线路的可用情况在一天之中会变化,因此请通过 API 读取,而不是依赖保存下来的列表。

如何用 API 自动获取 Telegram 验证码?

  1. 可选:用 GET /api/v1/prices?country=<id>&service=telegram 确认费用。
  2. 创建订单:以 {"service": "telegram", "country": "<id>"} 调用 POST /api/v1/activations,其中国家 id 来自 GET /api/v1/countries(例如 br 或 de)。
  3. 将返回的号码交给测试运行器,由它把号码输入 Telegram 客户端或模拟器。
  4. 等待验证码。使用 Webhook 时,监听 activation.sms_received;否则以合理的间隔轮询 GET /api/v1/activations/{id}。
  5. 如果测试中途中止,用 POST /api/v1/activations/{id}/cancel 清理。

使用 Webhook 时,请用端点密钥对 <t>.<raw body> 重新计算 HMAC-SHA256 来校验 X-OTPRoute-Signature,拒绝过旧的时间戳,并记录已处理的 activation id,使重复投递的事件被忽略。每个账号最多可配置 5 个 Webhook 端点,每分钟 300 次请求。CI 流水线指南介绍了并行运行的做法。

这些步骤能在控制台里手动完成吗?

可以。登录后打开 OTP Gateway,选择 Telegram 和国家,查看价格并下单。把号码复制到 Telegram 的手机号页面,选择对应的国家区号,然后请求验证码。短信到达后,会显示在订单旁边,可直接粘贴。

没有收到 Telegram 验证码,排查清单有哪些?

  • 是否已有现有会话? 如果该号码以前用过,Telegram 可能改为在应用内发送了验证码。新建一次激活可以避免这种情况。
  • 有效期是否已走完? 让 20 分钟的计时跑完。只有验证码送达才会收费;过期或取消都会自动全额退款。
  • 线路是否被接受? Telegram 可能拒绝某些虚拟号码。这不在我们的控制范围内,退款规则正是为此而设。
  • 间隔重试。 稍后重新下单,或换一个国家;不要在紧凑的循环中反复下单,这对送达和你的速率限制都没有好处。
  • 检查设备上的国家区号。 手动测试中,所选国家与号码不一致是很容易犯的错误。

什么情况下 Telegram 更适合使用专属号码?

一次性的 OTP Gateway 号码适合注册测试。如果 Telegram 账号下个月还需要再次登录,例如运营客服频道的团队账号,或机器人的管理员登录,就需要一个你的团队仍然掌控的手机号。美国和加拿大的专属号码每月 $1.95 起,续费期间一直归你所有,并会将收到的短信转发到控制台,同时以 number.sms_received 转发到你的 Webhook。关于临时号码与专属号码的对比文章解释了其中的取舍。

负责任的 Telegram 测试是什么样的?

请遵守 Telegram 的服务条款。每个真实的人或业务用途只创建一个账号,只用于你自己的产品、机器人和运营,绝不用于垃圾信息、批量创建账号或规避封禁。你下的每一个 Telegram 订单也都受 OTP Route《可接受使用政策》的约束。Telegram 是其所有者的商标,OTP Route 与其没有任何关联。

常见问题

不用我的个人手机,也能获取 Telegram 验证码吗?

可以。在 OTP Route 的 OTP Gateway 中订购一个 Telegram 号码,输入到应用里,然后在控制台或通过 API 读取短信验证码。

API 中 Telegram 的服务 id 是什么?

是 telegram。创建激活时,把它与来自 GET /api/v1/countries 的国家 id 搭配使用。

用于测试的 Telegram 短信验证要多少钱?

每个验证码 $0.20 起;具体价格取决于国家,由价格接口实时返回。

为什么 Telegram 把验证码发到了应用内,而不是短信?

当存在现有会话时,Telegram 会把登录验证码发送到该会话。要测试短信路径,请使用全新的号码和没有已登录会话的设备。

能重复使用一次性号码以后再登录 Telegram 吗?

不能,OTP Gateway 号码只用于一个验证码。需要反复登录时,请使用美国或加拿大的专属号码。

如果 Telegram 拒绝该号码,我会被扣费吗?

不会。如果 20 分钟内没有验证码送达该号码,或者你取消了激活,全额金额会退回钱包。

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

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

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