POST /api/v1/bulk-taskscurl -X POST "https://tgvalidator.com/api/v1/bulk-tasks" \
-H "X-API-Key: sk_your_api_key" \
-F service_type=tg_active_batch \
-F country=US \
-F file=@numbers.txtPOST /api/v1/bulk-tasksservice_type=tg_active_batch提交后立刻返回任务号;之后按任务号查询状态,任务成功时响应里会带上结果文件的下载链接。下面每个请求都配上它自己的响应。
立即返回任务号,此时 preparing 为 true,后台正在预处理文件:去掉无效行、重复行,号码任务还会去掉没带国家码和不属于所选国家的号码,这些都不计费。按提交行数冻结余额,完成后按实际用量结算,差额退回。
POST /api/v1/bulk-taskscurl -X POST "https://tgvalidator.com/api/v1/bulk-tasks" \
-H "X-API-Key: sk_your_api_key" \
-F service_type=tg_active_batch \
-F country=US \
-F file=@numbers.txt200 OK{
"code": 0,
"msg": "ok",
"data": {
"id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
"product": "tg_active_batch",
"status": "processing",
"country": "US",
"submitted_lines": 1015,
"total": 1015,
"invalid_cnt": 0,
"no_code_cnt": 0,
"other_country_cnt": 0,
"duplicate_cnt": 0,
"preparing": true,
"created_at": "2026-09-08T09:30:00Z"
}
}按任务号轮询。预处理完成后恒有 submitted_lines = total + invalid_cnt + no_code_cnt + other_country_cnt + duplicate_cnt,其中 total 是实际检测并计费的条数。任务成功时响应里带成功/失败计数和结果文件下载链接;预处理阶段被拒的任务为 failed,带 reason_detail,并全额退款。
GET /api/v1/bulk-tasks/{id}curl "https://tgvalidator.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
-H "X-API-Key: sk_your_api_key"200 OK{
"code": 0,
"msg": "ok",
"data": {
"id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
"product": "tg_active_batch",
"status": "success",
"country": "US",
"submitted_lines": 1015,
"total": 1000,
"invalid_cnt": 3,
"no_code_cnt": 0,
"other_country_cnt": 0,
"duplicate_cnt": 12,
"preparing": false,
"success_cnt": 990,
"failure_cnt": 10,
"result_url": "https://…/result.csv",
"created_at": "2026-09-08T09:30:00Z"
}
}批量不是把实时检测放大 —— 它是一次提交、后台执行、稍后取件。整个过程您不需要守着页面,任务状态和结果都留在后台。
一行一个号码的 .txt 或 .csv。文件流式提交,服务器不保存文件副本。
空文件、格式明显不对、行数不足等问题在上传时直接拒绝;通过后冻结余额,文件进入后台预处理:去除重复行和无效行,并校验国家一致性。预处理不通过的任务会标记为失败并全额退款;通过的只检测剩下的条目,完成后结算。
任务在后台跑,您可以关掉页面。失败会立即反馈并全额退款。
完成后在批量检测页下载。只按实际返回结果的号码计费,差额自动退回。
下载的是一份 CSV 文件,就是这张完整结果表。
identifier · 12345678900 — 提交的号码,统一为带国家码的纯数字,不含加号和空格(例如 12345678900)。activated · true — 该号码是否已注册 Telegram:true 或 false。不为 true 时,该行其余各列留空。uid · 1234567890 — Telegram 用户 ID。username · alex_kim — 用户名,未设置时为空。activedays · 9 — 距上次在线的天数(整数),数值越小越近期。账号隐藏了精确在线时间时,Telegram 只给出大致范围,此时为近似值:0(最近)、7(一周内)、30(一月内)或 1000(很久以前)。activatedactivedays把近期活跃与长期未活跃号码分开,避免把同一策略用在整份名单上。
activatedusername优先处理已注册、近期活跃且保留用户名的联系人,先从更可能响应的人群开始。
activatedactivedays先把预算投向近期活跃的已注册号码,再单独复盘沉默名单。
activatedactivedaysuid结合注册状态与距上次在线的天数,判断名单是否仍值得继续使用。
Telegram 活跃度检测(批量)在注册状态之外,额外返回用户 ID、用户名,以及每个账号距上次在线过去了多少天。已注册不等于还在用——这款产品把长期不在线的号码从名单里分出来,让预算花在真正会看到消息的人身上。
| 实时检测 | 批量检测 | |
|---|---|---|
| 号码数量 | 单号 1 个;多号一次可提交多个,具体上限见 API 文档 | 一次跑完整份大名单——当前数量区间见价格页 |
| 拿到结果 | 当场出结果:单号与 API 多号在同一次响应里,网页多号逐个返回 | 任务跑完后下载结果文件 |
| 国家/地区 | 不限,一次可以混着查 | 提交时选定一个国家/地区,名单应基本属于它;混入太多别国号码任务会失败并全额退款 |
| 结果形态 | JSON,逐号字段 | 结果文件(一份 CSV,含完整结果表) |
| 典型用途 | 表单校验、客服复核、发送前实时拦截 | 名单清洗、投放前筛选、存量数据治理 |
整份大名单用批量。号码不多时用实时检测:同一次请求就出结果,不需要等任务调度。
预检阶段会剔除格式不合法的行,它们不计入计费基数。剩下的号码里,上游没能返回结果的那部分也不收费。只对真正拿到结果的号码计价。
取决于号码量与产品类型。提交后可以关掉页面,任务在后台执行,完成后在批量检测页下载结果。
会。任务失败全额退款。任务成功但部分号码没出结果,那部分自动退回。提交时冻结的余额与最终实收的差额始终会退。