Telegram筛号API怎么接:名单清洗、异步提交、结果字段与CRM回写

2026-10-05 72 0

假设你手上有一份从 CRM 导出的客户手机号名单,想通过接口批量判断哪些号码开通了 Telegram、最近是否活跃。可以按这个顺序做:先把号码统一成 E.164 格式并去重,再按国家分批,通过检测平台的 REST API 提交任务,等结果经 Webhook 回推后,按「有效」和「无效」两组回写 CRM。Telegram 官方没有可以拿手机号批量查询的公开接口,整个接入方式都是围绕这一点设计的。

为什么不能直接调用 Telegram 官方接口

Telegram 的 Bot API 不能用手机号反查用户,机器人只能和主动与它互动的用户打交道。底层 MTProto 协议里有一个 contacts.importContacts 方法,它把国际格式的号码导入某个账号的通讯录,再返回匹配到的用户。这个方法是给账号同步自己的联系人用的,不是批量查询服务。

官方对这个方法限制了调用频率,导入过多会返回 FLOOD_WAIT,严重时账号会被限制。具体阈值会动态调整,官方没有公开固定数字。所以用自己的账号写脚本批量查号,结果不稳定,账号也可能被封。数据团队和开发者一般接入专门的检测 API,自己只负责整理名单和处理结果。

第一步:把名单整理成可以提交的格式

以一份混有多个国家号码的客户表为例,提交前按这个顺序处理:

  1. 保留原始记录 ID。每个号码都带上它在 CRM 里的客户 ID 或行号,后面回写时靠它对应回原记录。
  2. 统一成 E.164 格式:加号 + 国家代码 + 本地号码。去掉空格、横线、括号,以及本地拨号时用的前导 0。比如印尼号码写成 +62 开头,越南号码写成 +84 开头。缺国家代码的号码,用该客户的国家字段补上;补不出来的单独放一边,不要猜。
  3. 格式统一之后再去重。同一个号码可能同时以「0812…」和「+62812…」两种写法出现,格式没统一就去重会漏掉。合并重复项时,记下它对应哪些客户 ID。
  4. 按国家拆分批次。各国号码的长度和号段规则不同,分开跑便于比较各批的异常率,出了问题也容易看出是哪个市场的数据有问题。
  5. 格式不合法的号码不提交。位数明显不对、号段不存在的号码,先标记为「格式无效」。这样既省检测费,也不会和「检测后无效」的号码混在一起。

各国号码格式和当地常用平台,可以在区域页查到。

第二步:提交任务,接收回推

批量检测一般是异步的:提交一批号码后会拿到一个任务标识,等结果出来,平台通过 Webhook 推送到你提供的地址,不需要反复轮询。

接入时有几处容易漏掉:

  • 任务标识要和批次信息一起保存。在自己的数据库里记下「批次、国家、任务标识、提交时间、号码数」,回推到达时就能对上是哪一批。
  • Webhook 接收端要做幂等处理。网络重试可能让同一份结果推送不止一次。用任务标识加号码作唯一键,重复到达的直接跳过或覆盖,不要重复插入。
  • 先存原始结果,再做业务处理。收到回推后先把原始返回存下来,再异步更新 CRM。回写逻辑出错时可以用存下的数据重新跑一遍,不用重新检测。
  • 先用小批量把流程走通。正式跑大名单前,先用几十个号码走一遍完整流程,确认回推地址收得到、字段解析正确、回写正常。

Telegram 筛号 API 的接入流程:名单清洗、分批提交、Webhook 接收和 CRM 回写

第三步:读懂结果字段

Telegram 号码检测常见的返回内容有这几类:

  • 是否开通:号码有没有匹配到 Telegram 账号。
  • 最后活跃状态:可能是精确时间,也可能只是一个模糊区间。
  • 用户 ID、用户名、昵称、头像:账号的公开资料。没有设置用户名的账号,用户名一栏为空是正常的。
  • 异常标记:例如账号受限,或被标记为诈骗、冒充等。

不同服务返回的字段不完全相同,以你所用平台的检测项说明为准。

读结果时要注意隐私设置带来的两个限制:

「未开通」不一定代表没有账号。 如果用户在「隐私与安全」里把「谁能通过手机号找到我」设成了「仅联系人」,而检测方不在对方的通讯录里,这个号码就查不到匹配,结果显示为未开通。所以这一组准确的意思是「用手机号查不到」。

活跃状态可能只给区间。 用户隐藏了最后上线时间时,返回值是以下几档之一:

  • Recently:最近上线过,一般在几秒到两三天之内
  • Last week:7 天内
  • Last month:30 天内
  • Long ago:很久以前,也可能是账号已注销或被封禁

不要把这些区间换算成具体日期写进 CRM,直接保存区间值。

第四步:分组并回写 CRM

结果按有效和无效分组后,建议在 CRM 里用状态字段区分,不要直接删除无效号码:

检测结果建议归组CRM 中的处理
已开通,Recently / Last week有效写入开通状态和活跃区间
已开通,Last month有效(低活跃)单独标记,由业务方判断怎么用
已开通,Long ago按业务规则定可归入无效,或标为待复查
未匹配无效标记「Telegram 未匹配」,号码保留
带异常标记通常归入无效记下标记类型
格式无效(未提交)无效和检测结果分开标注

回写时同时写入检测日期。开通和活跃状态会随时间变化,三个月前的结果不宜当成现在的状态用。需要长期维护的名单,可以定期对有效组重新检测。

字段怎么选、回写怎么做的完整示例,见 Telegram筛号平台怎么用;在线状态和隐私限制的更多细节,见 Telegram筛号怎么做。

选择检测项与估算费用

检测一般按条计费,查的项目越多,单价越高,所以先想清楚用途再选。如果只是要剔除没开通的号码,查开通状态就够了;要判断活跃程度或补全公开资料,再加对应的检测项。提交前做好去重和格式过滤,是控制费用最直接的办法。

用 NexCheck 处理这类名单时,可以在控制台上传 txt 或 csv 文件,也可以通过 REST API 提交。单批数量不限,检测完成后由 Webhook 推送结果,并按有效和无效分组导出,方便按上面的表格回写。Telegram 目前能查哪些项、各项单价多少,以 Telegram 平台页和价目表为准;API 文档和注册入口在官网导航的「筛号工具」里。

最后,提交检测的名单应当是你们自己的客户或联系人数据,来源和用途都要合法合规,检测平台只在任务范围内处理这些数据。

相关文章

号码清洗怎么做?从本地E.164格式化去重、基础空号风控到跨平台批量筛号的完整流程
Facebook号码检测怎么做:号码与邮箱开通、UID性别头像读取与名单清洗顺序
LINE批量筛号怎么做:号码格式清洗、分国家检测、结果判读与CRM回写
LINE号码检测怎么做:名单格式整理、开通状态判读与隐私限制
LINE筛号怎么做:名单整理、开通检测、结果判读与CRM回写
Telegram号码格式怎么写:E.164国际格式、前导0处理与多国名单整理顺序

评论(0)

暂无评论

发布评论