【企业通信】基于ipad协议全类型消息发送接口设计:支持文本、多媒体、群聊及大文件传输的API
一、一段话总结
本文档为企业微信消息发送与管理的接口技术文档,系统介绍了23个基于HTTP POST的API接口,统一采用application/json格式进行数据交互。所有接口均以uuid作为企业微信实例的唯一标识,部署于http://172.0.0.1:8080/wxwork/服务地址下,成功响应均为errcode=0、errmsg=ok。文档涵盖消息发送(如文本、图片、文件、语音、视频、小程序、视频号、引用、群@等)、大文件特殊传输机制、群发限制规则,以及消息同步、已读标记、语音转文字等辅助功能,形成完整的企业微信消息生态操作体系。;
适合人群:具备基本Web API调用经验的技术人员、企业微信开发者、后端开发工程师或自动化运维人员,尤其适用于需要集成企业微信消息能力的中高级研发人员;
使用场景及目标:① 实现自动化消息推送与撤回;② 构建企业级消息同步与通知系统;③ 开发支持多媒体内容(如CDN资源、大文件、小程序卡片)的消息机器人;④ 实现精准群聊@提醒与每日群发策略;接口地址集中于https://wechatapi.apifox.cn/,成功返回errcode=0、errmsg=ok**。
- 思维导图
官网地址:极客互动企业微信聚合聊天&企业微信API接口
API调用:企业微信API接入文档
四、详细总结
1. 接口基础规范
- 请求方式:POST
- 内容类型:application/json
- 唯一标识:uuid(必传,定位企业微信实例)
- 服务地址:http://172.0.0.1:8080/wxwork/
- 成功响应:{"errcode":0,"errmsg":"ok"}
2. 核心消息发送接口(按类型分类)
接口功能 | 请求 URL | 必传核心参数 | 消息类型 |
撤回消息 | /RevokeMsg | uuid、msgid、roomid | 撤回 |
发送文本 | /SendTextMsg | uuid、send_userid、isRoom、content | 文本 |
发送文本 + 表情 | /SendTextAndExpMsg | uuid、send_userid、isRoom、content | 混合 |
发送 CDN 图片 | /SendCDNImgMsg | uuid、send_userid、isRoom、cdnkey、aeskey、md5、fileSize | 图片 |
发送 CDN 文件 | /SendCDNFileMsg | uuid、send_userid、isRoom、cdnkey、aeskey、md5、fileSize | 文件 |
发送 CDN 语音 | /SendCDNVoiceMsg | uuid、send_userid、isRoom、cdnkey、aeskey、md5、fileSize、voice_time | 语音 |
发送 CDN 视频 | /SendCDNVideoMsg | uuid、send_userid、isRoom、cdnkey、aeskey、md5、fileSize、video_duration | 视频 |
发送大视频 | /SendCDNBigVideoMsg | 大文件上传,非 CDN | 大视频 |
发送大文件 | /SendCDNBigFileMsg | 大文件上传,非 CDN | 大文件 |
发送链接卡片 | /SendLinkMsg | uuid、send_userid、isRoom、url、title、content | 链接 |
发送小程序 | /SendAppMsg | uuid、send_userid、isRoom、appid、pagepath、username | 小程序 |
发送视频号 | /SendVideoNumber | uuid、send_userid、isRoom、url、coverUrl | 视频号 |
发送视频号直播 | /SendVideoNumberZhiBo | uuid、send_userid、isRoom、url、coverUrl | 直播 |
发送 GIF 表情 | /SendEmotionMessage | uuid、send_userid、isRoom、imgurl | GIF |
发送名片 | /SendBusinessCardMsg | uuid、send_userid、isRoom、username、nickname | 名片 |
发送位置 | /SendLocationMsg | uuid、send_userid、isRoom、longitude、latitude、address | 位置 |
发送群 @ | /SendTextAtMsg | uuid、send_userid、atids、content、isRoom | 群 @ |
格式化 @ | /SendTextAtMsgTwo | uuid、send_userid、contentva、isRoom | 混合 @ |
群发消息 | /SendGroupsMsg | uuid、vids、isroom、msg_list | 群发 |
发送引用 | /sendQuoteMsg | uuid、send_userid、isRoom、content、quoteMsg | 引用 |
3. 消息辅助管理接口
接口功能 | 请求 URL | 必传参数 | 作用 |
同步消息 | /SyncAllData | uuid、limit、seq | 同步离线消息 |
标记已读 | /MarkAsRead | uuid、send_userid、isRoom | 去除小红点 |
语音转文字 | /SpeechToTextEntity | uuid、msgid | 语音解析文本 |
4. 关键规则
- 大视频 / 大文件必须走大文件上传,禁止用 CDN 方式
- 群发消息限制:每天每人一次
- 引用消息必须完整携带quoteMsg对象,否则显示不全
- \\群 @\\支持指定成员 / 全体(vid=0)
- seq建议使用消息回调的server_id,用于增量同步
五、关键问题与答案
- 问题:发送大视频和大文件有什么强制要求?
答案:必须走大文件上传通道,禁止使用 CDN 上传,对应接口为/SendCDNBigVideoMsg和/SendCDNBigFileMsg。
- 问题:如何实现企业微信离线消息同步?
答案:调用/SyncAllData接口,传入uuid、limit(每次返回条数)、seq(建议传回调中最后一条消息的server_id),返回is_select=1表示未同步完需继续调用。
- 问题:发送群聊 @所有人消息需要怎么配置?
答案:使用/SendTextAtMsgTwo接口,在contentva数组中添加msgtype=5且vid=0的对象,即可实现 @全体成员。
