首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

企业微信API对接文档【可向微信用户发消息】

  • 25-02-18 13:41
  • 2173
  • 5768
blog.csdn.net

目录

企业微信API对接文档

1.背景

2.获取微信第三方token

3.安装docker环境

4.打包与启动

4.1打包镜像

4.2启动容器(启动应用)

5.企业微信二维码验证

5.1 获取初始二维码

5.2 第1次二维码验证

5.3 第2次二维码验证

6. 企业微信三个接口

6.1 获取所有用户

6.2 发送消息给单人

6.3发送消息给多人

7. 结束程序/切换账号登录

企业微信API对接文档

1.背景

想通过程序发送制定的消息给微信客户,客户需要接收到消息提醒并且可以直接打开微信查看(前提条件用户用加了门店企业微信好友),针对上面问题,提供两个接口:

1、一个是获取企业微信的用户的列表

2、一个是直接发送用户消息

2.获取微信第三方token

获取第三方token,申请地址:Token 自助服务系统

目前已经获取到的token是(注意大家获取到token,试用期仅有7天,如想续期请自行续费):

puppet_workpro_867******41e7908d3ee3b44f5421

3.安装docker环境

请先使用一个安装好docker 的服务器。请自行百度,在服务器如何安装docker。   

方式一(推荐):阿里云安装docker,根据服务器类型选择安装,操作文档如下:

安装Docker并使用_云服务器 ECS(ECS)-阿里云帮助中心

方式二:执行下面的命令。

4.打包与启动

4.1打包镜像

  • 将源码包的文件,复制到服务器某个路径下:(如图)

  • 进入服务器,到指定目录下:(如图)

  • 输入命令:docker build -t wechat_data_con .  (如图,回车键执行,安装依赖以及所需环境)

server.js 伪代码参考

  1. // server.js
  2. const express = require('express');
  3. const bodyParser = require('body-parser');
  4. const app = express();
  5. const port = 9898;
  6. app.use(bodyParser.json());
  7. app.use(express.static('public'));
  8. let verifyCode = ''; // 用于存储用户提交的验证码
  9. app.post('/submit-verify-code', (req, res) => {
  10. const { verifyCode: userVerifyCode } = req.body;
  11. verifyCode = userVerifyCode;
  12. res.json({ message: '验证码已接收', verifyCode: userVerifyCode });
  13. });
  14. app.listen(port, () => {
  15. console.log(`服务器运行在 http://localhost:${port}`);
  16. });

package.json伪代码参考

  1. {
  2. "name": "workpro-getting-started",
  3. "version": "1.0.0",
  4. "description": "basic example on workpro service",
  5. "main": "index.ts",
  6. "scripts": {
  7. "test": "echo \"Error: no test specified\" && exit 1",
  8. "start": "ts-node index.ts"
  9. },
  10. "repository": {
  11. "type": "git",
  12. "url": "git+https://github.com/juzibot/workpro-getting-started.git"
  13. },
  14. "keywords": [],
  15. "author": "",
  16. "license": "ISC",
  17. "bugs": {
  18. "url": "https://github.com/juzibot/workpro-getting-started/issues"
  19. },
  20. "homepage": "https://github.com/juzibot/workpro-getting-started#readme",
  21. "dependencies": {
  22. "@juzi/wechaty": "^1.0.66",
  23. "@juzi/wechaty-puppet": "^1.0.66",
  24. "qrcode-terminal": "^0.12.0",
  25. "express": "^4.17.1",
  26. "body-parser": "^1.20.0",
  27. "@grpc/grpc-js": "1.8.12",
  28. "node-fetch": "^2.6.1",
  29. "node-cache": "^5.1.2"
  30. },
  31. "devDependencies": {
  32. "@types/qrcode-terminal": "^0.12.0",
  33. "@types/express": "^4.17.6"
  34. }
  35. }

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/goStart

(3)上面的接口127.0.0.1根据实际服务换成自己的IP,或者绑定对应的域名。

  • 发送请求,启动获取二维码接口。(如图)

日志台会出现一个二维码。(如图)

5.2 第1次二维码验证

  • 使用手机企业微信,扫描二维码,扫描完了之后,手机企业微信,会弹出一个 6位数的验证码,配合上图的qrcodeKey,请求接口:(如图)

验证成功后,日志台输出:(如图),表示登录成功

5.3 第2次二维码验证

  • 特别注意,因企业微信官方的原因,当前账号,首次这样扫码登录的情况下,在30分钟内,会在企业微信要求,再次验证。如下图:

这个时候,日志台,会重新打印二维码,点击 确定是本人使用,然后扫描二维码,即可。

6.企业微信三个接口

6.1 获取所有用户

(1)post方法请求:http:127.0.0.1:9898/get-all-user

(2)body传参方式,参数说明:

        pageSize:需要发送的企业微信消息内容

        id:上面获取到用户信息的用户id

(3)备注:上面的接口127.0.0.1根据实际服务换成自己的IP,或者绑定对应的域名。

(4)9898对应服务器安全组需要放行该端口,如果启动防火墙也要放开该端口号。

  •  请求接口,获取所有用户:(如图)

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 发送消息给单人

发送消息接口:(如图下图所示)

(1)post方法请求:http:127.0.0.1:9898/send-message

(2)body传参方式,参数说明:

        message:需要发送的企业微信消息内容

        id:上面获取到用户信息的用户id

(3)备注:上面的接口127.0.0.1根据实际服务换成自己的IP,或者绑定对应的域名。

6.3发送消息给多人

(1)post方法请求:http:127.0.0.1:9898/send-message-all

(2)body传参方式,参数说明:

        message:需要发送的企业微信消息内容

        id:上面获取到用户信息的用户id

(3)备注:上面的接口127.0.0.1根据实际服务换成自己的IP,或者绑定对应的域名。

(4)上面获取到的用户信息的tag(标签),可在下图那里管理。

效果如图:

7.结束程序/切换账号登录

(1)当想更换企业微信绑定者的时候,调用下面的接口进行结束,然后重新绑定。

(2)结束程序post方法请求:http:127.0.0.1:9898/goEnd

(3)备注:上面的接口127.0.0.1根据实际服务换成自己的IP,或者绑定对应的域名。

  • 结束程序/切换账号登录,(如图)

控制台日志 ,会重新打印二维码,请重新执行上面的步骤2~……

说明:原文档是我同事 陈伟俊 编写,本人觉得比较有意义文章,稍微整理输出分享给大家学习,希望这篇博客能够为你在工作中提供一些启发和指导。如果你有任何问题或需要进一步的建议,欢迎在评论区留言交流。让我们一起探索IT世界的无限可能!


博主还写了人工智能一些文章,请各位大佬批评指正:

1、人工智能、机器学习、深度学习:技术革命的深度解析

2、GPT-5:人工智能的新篇章,未来已来

3、人工智能时代,程序员如何保持核心竞争力?

4、防范AI诈骗:技术、教育与法律的共同防线

5、详细的人工智能学习路线和资料推荐

6、利用AI提高内容生产效率的五个方案

7、目前国内AI大厂大模型列表优缺点、原理、使用、案例和注意事项

8、Stable Diffusion 本地部署教程

9、数据挖掘案例分析、经典案例、技术实现方案

10、讲解人工智能在现代科技中的应用和未来发展趋势

注:本文转载自blog.csdn.net的正在走向自律的文章"https://xiaoxiang113.blog.csdn.net/article/details/141528129"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top