企业微信API开发:登录-联系人查询-消息发送完整开发流程分享
一、开发概述本文基于https://wechatapi.apifox.cn/企微 iPad 协议接口文档聚焦账号登录流程、联系人查询、全类型消息发送三大核心链路提供完整调用步骤、请求示例、参数说明、开发注意事项适用于机器人、SCRM 系统企微消息自动化开发。通用接口规范API官网https://www.jikehudong.com/请求地址基础域名http://172.0.0.1:8083请求方式POST请求头Content-Type: application/json文件上传除外统一返回体格式{ data: {}, errcode: 0, // 0成功非0为错误码 errmsg: ok }核心标识uuid初始化接口生成单账号唯一所有登录、联系人、消息接口必传生命周期全程复用。二、账号完整登录流程2.1 步骤总览初始化实例 → 获取登录二维码 → 扫码 / 验证码登录 / 历史账号自动登录 → 登录状态校验2.2 初始化企微实例所有操作前置接口地址POST /wxwork/init参数说明| 参数 | 类型 | 是否必传 | 说明 ||------|------|--------|| vid | string | 否 | 16888 开头账号 ID首次登录传空历史登录账号传 vid 实现免扫码 || ip/port/proxyType | string | 否 | http 代理配置无代理留空 || userName/passward | string | 否 | 代理账号密码无代理不传 || proxySituation | int | 否 | 0 临时代理可取消1 全局长效代理 || deverType | string | 是 | 固定值ipad|新账号首次登录请求示例无代理{ vid: , ip: , port: , proxyType: , userName: , passward: , proxySituation: 0, deverType: ipad }返回示例{ data: { uuid: 427d7ee5-3a1c-4183-a83b-532ba1e7a1e, is_login: false }, errcode: 0, errmsg: ok }关键缓存返回uuid后续所有接口依赖该值。2.3 获取登录二维码接口地址POST /wxwork/getQrCode请求参数{ uuid: 427d7ee5-3a1c-4183-a83b-532ba1e7a1e }返回字段说明qrcode二维码在线访问链接qrcode_data二维码 base64 字符串前端可直接渲染Key验证码校验凭证2.4 验证码提交首次扫码需要扫码后手机弹出验证码弹窗时调用未关闭验证码窗口前调用。接口地址POST /wxwork/CheckCode请求示例{ uuid:cbba2997c55b8d8b036816e03c19e5a0, qrcodeKey:096F100D9D140448DF2973876F2E1D9F, //qr_codekey code:406269//验证码 }异常说明返回qrcode_not need verify代表提前关闭验证码弹窗需重新获取二维码。2.5 历史账号自动登录初始化时传入登录过的vid无需扫码一键登录。接口地址POST /wxwork/automaticLogin请求体{ uuid: 427d7ee5-3a1c-4183-a83b-532ba1e7a1e }2.6 辅助登录接口二次验证二维码风控拦截时使用/wxwork/SecondaryValidation查询账号登录状态/wxwork/GetRunClientByUuid传入 uuid 返回loginType2 已登录退出登录/wxwork/LoginOut三、联系人查询获取接收人 userid发送消息前必须获取目标联系人send_userid区分内部企业联系人、外部客户两套接口。3.1获取外部客户微信好友列表接口地址POST /wxwork/GetExternalContacts请求示例{ uuid: 427d7ee5-3a1c-4183-a83b-532ba1e7a1e, limit: 100, seq: 0 }状态说明 status 字段正常好友非 0/2049/82049对方删除我方8我方拉黑对方0双向删除3.2根据 userid 批量查询联系人详情接口地址POST /wxwork/GetUserInfoByVids请求示例{ uuid: 427d7ee5-3a1c-4183-a83b-532ba1e7a1e, vids: [7881302555913738, 1688853790599424] }使用场景已有 userid需要昵称、头像等展示信息时调用。四、消息发送全流程前置说明单聊isRoomfalse群聊isRoomtruesend_userid传群 roomid媒体消息图片 / 文件 / 视频需要先调用 CDN / 大文件上传接口拿到cdnkey、aeskey、md5再发送所有消息发送接口必填uuid、send_userid、isRoom。4.1 发送纯文本消息接口地址POST /wxwork/SendTextMsg请求示例单聊{ uuid: 427d7ee5-3a1c-4183-a83b-532ba1e7a1e, kf_id: 0, send_userid: 7881302555913738, isRoom: false, content: 你好这是测试消息 }返回核心msg_id消息唯一 ID用于撤回、语音转文字。4.2 文本 表情混合消息接口地址POST /wxwork/SendTextAndExpMsg请求示例{ uuid: 427d7ee5-3a1c-4183-a83b-532ba1e7a1e, send_userid: 7881302555913738, isRoom: false, content: [ {msgtype:0,msg:早上好}, {msgtype:3,msg:[微笑]}, {msgtype:0,msg:今天开工啦} ] }msgtype0 文字3 表情4.3 CDN 图片消息25M 内前置调用 CDN 上传接口拿到 cdnkey/aeskey/md5发送接口POST /wxwork/SendCDNImgMsg{ uuid: 427d7ee5-3a1c-4183-a83b-532ba1e7a1e, send_userid: 7881302555913738, kf_id: 0, isRoom: false, cdnkey: xxx, aeskey: xxx, md5: xxx, fileSize: 3243381, width: 1279, height: 1706, thumb_image_height: 512, thumb_image_width: 384, thumb_file_size: 15195, thumb_file_md5: xxx, is_hd: 1 }4.4 群 消息群专属接口地址POST /wxwork/SendTextAtMsg请求示例指定成员{ uuid: 427d7ee5-3a1c-4183-a83b-532ba1e7a1e, send_userid: 10696052955013024, atids:[7881302555913738], content:通知全体成员开会, isRoom:true }格式化 支持 所有人接口SendTextAtMsgTwovid0代表 全体4.5 高级消息类型简表| 消息类型 | 接口地址 | 前置依赖 ||---------|---------|| CDN 文件 | SendCDNFileMsg | CDN 上传文件接口 || CDN 语音 | SendCDNVoiceMsg | CDN 上传 silk 语音 || 短视频 (25M) | SendCDNVideoMsg | CDN 上传视频 || 超大视频 / 文件 | SendCDNBigVideoMsg / SendCDNBigFileMsg | 大文件上传链路 || 链接卡片 | SendLinkMsg | 无需上传直接传 url、标题、封面 || 小程序 | SendAppMsg | 小程序封面 CDN 资源 || GIF 表情 | SendEmotionMessage | 图片 url || 名片消息 | SendBusinessCardMsg | 目标用户 id || 位置消息 | SendLocationMsg | 经纬度、地址 || 视频号 / 直播 | SendVideoNumber / SendVideoNumberZhiBo | 视频号链接参数 || 引用回复 | sendQuoteMsg | 原消息完整元数据 |4.6 消息辅助操作接口{ uuid: xxx, msgid:1063645, roomid:0 }撤回消息/wxwork/RevokeMsg传入 msgid、roomid单聊填 0语音转文字/wxwork/SpeechToText传入语音消息 msgid标记消息已读/wxwork/MarkAsRead消除小红点批量群发单人每日 1 次限制SendGroupsMsg五、完整业务执行流程端到端链路初始化实例调用/wxwork/init获取全局唯一 uuid登录账号新账号获取二维码 → 扫码 → 提交验证码完成登录老账号init 携带 vid调用automaticLogin自动登录获取联系人调用GetInnerContacts/GetExternalContacts拿到目标用户send_userid资源预处理媒体消息图片 / 文件 / 视频调用 CDN / 大文件上传接口获取 cdnkey 等参数发送消息根据消息类型调用对应 Send 接口传入 uuid、接收人 id、内容后续操作撤回 / 标记已读 / 语音转文字等辅助接口。六、开发注意事项1. 登录风控二维码短时效获取后立即渲染频繁切换设备、共用代理 IP 会触发二次验证登录后建议配置消息回调接口实时接收回复消息。2. 联系人使用内外联系人接口不可混用status 字段校验过滤已拉黑 / 删除客户避免消息发送失败。3. 消息发送风控限制单账号每秒发送不超过 2 条群发接口每人每日仅可推送 1 次不可高频调用媒体消息必须完成上传再发送缺少 cdnkey/aeskey 直接报错。4. 缓存建议Redis 缓存映射关系账号vid - uuid、uuid - 登录状态、用户昵称-userid减少重复查询接口调用。

