快速解答: GetTGAPI 对外接口基址是
https://gettgapi.com/api/open/v1,使用授权码作为 Bearer Key,由你的服务器调用。一次完整接入包括余额查询、创建申请、提交本轮验证码、读取结果,以及保存后清除临时结果。HTTP 202 只代表受理,不代表申请成功。
先确认你需要的是哪一个 API
GetTGAPI API 用于把本平台的申请协助流程接入自己的系统,结果是号码对应的 Telegram API ID 和 API Hash。它不是 Telegram Bot API,也不提供 Telegram 新账号注册、客户端登录或聊天读取功能。
每次号码验证仍需要有权使用该账号的人参与。你的系统应展示当前申请状态,并让账号持有人提供开发者门户验证码,不能把接口接入理解为免验证获取别人的 API。
本文解释接入顺序和容易出错的环节。字段定义、错误码和完整请求响应请以 GetTGAPI 开发者文档 为准,也可下载 OpenAPI 文档 与 Python 示例。
把授权码放在服务端
业务请求使用以下请求头,示例中的值均为占位内容:
Authorization: Bearer YOUR_AUTHORIZATION_CODE
Accept: application/json
写入请求还需要 Content-Type: application/json 和独立的 Idempotency-Key。不要把授权码放进 URL、网页 JavaScript、公开仓库或请求日志。你的前端向自己的后端提交业务请求,由后端携带授权码调用 GetTGAPI。
GET /balance 可以先查询余额而不消耗次数。网页和接口共用该码的余额;单张码同时最多有两个预占申请。收到的余额快照并不是后续请求一定能成功的承诺,提交时仍可能遇到并发额度已被使用的情况。
完整流程:受理、验证、交付、清除
| 步骤 | 请求与处理 |
|---|---|
| 确认余额 | GET /balance,检查 available 与 reserved |
| 创建申请 | POST /applications,提交 phone、title、short_name 和 consent,保存返回的 id |
| 等待发码 | GET /applications/{id},按返回的 poll_after_seconds 查询,不连续重复创建 |
| 提交验证码 | 仅在 waiting_code 且 challenge 有值时,向 POST /applications/{id}/code 提交当前 challenge_id 和 code |
| 获取结果 | 状态达到 succeeded 后,及时读取 GET /applications/{id}/result |
| 确认清除 | 在你自己的系统可靠保存后,调用 POST /applications/{id}/result/deletion 并传入 confirm: true |
普通进度查询至少间隔 5 秒,优先遵循返回的查询间隔。poll_after_seconds=0 表示不应继续自动查询。用户已经提交验证码后,应等待处理,不要再次要求输入旧挑战的验证码。
为什么超时后不能直接再创建一次
客户端超时只说明你没有得到响应,不能证明服务端未受理。第一次创建申请前应生成并保存幂等键;因网络问题重试同一次写入时,使用同一个键和完全相同的参数。
已经取得申请 id,就查询这条申请,而不是换一个幂等键再次创建。创建、提交验证码和清除结果是不同操作,不能共用同一个键;不同验证码挑战也需要新的操作键。
同一码下已有该号码的申请,也不能通过换键来重复消费或补领删除的结果。接口列表只显示该授权码通过接口创建的记录,不是网页历史记录的查询入口。
将异常变成明确的下一步
waiting_code:有有效 challenge 才提示用户输入。没有 challenge 时不要提交过期验证码,按文档处理取消与重新申请。retry_wait:服务端在等待或自动重试,参考 retry_at;你的系统无需重新发起同一业务。review_required:停止自动轮询,保留申请 id 和 request_id,联系 GetTGAPI 客服 核对。failed或cancelled:这次流程结束,按最新余额确认预占释放;后续确需新申请时再生成新的操作键。deleted:临时结果已清除,不能把它当成可重试的网络错误。
不要把“请求受理”“发码处理中”“用户已收到码”和“已取得结果”合并成一个成功提示。系统只能根据当前返回状态展示进度,用户是否收到验证消息需要用户自己确认。
保存和删除也属于接入流程
临时结果最长保留 1800 秒,应在成功后立即读取,核对 result_expires_at,安全交付或保存。不要等到下一次定时任务才读取,也不要先删除再尝试确认是否保存成功。
清除接口确认后,结果读取应返回已清除状态(HTTP 410)。这表示本平台的临时结果不可再获取;你自己的数据库、日志和客户设备上的副本,需要由你的系统自行管理。
GetTGAPI 不提供已删除结果的历史补领。无论自动交付还是人工复制,都要在你能确认保存成功后再调用清除接口。
上线前验证哪些情况
至少覆盖请求超时后幂等重试、验证码挑战更新、余额不足、申请结果不明、结果到期和删除后再次读取。测试应使用自己有权使用的账号与授权码,不要把“接口返回 202”当成真实申请验收通过。
从 完整 API 文档 开始接入;需要先手动体验服务,可访问 GetTGAPI 首页 或 授权码申请入口。遇到无法判断的状态,通过 客服入口 提供脱敏错误信息及追踪编号。