企业微信API接口调用:external_userid 和 userid 怎么映射,打通内外身份?

发布时间:2026/10/28 11:20:06

企业微信API接口调用:external_userid 和 userid 怎么映射,打通内外身份? 做企微二次开发时最头疼的一件事员工在 CRM 里有个内部ID客户在企微里有个external_userid两边对不上。我上周刚遇到——客户A先被销售李添加成好友external_useridext_001后来又加了销售张external_useridext_002CRM 里两个不同的外部用户其实是同一个微信用户。先理清楚到底有哪些IDID归属来源特点userid(uin)内部员工contact/getSyncList企微内唯一永不变external_userid外部客户客户列表、Webhook事件同一微信用户被不同员工添加会有多个external_useridopenid微信用户微信OAuth/JS-SDK单应用内唯一unionid微信用户微信开放平台跨应用可识别同一用户映射方案一靠归属关系推荐企微客户有个归属员工ownerUserId在拉客户列表时会一起返回resp requests.get( f{BASE}/wx-api/api/contact/getExternalContactList, headersHEADERS, params{cursor: cursor, limit: 50} ) # 返回每条客户记录里有 externalUserId ownerUserId归属员工的uin拿到之后在自己的数据库里建三张表Eyun 返回的 id 全部是 int64 类型存的时候用 bigint 不要用 varchar-- 内部员工 staff(userid, name, department) -- 外部客户去重后一个微信用户一条 customer(customer_id, unionid, nickname, avatar) -- 企微关系一个微信用户被多少个员工加好友就有多少条 wecom_relation(external_userid, customer_id, owner_userid, added_at)核心思路external_userid永远不能当客户的唯一标识得用unionid或者微信昵称头像组合来做去重external_userid只是关系表的外键。映射方案二靠 add_external_contact 事件新客户添加时Webhook 会推送add_external_contact事件payload 里同时带了userid添加方内部员工和external_userid被添加方外部客户{ event: add_external_contact, eventDetail: { userid: staff_uin_xxx, externalUserId: ext_abc123, state: from_live, nickname: 张先生 } }收到事件时直接更新关系表比轮询客户列表实时得多。我建议两个方案都用事件做实时更新客户列表做每日全量对账。同一个人多个 external_userid 怎么去重这是最烦的场景。客户同时加了李、王、赵三个销售就有三个external_userid。企微 API 不直接返回unionid那是微信侧的只有客户自己的微信里才能拿到。实际做法先用external_userid ownerUserId建唯一键避免关系表重复同一微信用户的多个external_userid靠昵称头像URL的组合判断是否同一个人如果有条件让客户通过 OAuth2 授权之前写过的 OAuth2 网页授权接口拿到unionid后就能精准去重# 拉客户详情时拿到微信头像URL detail requests.get( f{BASE}/wx-api/api/contact/getUserProfileDetail, headersHEADERS, params{externalUserId: ext_id} ) avatar_hash md5(detail[data][avatarUrl]) # 头像URL的hash用来模糊匹配打通后能做什么内部CRM里一个客户有多个企微好友的场景就能统一了给客户发消息时选任意一个有归属关系的员工的external_userid都能送到做销售业绩统计时同一个客户在不同销售名下不会重复计数。总结下来就一句话external_userid是关系ID谁加的谁不是用户ID这个人是谁。把这两个概念分开映射就通了。
延伸阅读

更多相关文章

2026/10/28 11:20:06

企业微信API实战:消息类型全解,文本/图片/卡片怎么选怎么发?

企微API发消息不是只有一种类型,文本、图片、卡片各有各的适用场景。我之前踩过一个坑:用文本发了一大段带格式的产品说明,结果企微不支持 Markdown,换行全成了空格,客户看了一脸懵。先把三种消息类型的接口和适用场景…

2026/10/28 11:20:06

无代码平台钓鱼攻击:微软账号安全新威胁