相关新闻

生物信息学实战:从基因组数据预测病原菌毒力因子全流程解析

生物信息学实战:从基因组数据预测病原菌毒力因子全流程解析

1. 从“黑盒”到“白盒”:毒力因子预测的实战价值 在微生物研究,尤其是病原微生物的研究中,我们常常面临一个核心问题:这个菌株到底有多“毒”?或者说,它为什么能致病?过去,回答这个…

2026/10/12 9:26:19 阅读更多 →
[GESP202606 三级] 加密

[GESP202606 三级] 加密

B4555 [GESP202606 三级] 加密 https://www.luogu.com.cn/problem/B4555 CCF-GESP计算机学会等级考试2026年6月三级CT2 字符转换 CCF-GESP计算机学会等级考试2026年6月三级CT2 字符转换_b4556 [gesp202606 三级] 字符转换-CSDN博客 CF-GESP计算机学会等级考试2026年6月三级CT1 …

2026/10/13 4:50:05 阅读更多 →
若依框架跨域问题解决方案与最佳实践

若依框架跨域问题解决方案与最佳实践

1. 若依框架跨域问题深度解析最近在基于若依框架开发前后端分离项目时,遇到了经典的跨域报错问题。控制台那个醒目的"Access-Control-Allow-Origin"错误提示,相信不少开发者都曾为此头疼过。今天我就从HTTP协议层开始,带大家彻底搞…

