企业微信向微信用户发消息【亲测有效】
文章摘要本文详细介绍了企业微信API对接的全流程包括获取临时token、搭建docker环境、应用部署及二维码双重验证机制。重点讲解了三个核心接口获取用户列表支持分页查询、单人多消息推送功能实现并提供了完整的Dockerfile配置和Node.js示例代码。文中特别强调首次登录需30分钟内完成二次验证的安全机制同时展示了用户数据结构中的关键字段如status状态码、tags标签体系。该方案已通过实际项目验证配套提供完整文档和付费技术支持服务【所有功能亲测有效】。目录企业微信API对接文档1.背景2.获取微信第三方token3.安装docker环境4.打包与启动4.1打包镜像4.2启动容器启动应用5.企业微信二维码验证5.1 获取初始二维码5.2 第1次二维码验证5.3 第2次二维码验证6.企业微信三个接口6.1 获取所有用户6.2 发送消息给单人6.3发送消息给多人7.部分源码展示7.1 Dockerfile伪代码7.2 index.tx伪代码8.结束程序/切换账号登录企业微信API对接文档1.背景想通过程序发送制定的消息给微信客户客户需要接收到消息提醒并且可以直接打开微信查看前提条件用户用加了门店企业微信好友针对上面问题提供两个接口1、一个是获取企业微信的用户的列表2、一个是直接发送用户消息2.获取微信第三方token获取第三方token申请地址Token 自助服务系统目前已经获取到的token是注意大家获取到token试用期仅有7天如想续期请自行续费puppet_workpro_867******41e7908d3ee3b44f54213.安装docker环境请先使用一个安装好docker 的服务器。请自行百度在服务器如何安装docker。方式一推荐阿里云安装docker根据服务器类型选择安装操作文档如下安装Docker并使用_云服务器 ECS(ECS)-阿里云帮助中心方式二执行下面的命令。4.打包与启动4.1打包镜像将源码包的文件复制到服务器某个路径下如图进入服务器到指定目录下如图输入命令docker build -t wechat_data_con .如图回车键执行安装依赖以及所需环境server.js 伪代码参考// server.js const express require(express); const bodyParser require(body-parser); const app express(); const port 9898; app.use(bodyParser.json()); app.use(express.static(public)); let verifyCode ; // 用于存储用户提交的验证码 app.post(/submit-verify-code, (req, res) { const { verifyCode: userVerifyCode } req.body; verifyCode userVerifyCode; res.json({ message: 验证码已接收, verifyCode: userVerifyCode }); }); app.listen(port, () { console.log(服务器运行在 http://localhost:${port}); });package.json伪代码参考{ name: workpro-getting-started, version: 1.0.0, description: basic example on workpro service, main: index.ts, scripts: { test: echo \Error: no test specified\ exit 1, start: ts-node index.ts }, repository: { type: git, url: https://gitee.com/laibin113/enterprise-wechat-messaging.git }, keywords: [], author: , license: ISC, bugs: { url: https://gitee.com/laibin113/enterprise-wechat-messaging.git }, homepage: https://gitee.com/laibin113/enterprise-wechat-messaging.git, dependencies: { juzi/wechaty: ^1.0.66, juzi/wechaty-puppet: ^1.0.66, qrcode-terminal: ^0.12.0, express: ^4.17.1, body-parser: ^1.20.0, grpc/grpc-js: 1.8.12, node-fetch: ^2.6.1, node-cache: ^5.1.2 }, devDependencies: { types/qrcode-terminal: ^0.12.0, types/express: ^4.17.6 } }4.2启动容器启动应用依赖安装完成后输入命令docker run -p 9898:9898 --restart on-failure wechat_data_con 如图端口自行控制5.企业微信二维码验证5.1 获取初始二维码1发送接口请求获取初始二维码docker日志查看如果不会请自行百度2开启程序post方法请求http:127.0.0.1:9898/goStart3上面的接口127.0.0.1根据实际服务换成自己的IP或者绑定对应的域名。发送请求启动获取二维码接口。如图日志台会出现一个二维码。如图5.2 第1次二维码验证使用手机企业微信扫描二维码扫描完了之后手机企业微信会弹出一个 6位数的验证码配合上图的qrcodeKey请求接口如图验证成功后日志台输出如图表示登录成功5.3 第2次二维码验证特别注意因企业微信官方的原因当前账号首次这样扫码登录的情况下在30分钟内会在企业微信要求再次验证。如下图这个时候日志台会重新打印二维码点击 确定是本人使用然后扫描二维码即可。6.企业微信三个接口6.1 获取所有用户1post方法请求http:127.0.0.1:9898/get-all-user2body传参方式参数说明pageSize:需要发送的企业微信消息内容id:上面获取到用户信息的用户id3备注上面的接口127.0.0.1根据实际服务换成自己的IP或者绑定对应的域名。49898对应服务器安全组需要放行该端口如果启动防火墙也要放开该端口号。请求接口获取所有用户如图datas为用户数据列表 hasNextPage为是否有下一页。各个字段都十分容易理解自行翻译吧下面是参数_events 和 _eventsCount事件相关的计数器。id标识符通常用于唯一标识一个对象或记录。payload负载指传输的数据内容。address地址指用户的居住地址或联系地址。alias别名用户使用的另一个名字或昵称。avatar头像是指用户的照片或代表图像的链接。city城市用户所在的城市。corporation公司用户所在的公司或组织。coworker同事可能表示用户是否是联系人的同事。description描述可能是指对用户的一些描述性信息。friend朋友可能表示用户是否是联系人的朋友。gender性别1通常表示男性0代表女性handle处理name名字用户的姓名。phone电话用户的联系电话。province省份用户所在的省份。signature签名用户的签名或个人格言。star星标可能表示用户是否被标记为重要联系人。title标题可能是指用户的职位或头衔。type类型1可能表示用户类型或状态weixin微信用户的微信账号或标识。additionalInfo额外信息包含一些用于识别或分类用户的附加数据。corpld 和 sCorpld与公司或组织相关的某种标识符。status状态5表示用户的状态码。tags标签用于标记用户或分类的关键词列表这里是一个数组。realName真实姓名用户的正式姓名。aka也被称为表示用户的其他已知名称或别名。hasNextPage有下一页这通常用于分页显示表示数据还有更多的部分。6.2 发送消息给单人发送消息接口如图下图所示1post方法请求http:127.0.0.1:9898/send-message2body传参方式参数说明message:需要发送的企业微信消息内容id:上面获取到用户信息的用户id3备注上面的接口127.0.0.1根据实际服务换成自己的IP或者绑定对应的域名。6.3发送消息给多人1post方法请求http:127.0.0.1:9898/send-message-all2body传参方式参数说明message:需要发送的企业微信消息内容id:上面获取到用户信息的用户id3备注上面的接口127.0.0.1根据实际服务换成自己的IP或者绑定对应的域名。4上面获取到的用户信息的tag标签可在下图那里管理。效果如图7.部分源码展示7.1 Dockerfile伪代码# Dockerfile FROM node:lts # 复制应用程序代码到容器中 COPY . /appWxWork WORKDIR /appWxWork ENV WECHATY_PUPPET_SERVICE_AUTHORITYtoken-service-discovery-test.juzibot.com RUN npm config set registry https://registry.npmmirror.com/ # 在容器中安装 ts-node 和应用程序所需的依赖 RUN npm install ts-node typescript # 暴露端口 8088 EXPOSE 9898 # 运行应用程序 CMD [npm, start]7.2 index.tx伪代码import {ScanStatus, WechatyBuilder} from juzi/wechaty import QrcodeTerminal from qrcode-terminal const NodeCache require(node-cache); const express require(express); const bodyParser require(body-parser); const myCache new NodeCache({ stdTTL: 3660, checkperiod: 1200 }); const app express(); const port 9898; app.use(bodyParser.json()); app.use(express.static(public)); let verifyCode1 ; // 用于存储用户提交的验证码 const fetch require(node-fetch); let myUserName ; const token puppet_workpro_******1241e7908d3ee3b44f5421; const bot WechatyBuilder.build({ puppet: juzi/wechaty-puppet-service, //authority: token-service-discovery-test.juzibot.com, puppetOptions: { token, tls: { disable: true // currently we are not using TLS since most puppet-service versions does not support it. } } }) const store { qrcodeKey: , } ......8.结束程序/切换账号登录1当想更换企业微信绑定者的时候调用下面的接口进行结束然后重新绑定。2结束程序post方法请求http:127.0.0.1:9898/goEnd3备注上面的接口127.0.0.1根据实际服务换成自己的IP或者绑定对应的域名。结束程序/切换账号登录如图控制台日志 会重新打印二维码请重新执行上面的步骤2~……本文关键词解释企业微信API指企业微信提供的应用程序接口允许企业开发自己的应用与企业微信进行集成实现如发送消息、获取用户列表等功能以便更好地管理和沟通微信客户。token在企业微信API对接中用于验证身份和授权访问的令牌。文中提到的“puppet_workpro_867******41e7908d3ee3b44f5421”就是获取到的token示例开发者需使用有效的token来调用相关接口。docker是一个开源的应用容器引擎可以让开发者打包他们的应用以及依赖包到一个可移植的容器中然后发布到任何流行的 Linux 机器上。在本文中需要先在服务器上安装docker环境以便后续打包和启动应用。二维码验证在企业微信API对接过程中用于登录和身份验证的关键步骤。通过发送接口请求获取初始二维码使用手机企业微信扫描二维码后获取验证码再配合qrcodeKey进行验证以完成登录操作。用户列表接口指用于获取企业微信所有用户信息的接口通过post方法请求“http://127.0.0.1:9898/get-all-user”并传入相应的参数如pageSize和id即可获取包含用户各种信息如id、name、phone等的用户数据列表以及是否有下一页的标识。发送消息接口单人用于向单个企业微信用户发送消息的接口通过post方法请求“http://127.0.0.1:9898/send-message”并在body中传入消息内容message和用户idid即可实现给指定用户发送消息的功能。发送消息接口多人用于向多个企业微信用户发送消息的接口通过post方法请求“http://127.0.0.1:9898/send-message-all”同样需要在body中传入消息内容message和用户idid可实现批量发送消息给多人提高消息通知的效率。分页参数pageSize在获取用户列表接口中使用用于指定每次请求获取的用户数量便于对大量用户数据进行分页处理避免一次性获取过多数据导致性能问题或请求超时等情况。状态码status在用户数据中包含的一个字段用于表示用户的状态例如文中提到的“5”表示用户的状态码不同的状态码可能代表用户的不同状态如正常、禁用等开发者可以根据状态码对用户进行相应的管理和操作。标签tags也是用户数据中的一个字段以数组形式呈现用于对用户进行标记和分类方便企业根据不同的业务需求对用户群体进行细分和精准营销比如可以根据标签筛选出特定类型的客户发送针对性的消息。说明原文档是我同事 陈伟俊 编写本人觉得比较有意义文章稍微整理输出分享给大家学习希望这篇博客能够为你在工作中提供一些启发和指导。如果你有任何问题或需要进一步的建议欢迎在评论区留言交流。让我们一起探索IT世界的无限可能博主还写了与企业微信【开发工具】相关文章欢迎批评指正1、企业微信API对接文档【可向微信用户发消息】2、企业微信API接口发消息实战从0到1的技术突破之旅3、企业微信DeepSeek开启API接口自动消息新时代4、企业微信 豆包新模型API 接口驱动的智能自动回复体系构建5、企业微信消息推送实战Docker部署 提供API接口写在最后感谢各位大佬阅读本文1关于文档对接完整文档wx关注回复企业微信即可获取2关于源码团队经7天攻坚完成企业微信消息系统已实践过多个次项目确保可以使用源码象征性收200米附答疑群永久升级。完整文档已开源动手能力强者可直接参考实现。需要代码请私信「底部wx公众号联系作者-作者微信-二维码扫一扫添加好友」感谢对技术价值的尊重

