企业微信号二次开发 & wecomapi.com
个人微信接口官网地址管理后台
个人微信接口官网地址管理后台
  1. 接入指南与说明
  • API文档目录
    • 接入指南与说明
      • 👉 接入须知
      • 🛡️ Webhook调试指南
      • 🔄 消息推送(回调)服务
      • 📖 常见业务与技术 FAQ
      • ⚠️开发常见问题
    • 开放接口
      • 01 登录与设备
        • 配置消息回调地址
        • ① 创建设备并获取 guid
        • ② 获取登录二维码
        • ③ 校验登录验证码(按需)
        • ④ 查询扫码登录状态
        • 免扫码二次登录
        • 恢复设备在线状态
        • 停止并释放设备
        • 查询账号在线状态
        • 退出当前设备
      • 02 联系人管理
        • 外部联系人与好友申请列表
        • 内部联系人列表
        • 批量获取联系人详情
        • 搜索联系人
        • 通过二维码查询联系人
        • 添加个微联系人
        • 添加企微联系人
        • 添加群成员为好友
        • 添加企微名片联系人
        • 重新添加单删联系人
        • 同意好友申请
        • 修改个微联系人备注
        • 修改企微联系人信息
        • 删除联系人
        • OpenID 转 UserID
        • UserID 转 OpenID
      • 03 消息收发与会话
        • 发送引用消息
        • 发送文本消息
        • 发送富文本消息
        • 发送图片消息
        • 发送 GIF 表情
        • 发送视频消息
        • 发送文件消息
        • 发送语音消息
        • 发送链接消息
        • 发送小程序消息
        • 发送名片消息
        • 发送视频号消息
        • 发送位置消息
        • 语音转文字:提交任务
        • 语音转文字:查询结果
        • 收藏 GIF 表情
        • 同步个人收藏消息
        • 撤回消息
        • 修改消息状态
        • 查询群消息置顶列表
        • 设置群消息置顶
        • 移除群消息置顶
        • 发起群发消息
        • 查询群发状态
        • 查询群发规则
        • 同步历史消息分页
        • 查询会话列表分页
        • 编辑会话分组
        • 查询会话分组
      • 04 文件上传与下载
        • SDK 临时云存储上传
        • 企微文件异步上传
        • 企微大文件异步上传
        • 个微文件异步下载
        • 企微文件异步下载
        • 企微大文件异步下载
        • CDN 文件转临时 URL
        • 本地文件上传
        • URL 文件上传
        • 个微文件下载
        • 企微文件下载
      • 05 外部群与群组管理
        • 查询群组列表分页
        • 批量获取群详情
        • 群成员变动查询
        • 获取群二维码
        • 创建外部群组
        • 修改群名称
        • 修改群备注
        • 修改群内昵称
        • 修改群公告
        • 开启或关闭群改名权限
        • 禁止群成员修改群名称
        • 邀请或添加群成员
        • 管理员确认群成员邀请
        • 移除群成员
        • 禁止群成员互相添加
        • 添加群管理员
        • 取消群管理员
        • 开启入群确认
        • 通过链接接受入群邀请
        • 退出群组
        • 转让群主
        • 解散群组
        • OpenID 转 RoomID
        • RoomID 转 OpenID
      • 06 账号资料
        • 生成个人二维码
        • 获取账号资料
        • 更新账号资料
        • 查询企业资料
      • 07 客户标签管理
        • 查询标签列表分页
        • 客户标签增删
        • 个人标签增删改
      • 08 朋友圈能力
        • 朋友圈素材上传
        • 发布朋友圈
        • 删除朋友圈
        • 朋友圈点赞或取消点赞
        • 朋友圈评论或追评
        • 查询朋友圈互动列表
        • 批量获取朋友圈详情
        • 删除朋友圈评论
  1. 接入指南与说明

⚠️开发常见问题

文档说明
本文整理企业微信 API 接入过程中的高频问题,覆盖 基础接入、Token 授权、登录设备、消息发送、Webhook 回调、文件媒体、外部群管理、数据安全 等场景。
本文档面向开发者,重点说明企业微信二次开发中的调用顺序、参数理解、稳定性建议和常见排查方式。接口调用前,建议先完成设备登录、回调配置和账号在线状态确认。

一、基础接入#

1. 是否需要安装第三方插件?#

不需要额外安装第三方插件。正常情况下,开发者只需要按照接口文档完成设备创建、扫码登录、状态检测和业务接口调用即可。
接入建议
首次接入建议按以下顺序完成:
1.
调用 ① 创建设备并获取 guid
2.
调用 ② 获取登录二维码
3.
调用 ④ 查询扫码登录状态
4.
调用 查询账号在线状态
5.
配置 配置消息回调地址

2. 企业微信客户端版本是否有要求?#