1. 项目背景与核心问题去年第三季度,全球钓鱼攻击同比增长了37%,其中针对企业级账号的钓鱼攻击占比高达63%。而微软账号作为企业办公生态的核心入口,自然成为攻击者的重点目标。与此同时,无代码平台的快速普及带来了一个意想不到的…

2026/10/28 12:20:47

电商SEO与用户体验优化的核心关联与实践

1. 电商SEO与用户体验的本质关联在电商行业摸爬滚打多年后,我发现一个被许多新手运营忽略的真相:SEO优化和用户体验优化(UX)从来就不是割裂的两个部门工作,而是同一枚硬币的正反面。去年我们团队操盘的一个家居品类独立…

2026/10/28 12:20:47

钻攻中心PLC调试实战:OM地址映射与梯形图排故指南

简介:这份手册面向经过认证或培训的钻攻中心操作与维护人员,系统讲解日本兄弟C00系统内置PLC的原理与实操,帮助读者从基础概念过渡到程序编写、调试与故障排查。内容涵盖PLC概述、系统示意图、功能使用步骤、梯形图程序及指令列表&#xff0c…

2026/10/28 12:20:47

MySQL索引机制与B+Tree优化实战解析

1. MySQL索引机制的核心价值解析当数据库表中的数据量突破百万级时,一个简单的SELECT * FROM users WHERE name张三查询就可能让应用陷入瘫痪。我曾处理过一个真实案例:某电商平台的商品搜索接口在促销期间响应时间从200ms骤增至15秒,最终通过…

2026/10/28 12:20:47

K8s部署Nacos集群:StatefulSet实战指南

简介:这份面向 Kubernetes 初学者与运维人员的 Nacos 集群部署配置包,围绕在 k8s 环境中快速落地 Nacos 服务展开,旨在用尽量精简的清单减少繁琐参数与手工配置,降低集群部署门槛。压缩包共 6 个文件,主体为 5 个 YAML…

2026/10/28 12:20:47

医学图像处理中vtkImageConstantPad的边界填充技术详解

1. 医学图像处理中的边界填充需求在医学影像分析领域,我们经常遇到图像尺寸不一致的问题。比如不同扫描设备生成的DICOM序列可能具有不同的像素矩阵大小,这在三维重建或深度学习预处理阶段会造成严重困扰。vtkImageConstantPad正是VTK工具包中专门用于解…

2026/10/28 12:15:44

Harness技术栈:AI工程化落地的核心框架与实践

1. 项目概述:Harness技术革命全景解读最近半年,AI工程领域最炙手可热的话题莫过于"Harness技术栈"的爆发式发展。作为一名全程参与多个Agent项目落地的技术负责人,我亲眼见证了从早期Claude Code的惊艳亮相,到如今Herme…

2026/10/27 14:24:03

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/27 9:34:54

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/28 3:32:29

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/28 0:02:13

Python股票自动交易系统源码解析:从行情获取到风控的完整链路

简介:这份资源是面向高校计算机、金融相关专业毕业设计场景的完整项目源码包,主题为基于Python的股票自动交易系统,适合需要完成毕设选题、课程设计或自学金融量化交易开发的学生与开发者参考。压缩包共收录687个文件,整体约14.93…

2026/10/28 0:02:13

视酷酷信IM源码部署指南:Java 17+MySQL 8.0.33实战配置

简介:这是一套2024年亲测可部署的视酷酷信IM即时通讯系统源码,面向具备Java、OC、C#及Vue开发能力的技术人员,解决私有化即时通讯平台快速搭建与二次定制需求,尤其适用于需集成商城、保障数据主权的中小型企业或独立开发者。资源共…

2026/10/28 0:02:13

Python爬取百度迁徙数据:接口解析、批量采集与避坑指南

简介:这份资源是一个用Python爬取百度迁徙数据的脚本压缩包,面向具备Python基础、希望入门网络爬虫与数据解析的开发者,解决按日期获取全国热门城市人口迁徙数据的问题。包内共1个文件,为单个py脚本,压缩包约1KB&#…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