相关新闻

Qt+Cesium跨平台卫星轨迹可视化:如何用C++计算轨道并生成Web三维动画

Qt+Cesium跨平台卫星轨迹可视化:如何用C++计算轨道并生成Web三维动画

QtCesium跨平台卫星轨迹可视化:从C轨道计算到Web三维动画的工程实践 在桌面应用与Web技术深度融合的今天,将高性能的C计算能力与强大的Web三维可视化相结合,正成为工业级应用开发的新范式。对于导航卫星系统、航天测控、空间态势感知等领域&a…

2026/7/3 20:22:49 阅读更多 →
绿地斑块密度计算:从图斑统计到指数测算,一步到位!

绿地斑块密度计算:从图斑统计到指数测算,一步到位!

在国土空间规划、林业水利调查、生态环境保护及矿产资源开发等领域,绿地斑块密度指数是衡量区域生态质量、景观格局及生境破碎化程度的核心量化指标。 本文将基于Bigemap Pro软件,为您详细演示如何快速获取关键参数并完成绿地斑块密度指数的计算。咨询电…

2026/7/3 20:23:23 阅读更多 →
Python图像增强实战:从基础锐化到深度学习超分辨率

Python图像增强实战:从基础锐化到深度学习超分辨率

1. 从“糊图”到“神图”:为什么你的图片总是不够清晰? 不知道你有没有遇到过这种情况:手机拍了一张风景照,放大一看,远处的树叶糊成一团;或者从网上下载了一张老照片,想打印出来却发现全是马赛…

