许多Telegram用户在进行账号注册、批量管理或开发第三方应用时,需要频繁接收短信验证码。Telegram接码API正是为了解决这一需求而存在的工具,它允许开发者或高级用户通过编程方式自动获取验证码,无需手动查看手机。然而,新手往往在API的获取、配置和调用上遇到困难,导致无法成功接码。本文将手把手教你如何正确使用Telegram接码API。
准备条件:注册接码平台账号并获取API密钥
在使用Telegram接码API之前,你需要先选择一个支持Telegram短信接收的第三方接码平台(如SMS-Activate、5sim等),并完成账号注册和API密钥的申请。
具体操作说明:
1. 打开浏览器,访问你选择的接码平台官网(例如sms-activate.org),点击“注册”按钮。
2. 输入邮箱地址并设置密码,完成邮箱验证后登录账号。
3. 进入“API”或“开发者”页面,点击“生成API密钥”或类似选项,系统会生成一串由字母和数字组成的密钥字符串,复制并保存好这个密钥。
4. 确认你的账户余额充足(大部分平台需要预充值才能使用接码服务)。
注意事项/小提示:
- 请务必保管好API密钥,不要泄露给他人,否则可能导致账号被盗用。
- 不同平台的API密钥格式可能不同,常见的有纯数字或混合字符,后续调用时需原样使用。
- 部分平台提供免费测试额度,建议先利用测试额度验证API是否可用。
备用方案:
- 如果注册时收不到验证邮件,请检查垃圾邮件箱,或更换邮箱服务商(如Gmail、Outlook)。
- 若平台不支持你所在的国家/地区,请尝试使用VPN切换至支持区域后再注册。
获取目标Telegram号码:通过API申请临时手机号
接码API的核心功能是为你分配一个临时的手机号码,用于接收Telegram的验证短信。
具体操作说明:
1. 打开你常用的代码编辑器(如VS Code)或API调试工具(如Postman),准备发送HTTP请求。
2. 构造一个GET请求,地址为接码平台的API端点(例如https://api.sms-activate.org/stubs/handler_api.php),并附上以下参数:
- api_key:填入上一步获取的API密钥。
- action=getNumber:表示请求分配一个号码。
- service=tg:指定服务为Telegram。
- country:可选参数,填写国家代码(如22代表英国,12代表美国),不填则随机分配。
3. 发送请求后,你会收到类似ACCESS_NUMBER:12345678:447700900001的响应,其中12345678是激活ID,447700900001是分配给你的临时手机号。
4. 记录下这个激活ID和手机号,后续用于接收验证码。
注意事项/小提示:
- 不同平台的API地址和参数名称可能不同,请务必查阅你所用平台的官方文档。
- 临时号码通常有有效期(如20分钟),超时未接收验证码会自动释放,需重新申请。
- 建议选择支持Telegram注册的国家(如美国、英国、俄罗斯),成功率更高。
备用方案:
- 如果请求返回“NO_BALANCE”错误,说明账户余额不足,请充值后再试。
- 若返回“NO_NUMBERS”,表示当前无可用号码,请更换国家代码或稍后再试。
发起Telegram注册请求:使用临时号码触发验证码
拿到临时手机号后,你需要在Telegram注册界面或API中发起注册请求,让系统向该号码发送验证码。
具体操作说明:
1. 打开Telegram官方客户端或使用Telegram API(如MTProto协议),进入注册流程。
2. 在输入手机号时,填入上一步获取的临时号码(包含国家代码,例如+447700900001)。
3. 点击“下一步”或“发送验证码”,Telegram会向该号码发送一条包含验证码的短信。
4. 如果使用Telegram API进行自动化操作,请调用auth.sendCode方法,传入手机号参数。
注意事项/小提示:
- 部分接码平台要求你先激活号码(即先发起注册请求),否则无法接收短信。
- 确保你选择的临时号码未被Telegram封禁,否则可能无法收到验证码。
- 如果使用客户端操作,请关闭双重认证或两步验证,以免干扰流程。
备用方案:
- 如果提示“号码无效”,请检查国家代码是否正确,或重新申请一个不同国家的号码。
- 若长时间未收到验证码,可尝试重新发送(部分Telegram客户端有“重新发送”按钮)。
通过API获取验证码:轮询或被动接收
发送注册请求后,你需要从接码平台获取Telegram发送的验证码。
具体操作说明:
1. 使用上一步记录的激活ID,构造另一个GET请求,参数为:
- api_key:你的API密钥。
- action=getStatus:表示查询状态。
- id:填入激活ID(例如12345678)。
2. 发送请求后,常见的响应有:
- STATUS_WAIT_CODE:等待验证码中。
- STATUS_OK:123456:验证码已收到,其中123456就是你要的验证码。
- STATUS_CANCEL:号码已失效或操作取消。
3. 持续轮询(建议每5-10秒请求一次)直到获取到验证码,或设置超时时间(如120秒)。
4. 将获取到的验证码填入Telegram注册界面或API调用中,完成注册。
注意事项/小提示:
- 不要频繁请求(如每秒一次),以免被平台封禁IP。
- 部分平台支持回调通知,即验证码到达时主动推送给你,效率更高,可查阅文档开启。
- 验证码通常为5-6位数字,如果收到的是字母,请检查是否误用了其他服务的API。
备用方案:
- 如果一直返回“STATUS_WAIT_CODE”,请检查Telegram是否已发送短信,或重新申请号码。
- 若返回“STATUS_ERROR”,可能是激活ID错误或号码已过期,需重新申请号码并激活。
验证结果与号码释放:确认注册成功并归还号码
完成注册后,你需要验证账号是否可用,并主动释放临时号码,避免浪费费用。
具体操作说明:
1. 在Telegram客户端中登录新注册的账号,尝试发送一条消息或加入公开群组,确认账号未被限制。
2. 返回接码平台,使用激活ID发送请求,参数为:
- api_key:你的API密钥。
- action=setStatus:设置状态。
- id:激活ID。
- status=6:表示“完成”或“释放号码”。
3. 发送后,该号码会被归还给平台,你可以继续申请新号码用于其他注册。
4. 检查平台账户余额,确认本次接码是否已被扣费。
注意事项/小提示:
- 如果不主动释放号码,部分平台会持续计费(按分钟计费模式),务必及时操作。
- 注册成功后建议立即设置Telegram的两步验证密码,防止账号被盗。
- 如果注册失败(如验证码错误),可调用status=8(取消)来重新申请新号码。
备用方案:
- 若平台支持“延长号码有效期”功能,可在验证码未收到时延长,避免重新申请。
- 如果账号被Telegram限制(如“此号码已注册”),请更换新号码重新尝试。
常见问题补充
Q1:为什么我调用API后返回“BAD_KEY”?
A:请检查你的API密钥是否复制完整,注意不要包含空格或换行符。部分平台密钥区分大小写,建议直接粘贴。
Q2:接码平台的临时号码能否重复使用?
A:不能。每个临时号码在释放后会被回收,再次申请时可能会得到不同的号码。如需长期使用,建议购买虚拟SIM卡服务。
Q3:轮询时一直收不到验证码怎么办?
A:首先确认你已向Telegram发送注册请求,并且号码处于激活状态。其次,检查Telegram服务是否正常(可尝试用其他手机号测试)。最后,更换国家代码或平台重试。
Q4:使用API接码是否违反Telegram条款?
A:Telegram禁止批量注册和自动化操作,使用接码API注册的账号有被封禁的风险。建议仅用于学习和测试目的,不要用于商业滥用。
总结:
使用Telegram接码API的核心流程是:注册平台获取密钥 → 申请临时号码 → 触发Telegram发送验证码 → 通过API轮询获取验证码 → 完成注册并释放号码。注意选择可靠平台、合理设置轮询间隔,并遵守Telegram使用政策。