综合档案管理系统与企业微信集成 全流程实操指南零门槛可落地
一、前置准备
操作前请确认你已具备以下条件,避免中途卡壳:
- 已认证的企业微信企业账号,持有企业微信超级管理员权限
- 综合档案管理系统(自研/商用均可),持有系统管理员权限
- 档案系统已部署在公网可访问的服务器,域名已完成备案
提前打开两个官方地址备用:
- 企业微信管理后台:https://work.weixin.qq.com/wework_admin/frame
- 企业微信开放平台文档:https://open.work.weixin.qq.com/api/doc/90000/90135/90664
二、企业微信端配置
2.1 创建自建应用
1. 登录企业微信管理后台,进入【应用管理】板块,下滑到【自建】分类,点击创建应用
2. 上传应用LOGO,填写应用名称为「综合档案管理系统」,可见范围选择所有需要使用该系统的部门/成员,提交完成创建
3. 创建成功后进入应用详情页,记录3个核心参数:AgentId、应用Secret,后续配置需要用到
4. 进入【我的企业】-【企业信息】页面,下滑到最底部记录企业ID参数
2.2 配置可信域名与回调地址
1. 回到自建应用详情页,找到【功能】-【网页授权及JS-SDK】板块,点击「设置可信域名」
2. 填写档案系统的公网访问域名(例如https://arch.xxx.com),按照页面提示下载校验文件,上传到档案系统服务器的根目录,点击确认完成校验

3. 找到【应用主页】设置项,填写回调地址:https://arch.xxx.com/wxwork/callback,请将域名替换为你自己的档案系统域名
2.3 配置接口权限
1. 进入【管理工具】-【通讯录同步】页面,开启「API接口同步」开关,权限范围选择和应用可见范围一致,记录通讯录同步Secret备用
2. 进入自建应用详情页的【权限管理】板块,确认已勾选「发送消息到企业微信」「读取成员信息」「读取部门信息」三个核心权限
三、档案系统端配置
3.1 商用成品系统配置
如果使用的是商用档案管理系统,直接进入【系统设置】-【第三方集成】-【企业微信集成】页面,将之前记录的4个参数(企业ID、AgentId、应用Secret、通讯录同步Secret)填入对应输入框,点击保存即可自动完成基础配置,无需编写代码。
3.2 自研系统配置
如果是自研档案系统,首先在配置文件中添加企业微信相关配置,以下是SpringBoot项目application.yml的完整可复制配置:
```yaml wxwork: corp-id: 替换为你记录的企业ID agent-id: 替换为你记录的AgentId app-secret: 替换为你记录的应用Secret address-secret: 替换为你记录的通讯录同步Secret redirect-uri: https://arch.xxx.com/wxwork/callback 和企业微信端填的回调地址完全一致 api-host: https://qyapi.weixin.qq.com 固定值无需修改 ```然后添加单点登录回调接口,核心逻辑代码如下(Java示例,其他语言可按照逻辑对应改写):
```java // 企业微信单点登录回调接口 @RestController @RequestMapping("/wxwork") public class WxWorkController { @Resource private WxWorkConfig wxWorkConfig; @Resource private RestTemplate restTemplate; @Resource private UserService userService; @Resource private JwtUtils jwtUtils; @GetMapping("/callback") public String wxLoginCallback(String code) { // 1. 调用接口获取access_token String tokenUrl = String.format("%s/cgi-bin/gettoken?corpid=%s&corpsecret=%s", wxWorkConfig.getApiHost(), wxWorkConfig.getCorpId(), wxWorkConfig.getAppSecret()); String tokenRes = restTemplate.getForObject(tokenUrl, String.class); JSONObject tokenJson = JSON.parseObject(tokenRes); String accessToken = tokenJson.getString("access_token"); if (StrUtil.isBlank(accessToken)) { return "redirect:https://arch.xxx.com/403?msg=获取凭证失败"; } // 2. 用code换取用户userid String userUrl = String.format("%s/cgi-bin/user/getuserinfo?access_token=%s&code=%s", wxWorkConfig.getApiHost(), accessToken, code); String userRes = restTemplate.getForObject(userUrl, String.class); JSONObject userJson = JSON.parseObject(userRes); String userId = userJson.getString("UserId"); if (StrUtil.isBlank(userId)) { return "redirect:https://arch.xxx.com/403?msg=未获取到用户信息"; } // 3. 匹配本地账号:提前将档案系统用户工号和企业微信userid绑定 User user = userService.lambdaQuery().eq(User::getJobNumber, userId).one(); if (user == null || user.getStatus() != 1) { return "redirect:https://arch.xxx.com/403?msg=无系统访问权限"; } // 4. 生成系统凭证自动登录,跳转到首页 String sysToken = jwtUtils.createToken(user.getId(), user.getUsername()); return "redirect:https://arch.xxx.com/home?token=" + sysToken; } } ```四、核心功能配置
4.1 通讯录自动同步
配置定时任务,每天凌晨1点调用企业微信通讯录接口,自动同步部门、成员信息到档案系统,无需手动维护账号。同步接口地址:GET https://qyapi.weixin.qq.com/cgi-bin/user/list?access_token=ACCESS_TOKEN&department_id=1&fetch_child=1,将ACCESS_TOKEN替换为获取到的接口凭证即可。
4.2 消息推送配置
档案系统的待审批、归档提醒、借阅到期通知等消息,可调用企业微信消息推送接口直接发送到用户的企业微信会话,请求参数格式如下:
```json // POST请求地址:https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN { "touser": "对应用户的企业微信userid", "msgtype": "text", "agentid": 替换为你的AgentId, "text": { "content": "您有1条档案借阅申请待审批,点击处理:https://arch.xxx.com/approve/123" }, "safe": 0 } ```4.3 权限自动映射
配置企业微信部门/角色和档案系统权限组的映射规则,例如人力部门成员自动分配档案管理员权限,普通部门成员自动分配档案借阅权限,无需手动分配权限。
五、测试验证与问题排查
5.1 功能验证步骤
- 单点登录验证:打开企业微信PC/移动端工作台,点击「综合档案管理系统」应用,无需输入账号密码直接进入系统首页即为配置成功
- 消息推送验证:提交一条档案借阅申请,对应审批人企业微信收到推送消息,点击消息直接跳转到审批页面即为配置成功
- 通讯录同步验证:在企业微信新增一个成员,等待同步任务执行后,档案系统自动生成对应用户账号即为配置成功
5.2 常见问题排查
- 单点登录提示无权限:检查应用可见范围是否包含该用户、用户工号是否和企业微信userid一致、域名是否已添加到可信域名列表
- 消息推送失败:检查应用Secret是否正确、access_token是否过期(有效期2小时,需要定时刷新)、接收用户是否在应用可见范围内
- 通讯录同步失败:检查通讯录同步Secret是否正确、同步接口的权限范围是否包含目标部门