WhatsApp 为什么要求 E.164 格式
WhatsApp 的账号体系以手机号为唯一标识符,所有号码必须遵循 ITU-T E.164 国际电信编号标准。这套标准定义了全球公用电话网的编号结构:以「+」开头,紧跟 1 至 3 位国家代码,再连接国内有效号码,除加号外全部为纯数字,总长度不超过 15 位。
这个格式要求直接影响三类操作:
- 导入 CRM 或营销系统:系统需要识别号码归属国并路由到对应 WhatsApp Business API 节点
- 批量状态检测:检测平台要匹配 WhatsApp 账号数据库,格式错误会导致查询失败或误判
- API 对接与消息发送:Meta 官方 Cloud API 的电话号码字段严格校验 E.164 格式
如果你手上的客户名单来自多个国家,或者包含本地格式(如 020-1234-5678、(44) 20 1234 5678),在提交检测或发送前必须先完成格式标准化。
标准 E.164 格式的三层结构
E.164 号码由三部分组成:
- 加号前缀:固定为「+」,标识这是国际格式号码
- 国家代码(Country Code):1 至 3 位数字,如美国/加拿大 1、中国 86、英国 44、德国 49、巴西 55
- 国内有效号码(National Significant Number):包含区号/网络号和用户号码,不同国家长度不同
完整示例:
- 中国手机号 13812345678 →
+8613812345678 - 英国伦敦座机 020 1234 5678 →
+442012345678(剥离区号前导 0) - 美国号码 (212) 555-0123 →
+12125550123 - 德国柏林号码 030 12345678 →
+493012345678(剥离区号前导 0)
不允许出现的元素:
- 空格、括号、短横线、点号等分隔符
- 本地长途前导零(如英德的 0)
- 国际出局前缀(如 00、011)
- 任何字母或特殊字符
总长度(不计加号)必须在 15 位以内。超过 15 位的号码不符合 E.164 标准,也无法在 WhatsApp 注册。
常规转换规则:剥离前导零与出局前缀
剥离本地长途前导零
许多国家的本地号码在国内拨号时需要加前导 0 表示长途或移动网络,但转为国际格式时必须删除。典型案例:
- 英国:本地格式 020 1234 5678,转换时删除区号前导 0,变成 +442012345678
- 德国:本地格式 030 12345678,转换为 +493012345678
- 意大利:本地格式 02 1234 5678,转换为 +39212345678
- 澳大利亚:本地格式 04 1234 5678(移动号码),转换为 +61412345678
规则是:识别出国家代码后,检查国内号码部分是否以 0 开头,如果是则剥离。
剥离国际出局前缀
原始名单中可能包含国际拨号时使用的出局代码:
- 00(欧洲、亚洲大部分国家)
- 011(美国、加拿大)
- 810(俄罗斯)
例如从德国拨打中国号码时输入 0086 13812345678,转换时需要删除 00,保留 86 作为国家代码。
处理括号与分隔符
先过滤所有非数字字符(保留开头的 +),再按上述规则处理。例如:
(44) 20-1234-5678→ 过滤后442012345678→ 识别国家代码 44 → 剥离前导 0 →+44201234567800 49 (0)30 12345678→ 过滤00493012345678→ 删除 00 → 剥离前导 0 →+493012345678
特殊国家规则:阿根廷与墨西哥的额外数位
WhatsApp 官方帮助中心明确指出两个国家需要遵循特殊编码逻辑,直接影响号码的有效性判定。
阿根廷(+54):加 9 删 15
阿根廷的移动号码在国际格式中必须在国家代码 54 和区号之间插入数字「9」,同时删除本地移动前缀「15」。
本地格式:15 1234-5678(布宜诺斯艾利斯,区号 11)
错误转换:+541115123456789
正确转换:+54**9**11**1234**5678
完整规则:
- 国家代码固定为 54
- 紧跟数字 9(WhatsApp 要求,不是国内拨号规则)
- 接区号(如 11 布宜诺斯艾利斯、341 罗萨里奥)
- 剥离移动前缀 15(如果存在)
- 接用户号码
标准格式为 13 位数字(+54 9 + 区号 + 号码)。如果原始数据中区号和号码之间带有 15,必须删除。
墨西哥(+52):保留或添加 1
墨西哥的移动号码在 WhatsApp 格式中需要在国家代码 52 后保留或添加数字「1」。
本地格式:55 1234 5678(墨西哥城,区号 55)
正确转换:+52**1**5512345678
与阿根廷不同,墨西哥的「1」是移动号码的网络标识符,固话不需要。转换时:
- 如果原始号码已包含前导 1(如 1-55-1234-5678),保留它
- 如果是纯本地格式(如 55-1234-5678),判断是移动号码时补充 1
- 总长度通常为 13 位数字(+52 1 + 10位号码)
其他需要注意的国家
- 印度(+91):移动号码以 6/7/8/9 开头,10 位数字,不需要额外前缀
- 巴西(+55):移动号码在 2016 年后增加了第 9 位(以 9 开头),但这是号码本身的一部分,不是 WhatsApp 特殊规则
- 俄罗斯(+7):与哈萨克斯坦共享国家代码,需要根据号码前三位区分
如果你的名单覆盖多个拉美或欧洲国家,建议先查阅 WhatsApp 官方帮助中心或 ITU 国家代码列表,确认是否有类似阿根廷、墨西哥的特殊规则。
从原始名单到 E.164 的五步处理流程
假设你手上有一份包含多国客户的 Excel 或 CSV 名单,号码列格式混乱(本地格式、国际格式、带分隔符),以下是标准化为 E.164 的完整顺序:
第一步:过滤非数字字符,保留开头的 +
用正则表达式或字符串函数剥离空格、括号、短横线、点号。如果号码以 + 开头,保留它;否则标记为待补充国家代码。
示例: (44) 20-1234-5678 → +442012345678 或 442012345678
第二步:剥离国际出局前缀
检查号码是否以 00、011、810 等出局代码开头,如果是则删除。这一步要在识别国家代码之前完成。
示例: 00442012345678 → 442012345678
第三步:识别或补充国家代码
- 如果号码以 + 开头,国家代码已存在(如 +44)
- 如果没有 +,根据名单的「国家」列或默认市场补充国家代码
- 如果名单中号码来自单一国家(如全部是英国客户),可以批量添加 +44
注意:国家代码是 1 至 3 位,可能产生歧义。例如 1 既是美国/加拿大,也可能是某些号码的开头。建议优先使用名单中的国家字段来确定。
第四步:按国别规则剥离前导零并补充特殊位
根据识别出的国家代码,执行对应规则:
- 英国(44)、德国(49)、意大利(39)等:剥离国内号码部分的前导 0
- 阿根廷(54):在国家代码后加 9,删除移动前缀 15
- 墨西哥(52):检查是否已有 1,没有则补充
- 中国(86)、美国(1)等:无需剥离前导零,直接拼接
这是最容易出错的一步。如果跳过特殊规则(如把阿根廷号码直接拼成 +54 11 1234 5678),WhatsApp 会认为格式错误或无法匹配账号。
第五步:长度校验与去重
检查每个号码的总长度(不计加号)是否在 4 至 15 位之间。超过 15 位的号码标记为无效,少于 4 位的可能是格式识别失败。
同时对名单去重。E.164 格式下,+442012345678 和 +44 20 1234 5678 是同一个号码,空格版本需要先过滤空格再去重。
完成这五步后,你得到的是一份干净的、符合 WhatsApp 规范的 E.164 号码名单。如果需要进一步检测这些号码在 WhatsApp 上的开通状态、注册时间或活跃度,可以直接提交给检测平台。
用 NexCheck 处理格式化后的名单
当你按上述流程把原始名单转换为标准 E.164 格式后,下一步通常是验证这些号码在 WhatsApp 上的有效性:哪些已注册、哪些活跃、哪些被封禁。NexCheck WhatsApp 平台检测接收的就是这种格式化后的名单。
上传 txt 或 csv 文件时,确保号码列已完成 E.164 转换,平台会逐条检测每个号码在 WhatsApp 的开通状态和可得属性,按有效与无效分组返回。如果名单中仍包含格式错误的号码(缺少国家代码、包含字母、超过 15 位等),这些行会在预校验阶段被标记,不计入检测消耗。
如果你需要对接 CRM 或自动化工作流,也可以通过 REST API 提交 E.164 号码数组,用 Webhook 接收检测结果。无论哪种方式,格式标准化都是第一步,它直接决定了后续检测的覆盖率和准确性。
长度校验与常见错误
E.164 标准规定总长度上限为 15 位数字(不计加号)。实际操作中,多数国家的号码在 10 至 13 位之间:
- 中国手机号:+86 + 11位 = 13位
- 美国号码:+1 + 10位 = 11位
- 英国手机号:+44 + 10位 = 12位
- 阿根廷移动号:+54 9 + 10位 = 13位
超过 15 位的常见原因:
- 重复添加国家代码(如 +86 86 138...)
- 未删除本地前导零(如 +44 020... 应为 +44 20...)
- 未剥离出局前缀(如 +00 44 20...)
- 错误补充特殊位(如阿根廷同时保留了 9 和 15)
少于 4 位的原因:
- 国家代码识别失败,只保留了本地号码的一部分
- 过滤规则错误,把有效数字当作分隔符删除了
在批量处理名单时,建议单独输出长度异常的号码,人工检查是格式问题还是数据源错误。
格式转换后的下一步
完成 E.164 标准化后,你的号码名单已经可以安全导入 WhatsApp Business API、CRM 系统或状态检测平台。格式统一消除了因编码差异导致的匹配失败,也让后续的去重、分组、回写操作有了一致的主键。
如果名单来自多个采集渠道(网站表单、线下活动、第三方数据商),不同来源可能使用了不同的本地格式。在合并前先分别执行 E.164 转换,能最大程度避免重复记录和格式冲突。对于阿根廷、墨西哥等有特殊规则的市场,建议单独建立转换脚本或配置文件,确保每次处理都应用正确的逻辑。
NexCheck-筛号平台
评论(0)