订购 Telegram 号码之前应该准备什么?
先对照这份清单检查一遍;大多数失败的 Telegram 测试都能追溯到其中某一项。
- 明确的用途。 你要测试的是由自己团队运营的机器人、Mini App、登录组件或客服流程,并且需要一个不与任何员工个人手机绑定的全新 Telegram 账号。
- 目标国家。 决定账号看起来应属于哪个市场。语言默认值和部分注册引导页面会跟随号码所属的国家。
- 钱包余额或沙盒。 一个已充值的预付钱包,或者由支持团队切换到沙盒、用于演练的开发账号。
- API 密钥(如需自动化)。 在开发者控制台中创建带
or_live_前缀的密钥。 - 干净的设备或模拟器。 Telegram 会把验证码发送到已登录的会话内,因此没有现有会话的设备能让短信路径更可预测。
- 时间。 每次激活的有效期为 20 分钟;在测试人员准备好输入号码之前,不要提前开始。
Telegram 究竟什么时候会发送短信验证码?
Telegram 用手机号识别每个账号。在有人注册新账号、或已有账号在新设备上登录时,它会要求输入验证码。如果该账号已在其他地方处于活跃状态,Telegram 通常会把登录验证码作为消息发到现有会话中,而不是发短信;所以,要测试短信这一步,最干净的办法就是在全新设备上使用一个全新的号码。等待片刻后,它也可能提供来电或重新发送的选项。
Telegram 的两步验证是在应用内设置的独立云端密码,并不是短信因素,所以如果在测试账号上启用,请把该密码保存到团队的密钥管理器中。
Telegram 可以选哪些国家?为什么这很重要?
telegram 服务目前在 199 个国家有售,包括印度、德国、巴西、尼日利亚、印度尼西亚,以及英国、乌克兰、哈萨克斯坦、乌兹别克斯坦、土耳其、西班牙、墨西哥、菲律宾、越南和埃及。
请让国家与测试用例相匹配。用葡萄牙语回复的机器人,应当用巴西账号试一试;负责中亚地区的支持团队,可能需要一个哈萨克斯坦号码。Telegram 对某些国家号码的态度也可能比其他国家更谨慎,所以如果某条线路一直失败,换到相邻市场是合理的退路。线路的可用情况在一天之中会变化,因此请通过 API 读取,而不是依赖保存下来的列表。
如何用 API 自动获取 Telegram 验证码?
- 可选:用
GET /api/v1/prices?country=<id>&service=telegram确认费用。 - 创建订单:以
{"service": "telegram", "country": "<id>"}调用POST /api/v1/activations,其中国家 id 来自GET /api/v1/countries(例如br或de)。 - 将返回的号码交给测试运行器,由它把号码输入 Telegram 客户端或模拟器。
- 等待验证码。使用 Webhook 时,监听
activation.sms_received;否则以合理的间隔轮询GET /api/v1/activations/{id}。 - 如果测试中途中止,用
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 与其无任何关联。请合法使用号码,并遵守各服务的条款及我们的可接受使用政策。