通常不需要指定某个固定版本。只要账号能够正常使用企业微信客户端登录,并且登录环境稳定,即可按接口流程接入。
为了降低异常概率,建议使用较新的官方客户端版本,并尽量保持账号常用登录环境稳定,例如常用地区、网络出口、设备环境等。

3. 是否提供 SDK?#

当前接口主要以 HTTP API 方式对外提供,调用方可以使用 Java、Python、Node.js、Go、PHP、C# 等语言自行对接。
这种方式的优势是接入灵活,适合不同技术栈的系统集成,例如企业微信自动化系统、客户管理系统、外部群管理工具、AI 客服系统、工单系统等。

4. 统一调用方式是什么?#

大部分 JSON 接口统一请求:
POST /finder/api
请求体通常包含两个字段:
{
  "method": "/具体业务方法",
  "params": {}
}
其中:
字段说明
method具体接口能力标识,例如 /login/checkLogin、/msg/sendText
params业务参数对象,不同接口的参数结构不同
文件上传、文件下载等接口请以对应接口页面说明为准。

二、Token 与授权#

5. Token 是做什么的?#

Token 是接口调用的授权凭证。调用接口时,需要将 Token 放到请求头中:
WECOM-TOKEN: your_token
Token 用于区分调用方、授权范围、账号归属和回调配置。正式环境中请妥善保管,不要写死在前端页面、公开仓库或客户端安装包里。

6. 单个 Token 和多个 Token 有什么区别?#

类型适合场景特点
单个 Token单一业务系统、单一回调处理服务配置简单,所有账号共用一个回调地址
多个 Token多租户、多项目、多业务线隔离每个 Token 可独立配置回调和账号资源
如果一个系统只接入一套业务,使用一个 Token 即可。如果需要给不同客户、不同项目或不同环境隔离数据,建议使用多个 Token。

7. 单个 Token 可以绑定多少个企业微信账号?#

账号数量通常取决于实际授权数量和套餐配置。一个 Token 下可以管理多个已登录账号,但不能超过已授权的账号数量。
如果已登录账号数量达到授权上限,继续登录新账号可能会失败,或需要先释放、退出、停用已有设备后再重新登录。

8. 服务到期或授权不足会有什么影响?#

如果服务到期、授权不足或账号数量超出可用范围,部分账号可能无法继续保持在线,相关接口调用也可能受到限制。
建议在生产环境中做好以下处理:
1.
定期检查账号在线状态
2.
监控接口返回码和错误信息
3.
对关键账号配置告警
4.
在服务到期前完成续费或授权调整
5.
避免把所有业务都绑定在单个账号上

三、登录与设备#

9. guid 是什么?为什么很多接口都需要?#

guid 是设备唯一标识,由 ① 创建设备并获取 guid 接口返回。
后续登录、状态检查、联系人同步、消息发送、群组管理、文件处理等操作,通常都需要携带 guid,用于确认当前操作属于哪一个设备实例。

10. 获取二维码后,下一步应该做什么?#

调用 ② 获取登录二维码后,建议每 3-5 秒调用一次 ④ 查询扫码登录状态。
常见状态理解:
状态说明建议处理
1已扫码,待确认继续轮询
2登录成功进入账号在线状态检测
4用户取消登录重新获取二维码
10需要验证码调用验证码校验接口
其他异常登录失败或二维码失效重新获取二维码或恢复设备
如果出现验证码流程,请调用 ③ 校验登录验证码(按需)。

11. 设备不在线或提示设备不存在怎么办?#

可以先调用 恢复设备在线状态,再重新获取二维码或检查账号在线状态。
排查顺序
1.
先调用 恢复设备在线状态
2.
再调用 ② 获取登录二维码
3.
扫码后调用 ④ 查询扫码登录状态
4.
登录成功后调用 退出当前设备

12. 什么情况下可以使用免扫码二次登录?#

当设备曾经成功登录,并且授权状态仍然可恢复时,可以尝试调用 免扫码二次登录。
免扫码并不代表任何情况下都能恢复登录。如果账号授权失效、设备环境异常、账号主动退出或登录状态不可恢复,仍然需要重新扫码。

13. 什么时候需要停止并释放设备?#

当需要更换设备环境、重置登录流程、释放账号占用或处理异常设备时,可以调用 停止并释放设备。
释放设备后,如需重新接入,应重新调用 ① 创建设备并获取 guid。

四、消息发送与企业微信自动化#

14. 每天发送消息是否有数量限制?#