2026/7/2 23:15:11 阅读更多 →

最新新闻

2026年多模态AI爆发的三大工程临界点

2026年多模态AI爆发的三大工程临界点

1. 项目概述:这不是预测,是正在发生的产业切片 “2026年4月下旬AI爆发”这个标题乍看像媒体噱头,但作为连续跟踪大模型产业落地六年的从业者,我必须说:它不是时间锚点,而是技术演进的临界刻度。过去三个月&…

2026/7/3 20:21:16 阅读更多 →
【信息科学与工程学】计算机科学与自动化——第五十七篇 计算性与不可计算性01

【信息科学与工程学】计算机科学与自动化——第五十七篇 计算性与不可计算性01

编号 类型 领域 问题 问题的数学分析 关联知识 1 不可计算性 计算理论 停机问题:判断任意图灵机在给定输入上是否会终止 采用对角线法构造矛盾:假设存在通用停机判定器 H,则构造新图灵机 D 利用 H 判定自身并做相反操作,导致悖论,故不存在这样的算法。 图灵机、…

2026/7/3 20:21:16 阅读更多 →
基于Playwright的UI自动化测试平台:从架构设计到CI/CD集成

基于Playwright的UI自动化测试平台:从架构设计到CI/CD集成

1. 项目概述:为什么需要一个基于PlayWright的UI自动化测试平台?如果你是一名测试工程师或者开发工程师,每天还在为Web应用的UI自动化测试脚本的编写、维护、执行和报告而头疼,那么“基于PlayWright的UI自动化测试平台”这个项目&a…

2026/7/3 20:19:15 阅读更多 →
三步实现IDM永久激活:免费解锁下载神器的终极指南

三步实现IDM永久激活:免费解锁下载神器的终极指南

三步实现IDM永久激活:免费解锁下载神器的终极指南 【免费下载链接】IDM-Activation-Script IDM Activation & Trail Reset Script 项目地址: https://gitcode.com/gh_mirrors/id/IDM-Activation-Script 你是否厌倦了Internet Download Manager&#xff0…

2026/7/3 20:19:15 阅读更多 →
相机、激光雷达与事件相机动态感知原理对比

相机、激光雷达与事件相机动态感知原理对比

1. 项目概述:为什么“动态感知”成了自动驾驶与机器人领域的生死线?你有没有注意过,一辆车在暴雨中急刹时,传统摄像头拍到的画面几乎是一片模糊的水幕,而激光雷达却能稳稳锁定前方突然窜出的电动车轮廓;又或…

2026/7/3 20:09:12 阅读更多 →
DreamScene2:免费开源Windows动态桌面终极解决方案

DreamScene2:免费开源Windows动态桌面终极解决方案

DreamScene2:免费开源Windows动态桌面终极解决方案 【免费下载链接】DreamScene2 一个小而快并且功能强大的 Windows 动态桌面软件 项目地址: https://gitcode.com/gh_mirrors/dr/DreamScene2 厌倦了千篇一律的静态壁纸?想要让Windows桌面焕发新生…

2026/7/3 20:09:12 阅读更多 →

日新闻

Nginx防御TLS重协商攻击实战:从原理到配置与监控

Nginx防御TLS重协商攻击实战:从原理到配置与监控

1. 项目概述:为什么TLS重协商攻击至今仍需警惕十多年前的CVE-2011-1473,一个关于TLS/SSL协议重协商机制的漏洞,现在提起来还有必要吗?很多运维和开发朋友可能会觉得,这都老掉牙了,现代服务器和客户端不都默…

2026/7/3 0:03:59 阅读更多 →
华为防火墙双通道远程管理实战:Web与SSH配置详解

华为防火墙双通道远程管理实战:Web与SSH配置详解

1. 项目概述:为什么需要双通道远程管理防火墙?在任何一个稍具规模的企业网络里,防火墙都是那个默默守护在边界的关键角色。作为网络工程师,我们不可能每次都跑到机房,插上console线去配置它。远程管理能力,…

2026/7/3 0:03:59 阅读更多 →
AD74413R与PIC18F65K40的高精度工业数据采集方案

AD74413R与PIC18F65K40的高精度工业数据采集方案

1. 项目概述:AD74413R与PIC18F65K40的协同工作在工业自动化和精密测量领域,同时实现高精度模数转换(ADC)和数模转换(DAC)功能是许多复杂系统的核心需求。AD74413R作为一款四通道可配置模拟输入/输出器件,与PIC18F65K40微控制器的组合&#xf…

2026/7/3 0:05:59 阅读更多 →

周新闻

月新闻