假设你手上有一份几千条的客户名单,想知道哪些号码开通了 Telegram。批量检测可以做,但要先弄清检测结果的含义。它判断的是这个号码能不能通过手机号匹配到一个 Telegram 账号,并不等于确定这个号码有没有注册。
- 匹配上的号码,基本可以确认已经注册。
- 没匹配上的号码,可能确实没注册,也可能是对方收紧了隐私设置。
按这个口径处理名单,顺序是:统一成 E.164 格式,然后去重,再按国家分组,接着提交检测,最后按“已匹配/未匹配”回写 CRM。
Telegram 怎么判断一个号码已经注册
Telegram 的账号体系建立在手机号上。官方接口判断号码有没有对应账号,用的是联系人导入(contacts.importContacts):把带国家代码的国际格式号码作为联系人提交,平台在已注册用户里查找。匹配成功时返回对应的用户对象和基础属性,匹配不到就什么也不返回。
在手机上把一个号码存进通讯录,再到 Telegram 里看这个人有没有出现,用的也是同一套匹配。单个号码可以这样手动查,结果同样受下面说的限制。号码多到成百上千条,手动查就不现实了。
没匹配上不等于没注册
Telegram 允许用户修改“谁可以通过我的手机号找到我”(Who can find me by my phone number),可以从“所有人”改成“我的联系人”。改了以后,如果查询方不在对方的通讯录里,即使这个号码确实注册了 Telegram,接口也不会返回这个账号。
这条限制对名单处理的影响如下:
- 已匹配组:可以当作“已开通 Telegram”使用。
- 未匹配组:既有真正没注册的号码,也有设了隐私限制的已注册号码。单看检测结果,这两类分不开。
所以回写 CRM 时,未匹配组建议标成“Telegram 未匹配”,并附上检测日期,不要标成“确认未注册”。如果后面要根据这个字段删除联系人或调整客户分层,两种写法会带来不同的判断。这是 Telegram 的隐私设计,凡是按正常方式做匹配的检测都绕不开,也不应该想办法去绕。
为什么不建议用自己的账号批量去试
有人会想用一个普通账号,把名单分批导入联系人看结果。Telegram 对普通账号频繁导入联系人有严格的频率限制和风控:容易触发 FLOOD_WAIT 之类的限流错误,导入联系人的数量也有配额。持续高频操作可能让账号被长时间限流,甚至被封。官方没有公开具体阈值,阈值还和账号本身的情况有关,事先很难规划。
几十条以内手动查问题不大。正式的客户名单交给专门的检测服务处理更稳妥,自己的账号也不用冒这个风险。
一份名单的处理顺序

以一份从多个渠道合并来的名单为例,里面常见两种情况:
- “138 0013 8000”“+86 13800138000”“0086-13800138000”其实是同一个号码。
- 还有一批像“(415) 555-0132”这样没写国家代码的号码。
1. 统一成 E.164 格式
E.164 格式就是“+国家代码+号码”,去掉空格、横杠、括号和多余的前导零,例如 +8613800138000、+14155550132。Telegram 的匹配需要国际格式的号码。缺国家代码或者保留本地写法,号码会解析失败或匹配不到,最后混进“未匹配”那一组,让结果显得比实际差。
没写国家代码的号码不要猜。能根据客户地址、来源渠道或站点语言确定国家的,再补上国家代码。确定不了的单独放一组,这次先不检测。各国的前导零、手机号长度等细节,可以参考号码格式错误的处理方法。
2. 先统一格式,再去重
去重一定放在格式统一之后。上面那三种写法在原始表里是三行,统一格式后才能看出是同一个号码。如果顺序反了,重复号码去不干净,会被重复计费,回写时还可能出现同一个号码有两个状态。
去重时要保留客户 ID 列。一个号码对应多条客户记录很常见,比如同一家公司的几个联系人都留了总机号码。检测时每个号码只跑一次,回写时再按 ID 对应回每条记录。
3. 多国名单按国家代码分组
跨国名单建议按国家代码拆开,分别检测,原因有两个:
- 每个国家的号码格式问题不一样。分组后更容易发现某个国家整批格式出错。比如某国的未匹配比例异常高,常见原因是前导零没处理。
- 不同市场使用 Telegram 的情况本来就不同,把所有国家混在一起看总比例,参考价值不大。
如果不确定某个国家的号码怎么写、当地主流用哪些平台,可以先查 NexCheck 区域页。
4. 提交检测
清洗好的名单可以上传到 NexCheck 控制台,支持 txt 或 csv,单批不限量,结果按有效和无效分组导出。需要和 CRM 自动对接的,可以用 REST API 提交,检测完成后通过 Webhook 回推结果。费用按条计算。
除了是否开通,Telegram 还能查哪些属性、每项单价多少,都可能调整,以 Telegram 检测页 当前列出的为准。名单是你们自己的客户数据,来源和用途需要合法,平台只在检测任务范围内处理这些数据。
如果名单来源杂、空号多,可以先跑一遍号码基础检测(空号、设备类型、高风险号等),剔除空号后,再对剩下的号码做 Telegram 检测。这样做能不能省钱,取决于两项检测的单价和名单里空号的比例,可以先拿一小批试算。
先做基础检测还有一个好处:未匹配组可以再分成“空号”和“号码正常但 Telegram 未匹配”两类。设了隐私限制的已注册用户,只可能在后一类里。
5. 回写 CRM
回写时建议至少建这几个字段:
- Telegram 状态:已匹配、未匹配、未检测。“未检测”专门用来标记第 1 步里格式确定不了的号码,避免和“未匹配”混在一起。
- 检测日期:用户会注册、注销、换号、改隐私设置,状态会变。长期使用的名单需要定期复查,日期决定这条结果还能不能用。
- 号码状态:如果做了基础检测,记录空号、正常等结果。
- 其他属性:按平台页上实际返回的字段建列,不要预先建一堆可能拿不到的字段。
用网页端还是 API
- 网页端:一次性整理或偶尔清洗的名单,用控制台上传最省事。
- API:名单持续从表单、CRM 进来,需要自动标注状态时,用 API 加 Webhook。接入方法见 Telegram 筛号 API 接入。
想了解 Telegram 检测能查哪些字段、每个字段是什么意思,可以接着看 Telegram 号码检测。
NexCheck-筛号平台
评论(0)