2026/10/13 4:44:54 阅读更多 →

最新新闻

Windows下MySQL安装配置与卸载全攻略:从版本选择到残留清理

Windows下MySQL安装配置与卸载全攻略:从版本选择到残留清理

如果你也在Windows上折腾过MySQL,应该能理解那种感受:下载页面一堆版本不知道选哪个,安装到一半卡住,装完了服务起不来,或者换版本时残留文件清不干净,重装总报错。这些坑我基本都踩过一遍,花了…

2026/10/13 11:04:15 阅读更多 →
Thingsboard接入Modbus协议的工程实践与稳定架构设计

Thingsboard接入Modbus协议的工程实践与稳定架构设计

1. 项目概述:为什么一个工业协议接入模块值得单独深挖?“Thingsboard modbus协议”——这六个字背后,不是一句轻飘飘的配置说明,而是一条横跨工业现场与云端管理的真实数据链路。我第一次在某智能配电柜远程监控项目里碰上这个组合…

2026/10/13 11:04:15 阅读更多 →
MySQL与Redis缓存一致性实战:从原理到架构选型

MySQL与Redis缓存一致性实战:从原理到架构选型

做后端这几年,我算是把“缓存和数据库数据对不上”这件事踩透了。团队经常半夜被叫醒,一查原因,十有八九是 Redis 里的旧数据还在服务,而 MySQL 里的记录早就改了。这问题听着朴素,真要讲清楚,背后牵扯到读…

2026/10/13 11:04:15 阅读更多 →
电商数据分析实战:从CLV到营收预测的完整链路

电商数据分析实战:从CLV到营收预测的完整链路

这种预测需求,在如今做电商数据分析的人手里,几乎每周都会撞上一次:老板在周会上盯着营收曲线,问"下个月能不能回到峰值""这批流失客户还值不值得砸券召回";运营拿着用户分群报表,却不…

2026/10/13 11:04:15 阅读更多 →
SpringBoot直连Hive:JDBC接入全流程与常见坑详解

SpringBoot直连Hive:JDBC接入全流程与常见坑详解

最近在给一个数据平台做数据接口,需要让SpringBoot服务通过JDBC直连Hive,把数仓里的离线结果表实时捞过来给前端展示。这个说起来好像就是连个数据库,但实际操作中,Hive和MySQL这些传统关系型数据库在驱动、依赖、协议、会话管理上…

2026/10/13 11:04:15 阅读更多 →
Java全栈演唱会售票系统开发与高并发优化实践

Java全栈演唱会售票系统开发与高并发优化实践

1. 项目概述与核心价值演唱会售票系统是连接演出主办方与观众的关键数字化桥梁。这个基于Java技术栈的全栈解决方案,通过SpringBoot/SSM后端Vue前端uniapp多端的组合架构,实现了从票务管理、在线选座到移动端购票的完整闭环。我在实际票务系统开发中发现…

2026/10/13 11:03:11 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →