假设你从CRM里导出了一份联系人名单,有几万行,来自三四个国家。号码写法五花八门:有的带「+」,有的以「00」开头,有的只有本地号码,中间还夹着空格、括号和破折号,同一个客户可能重复出现两三次。现在需要弄清楚:这些号码中哪些开通了Telegram,开通的账号还能查到哪些属性。
建议按下面的顺序处理:
- 清洗格式:把所有号码统一成带国家代码的国际格式(E.164)。
- 去重:在格式统一之后,按规范号码去重。
- 按国家拆分:每个国家单独整理成一个文件或一个批次。
- 决定是否先做基础检测:较旧的名单可以先剔除空号和高风险号。
- 选择Telegram检测项:只勾选业务真正会用到的字段。
- 提交任务:在控制台上传,或者通过API提交。
- 读取结果并回写:按有效与无效分组,带上检测日期写回CRM。

下面逐步说明每一步该怎么做,以及哪些地方容易判断错。
第一步:统一成E.164格式
Telegram通过带国家代码的国际电话号码格式识别联系人。如果号码缺少国家代码,或者格式不规范,就无法正确匹配,在结果里会和真正没有账号的号码混在一起,事后很难区分。
清洗时需要处理这几件事:
- 去掉格式符号:删除空格、破折号、括号和点号,只保留数字和开头的「+」。
- 统一国际前缀:以「00」开头的号码,把「00」换成「+」。
- 补全国家代码:只有本地号码的行,根据CRM里的国家或地区字段补上国家代码。如果某一行既没有国家代码,也没有国家字段,就单独放进待确认列表,不要猜着补。
- 处理本地前导零:很多国家在本地拨号时会加一个「0」,转成国际格式时要去掉。少数国家例外,具体规则以各国号码格式说明为准。
- 检查长度:位数明显过长或过短的号码先单独标记,不要直接提交。
还有一点很重要:保留原始行的客户ID。清洗后的号码只作为检测键,回写CRM时要靠客户ID把结果对应回原记录。
如果需要进一步了解国际格式和前导零的常见错误,可以参考号码格式错误与E.164规范化顺序。这篇以WhatsApp为例,但E.164写法本身在各平台通用。
第二步:格式统一后再去重
去重一定要放在格式清洗之后。「138 0013 8000」「+86 138-0013-8000」「008613800138000」写法不同,其实是同一个号码,不先统一格式就去重,这些重复项会被漏掉。
去重后,一个号码可能对应CRM里的多个客户ID,比如同一个人在不同时间注册了两次。检测只需要跑一次,但要保留「号码 → 多个客户ID」的对应表,回写时把结果同步到所有相关记录。
第三步:多个国家分开处理
不建议把多个国家混在一个批次里提交,原因有三点:
- 各国的号码长度和前导零规则不同,分开处理更容易发现格式问题。
- Telegram在不同市场的普及程度差别很大,混在一起统计开通率没有意义。
- 一旦结果异常,比如某个国家几乎没有匹配,分开处理能很快定位是格式问题,还是这个市场本身用Telegram的人少。
各国的号码格式和当地主流平台,可以在区域页查看。如果发现某个市场的主流平台其实不是Telegram,可以考虑把这部分名单改用其他平台检测。
第四步:先做基础检测,还是直接检测Telegram
NexCheck提供号码基础检测,可以识别空号、设备类型和高风险号等,与平台检测是两个独立的层级。
- 名单较旧、来源较杂(比如多年积累的展会名单或历史导出数据):建议先做基础检测,剔除空号后再检测Telegram。因为按条计价,这样可以少检测一批明显无效的号码。
- 名单较新、来源单一(比如近期注册用户):可以直接检测Telegram。
第五步:选择Telegram检测项
平台检测能返回的信息包括是否开通、注册时间、活跃状态、封禁状态、性别年龄等可得属性。不过每个平台支持的检测项不同,Telegram当前能查哪些字段、每项的单价是多少,都以Telegram平台页的价目表为准,这些内容会随平台规则调整。
选择检测项时,先想清楚结果会被怎么使用:
- 只需要知道该不该保留这个号码:查开通状态就够了。
- 需要对已开通的账号分层:再加上活跃类字段。
- 只有当某个字段确实会进入后续的分组或判断规则时,才把它加进来。
第六步:控制台上传还是API提交
两种方式检测的内容相同,区别在于工作流程。
控制台上传适合一次性或不定期的名单。把清洗好的号码整理成txt或csv文件上传,单批不限量,检测完成后按有效和无效分组下载结果。
REST API适合需要接入系统的场景,比如CRM每天新增线索后自动送检,或者需要定期复检。由于是异步提交,建议配置Webhook,检测完成后结果会主动推送到你的接口,不需要反复轮询。API的接入细节可以参考Telegram筛号API接入与CRM回写。
注册账号和查阅接口文档,可以从官网导航的「筛号工具」进入。
第七步:读懂结果,尤其是「无效」那一组
结果分为有效和无效两组。有效组的含义比较明确:号码能匹配到Telegram账号,同时附带你选择的属性字段。
无效组需要谨慎解读。Telegram的隐私设置中有一项「谁可以通过手机号找到我」(Who can find me by my number)。如果用户把它设为「仅联系人」,即使这个号码已经注册了Telegram,陌生人通过号码查询时也不会得到对应的账号。这是平台规则决定的可见范围,任何合规的检测方式都无法越过这条边界。
所以,无效组里实际上混着两类号码:
- 确实没有注册Telegram的号码;
- 已经注册,但设置了不允许陌生人通过号码找到的号码。
写回CRM时,建议把这部分标记为「未匹配」,而不是「未注册」,也不要因此删除这条客户记录。这个号码在其他平台上可能是有效的,也可能是你的销售人员通过其他渠道已经联系上的客户。
活跃类字段也有类似情况:能返回什么,取决于平台当时允许展示的信息和用户自己的设置。这类字段适合用来做大致分层,不宜当作精确的事实。
为什么不建议用个人账号自己跑
有些团队会考虑用个人Telegram账号批量导入联系人,或者自己写脚本调用接口来判断号码是否注册。Telegram服务端对联系人导入和陌生号码查询设置了频率限制和防滥用机制,批量调用会触发限流等待,严重时账号功能会受到限制。即使不考虑这些风险,隐私设置的可见性边界依然存在,自己跑也不会得到更多结果。
回写CRM的几个细节
- 用客户ID关联:按第二步保留的对应表回写,一个号码对应多个客户ID时,要同步更新每一条记录。
- 字段分开存放:开通状态、活跃状态等各占一个字段,不要合并成一段文字,方便后续筛选。
- 记录检测日期:账号状态会变化,带上日期才能判断结果是否过期。重要名单可以定期复检,复检时只提交新增号码和超过一定时间的号码。
- 保留未匹配记录:标记为「未匹配」即可,不要删除。
名单来源与使用范围
名单是客户自己的数据,NexCheck只在检测任务范围内处理这些数据。名单来源和使用用途是否合法,需要由名单持有方自己确认。
如果名单已经按上面的步骤清洗好,下一步可以先到Telegram平台页查看当前支持的检测项和单价,再决定这一批勾选哪些字段。
NexCheck-筛号平台
评论(0)