平台侧通常不会简单按“每天固定条数”限制所有消息,但企业微信本身存在账号风控机制。发送频率过高、内容重复、异常群发、短时间大量触达等行为,都可能带来账号风险。
建议生产环境中使用队列控制发送节奏,不要并发大量发送。
发送建议
1.
发送任务进入消息队列,不建议接口层直接并发打满。
2.
单账号连续发送建议控制间隔。
3.
不同账号、不同群、不同客户之间应做好节流。
4.
对失败消息要做重试上限,避免死循环重复发送。
5.
正式环境建议保留发送日志,便于排查。

15. 单个账号支持多少会话?#

理论上没有统一的固定值,实际取决于账号状态、消息频率、业务逻辑复杂度、回调处理能力和风控策略。
如果涉及较多群聊或客户会话,建议按以下方式设计:
场景建议
自动回复先入队,再异步处理
群消息监听只处理必要事件,避免全量同步过重
多账号接入按账号分片,避免单账号承载过高
高峰期发送使用限速器和任务队列

16. 是否支持自动回复?#

支持。自动回复不是单独的“开关能力”,而是由 Webhook 回调和消息发送接口组合实现。
推荐流程:
1.
配置 配置消息回调地址
2.
接收消息回调事件
3.
根据 guid、senderId、fromRoomId、msgType 判断消息来源和类型
4.
执行业务逻辑,例如关键词匹配、AI 回复、工单创建
5.
调用消息发送接口回复,例如发送文本消息、图片消息或文件消息
Webhook 字段解析可查看 🔄 消息推送(回调)服务。

17. 私聊和群聊发送消息是同一套接口吗?#

多数消息发送接口通过 toId 区分接收对象。toId 可以是联系人 ID,也可以是群 ID,具体以接口页面的参数说明为准。
例如发送文本消息时:
给联系人发送:toId 传联系人 ID
给群聊发送:toId 传群 ID
生产环境中建议在业务层明确区分用户 ID 和群 ID,避免误发。

18. 发送图片、视频、文件之前需要先上传吗?#

通常需要先完成文件上传或素材处理,再调用发送接口。
常见流程:
1.
调用本地文件上传 或 [URL 文件上传
2.
获取 fileId、fileAesKey、fileMd5、fileSize、filename 等参数
3.
调用对应消息发送接口
如果是 GIF 表情,也可以先通过收藏或 CDN 临时 URL 方式处理,具体可参考相关发送接口说明。

五、Webhook 回调#

19. 单个 Token 是否支持多个回调地址?#

单个 Token 通常只配置一个回调地址。该 Token 下的账号事件、消息事件、状态事件会统一推送到这个回调地址。
如果需要多个业务系统分别接收不同账号的数据,建议创建多个 Token,实现业务隔离。

20. 多个账号共用一个回调地址,如何区分消息来自哪个账号?#

回调数据中通常会携带 guid、userId 等字段。业务系统可以通过这些字段区分消息所属账号、设备或业务租户。
建议入库时至少保存以下字段:
字段用途
guid区分设备实例
userId区分当前登录账号
cmd判断一级事件类型
msgType判断具体消息或事件类型
msgUniqueIdentifier做消息幂等
requestId关联异步任务
seq辅助排序或去重
Webhook 结构说明可查看 🔄 消息推送(回调)服务。

21. 回调接口为什么要快速返回?#

Webhook 回调是事件投递链路,不建议在回调请求里执行耗时业务。接收端应尽快返回 HTTP 200 或空字符串,避免平台认为回调失败。
推荐处理方式:
1.
接收到回调
2.
校验基础字段
3.
原始数据入库
4.
投递到队列
5.
立即返回 HTTP 200
6.
后台异步处理业务逻辑
不要在回调请求中同步执行大文件下载、AI 大模型调用、复杂数据库查询或多接口联动。

22. 如何避免重复处理回调?#

Webhook、异步任务和网络重试场景下,都可能出现重复事件。建议业务系统做幂等处理。
常用方式:
场景推荐幂等字段
普通消息msgUniqueIdentifier
异步任务回执requestId
顺序事件seq
多账号场景guid + msgUniqueIdentifier
如果无法确定字段是否唯一,建议同时保存原始 Payload,便于后续排查。

六、文件、图片与媒体处理#

23. 收到图片、视频、文件回调后应该立即下载吗?#

不建议在 Webhook 请求中同步下载文件。更稳妥的方式是先保存回调数据,再由异步任务下载、转存或解析文件。
这样可以避免因为文件过大、网络慢、第三方存储异常等原因导致 Webhook 超时。

24. 文件下载地址是否长期有效?#

文件地址通常应按临时资源处理。业务系统如果需要长期保存,应及时下载并转存到自己的对象存储或文件服务器。
建议保存:
1.
原始文件 ID
2.
文件名称
3.
文件大小
4.
文件类型
5.
下载状态
6.
业务归属账号
7.
转存后的内部地址

25. CDN 文件转 URL 是什么场景使用?#

当业务拿到的是文件 CDN 标识、文件 ID 或平台内部文件信息,但发送或展示需要一个可访问 URL 时,可以使用 CDN 文件转临时 URL 的能力。
可参考 CDN 文件转临时 URL。

七、联系人、外部群与标签#

26. 联系人数据如何同步?#

联系人数据一般通过分页接口拉取。首次同步时从初始游标开始,后续根据接口返回的分页游标继续拉取。
建议同步时注意:
1.
保存分页游标
2.
保存联系人状态
3.
区分外部联系人与内部联系人
4.
对删除、拉黑、异常状态做单独标记
5.
定期做全量校验,日常做增量更新
可先查看 外部联系人与好友申请列表。

27. 企业微信外部群开发一般涉及哪些接口?#

外部群开发通常不是单个接口完成,而是一组接口组合使用。
常见能力包括:
1.
群列表同步
2.
群详情查询
3.
群成员同步
4.
群公告维护
5.
群二维码获取
6.
群成员邀请与移除
7.
群消息发送
8.
群事件 Webhook 处理
建议先完成账号在线状态检测,再调用群组相关接口,避免离线状态下产生异常。

28. 标签能力适合什么场景?#

标签能力适合客户分层、客户画像、自动化运营、客服分配、CRM 同步等场景。
常见使用方式:
场景说明
客户分层按来源、阶段、意向、行业打标签
自动回复根据标签决定回复策略
CRM 同步将企业微信客户标签同步到业务系统
群运营根据标签筛选客户或群成员

八、数据安全与部署#

29. SaaS 和私有化部署有什么区别?#

模式适合场景特点
SaaS 接入快速验证、轻量接入、中小规模业务接入成本低,无需自行部署服务
私有化部署数据敏感、内网系统、金融政企等场景数据链路可控,便于接入内部系统
具体选择取决于业务规模、数据安全要求、部署能力和合规要求。

30. 如何保证数据安全?#

建议从以下几个层面设计:
1.
Token 不暴露在前端或公开仓库
2.
回调地址使用 HTTPS
3.
服务端记录完整操作日志
4.
对发送、删除、退群、群发等高风险操作做权限控制
5.
对敏感字段做脱敏展示
6.
重要回调数据先落库,便于审计和追溯
7.
私有化场景下做好网络隔离和访问白名单

31. 哪些接口需要重点控制权限?#

以下接口建议在正式环境中增加权限校验、频率限制和操作日志:
类型示例
消息发送文本、图片、文件、群发
联系人操作添加、删除、备注修改
群组操作创建群、踢人、退群、解散群
账号资料修改资料、头像、企业信息
朋友圈发布、删除、点赞、评论
文件处理上传、下载、CDN 转 URL

九、常见排查清单#

32. 接口调用失败时应该先检查什么?#

建议按以下顺序排查:
1.
请求 Header 是否包含 WECOM-TOKEN
2.
请求路径是否正确
3.
method 是否与接口文档一致
4.
params 是否缺少必填字段
5.
guid 是否来自当前 Token
6.
账号是否在线
7.
是否达到授权上限
8.
是否存在频率过高或重复调用
9.
回调地址是否可公网访问
10.
返回码和错误信息是否已记录

33. 消息没有收到回调怎么办?#

可以按以下步骤排查:
1.
是否已配置 消息回调地址
2.
回调地址是否公网可访问
3.
服务端是否返回 HTTP 200
4.
是否能正确接收 application/json
5.
防火墙、安全组、网关是否拦截请求
6.
当前账号是否在线
7.
事件是否真的被触发
8.
是否只处理了部分 cmd 或 msgType
Webhook 字段和事件类型可以查看 🔄 消息推送(回调)服务。

34. 登录成功后为什么业务接口仍然失败?#

可能原因包括:
1.
登录状态尚未完全稳定
2.
guid 使用错误
3.
Token 与设备不匹配
4.
账号已离线或被退出
5.
业务接口参数不完整
6.
当前账号无对应权限
7.
操作频率过高
建议先调用查询账号在线状态,确认账号在线后再继续调用业务接口。

十、推荐阅读#

首次接入建议按顺序阅读:
1.
① 创建设备并获取 guid
2.
② 获取登录二维码
3.
④ 查询扫码登录状态
4.
查询账号在线状态
5.
配置消息回调地址
6.
🔄 消息推送(回调)服务
最后建议
企业微信 API 接入不要只关注“接口是否能调通”,更要关注账号在线状态、消息发送节奏、Webhook 幂等、异常重试、权限控制和日志审计。
生产环境建议先小范围验证,再逐步扩大账号数量和业务范围。
修改于 2026-07-09 09:40:23
上一页
📖 常见业务与技术 FAQ
下一页
配置消息回调地址
Built with