Appearance
消息
发送各类消息、补拉消息、撤回、群发。
本模块接口全部 POST。{BASE_URL} 是含 /wx-api 的完整 API Base;直接复制接口页的请求示例。
| 接口 | 用途 | 安全级别 |
|---|---|---|
同步消息/wx-api/api/message/sync | 主动拉取消息。 | 只读 |
发送文本消息/wx-api/api/message/sendText | 发送纯文本消息。 | 写操作 |
发送富文本消息/wx-api/api/message/sendRichText | 发送带表情、@ 成员的富文本;群聊 @ 功能通过本接口实现。 | 写操作 |
发送语音消息/wx-api/api/message/sendVoice | 发送语音(silk 格式)。 | 写操作 |
发送图片消息/wx-api/api/message/sendImage | 发送图片。 | 写操作 |
发送视频消息/wx-api/api/message/sendVideo | 发送视频(小视频)。 | 写操作 |
发送文件消息/wx-api/api/message/sendFile | 发送普通文件(小文件);大文件走 sendBigFile。 | 写操作 |
发送大文件/wx-api/api/message/sendBigFile | 发送超过 8MB 的文件:先用 cdn/uploadBigFile 上传,再把推送里下发的凭证填进 content。 | 写操作 |
发送链接卡片(含视频号)/wx-api/api/message/sendLink | 发送图文链接卡片;sph_feed_h5_message 子对象用于视频号卡片。 | 写操作 |
发送名片消息/wx-api/api/message/sendNameCard | 把某个用户的名片发到会话。 | 写操作 |
发送 GIF 消息/wx-api/api/message/sendGif | 发送 GIF 动图表情。 | 写操作 |
发送位置消息/wx-api/api/message/sendLocation | 发送地理位置卡片。 | 写操作 |
发送小程序/wx-api/api/message/sendMiniProgram | 发送小程序卡片。 | 写操作 |
撤回消息/wx-api/api/message/revoke | 撤回一条已发送的消息。 | 高风险 |
获取群发素材列表/wx-api/api/message/getMaterialList | 拉取群发助手预置的素材(文案 + 附件组合),供群发时按 materialId 引用。 | 只读 |
群发消息/wx-api/api/message/groupSend | 向一批客户或客户群批量发送消息。 | 写操作 |
获取待发送群发列表/wx-api/api/message/getPendingGroupSendList | 拉取「待发送」队列(企微侧已排入、尚未真正下发的群发任务)。 | 只读 |
发送待发送群发/wx-api/api/message/groupSendPending | 把「待发送」队列里的某条任务真正下发。 | 写操作 |
获取群发记录/wx-api/api/message/getGroupSendRecord | 查询本账号历史群发记录(含内容、触达统计、发送范围)。 | 只读 |
安全级别与「实测 日期」标记的含义见API 参考的表格说明。
发送前要知道的三件事
- 发给谁:
conversationId单聊填对方的userId,群聊填roomId,必须是 JSON number,不能加引号。给自己发时填本账号的uin,从获取个人信息取,不要写死;自聊会话的roomId不能当发送目标。 - 发图片、视频、文件、语音:先上传拿凭证,再填进
content,每种怎么填见CDN 文件 · 发送时凭证怎么填。小程序的封面填在content.miniProgramDetails里的封面字段,不能用上传结果替换整个content,见发送小程序。 - 接口发出的消息不会推给你:只会收到一条
2001已读回执,不推正文。
发送成功后返回什么
成功时 data 就是刚发出的那条消息,data.content 是你发送的内容;媒体消息里是你传入的上传凭证。各类型 content 的结构:
| contentType | 消息类型 | content 结构 |
|---|---|---|
0 | 文本、富文本 | 数组,每项 {type, text},@ 某人时多一个 userId |
6 | 位置 | 对象:longitude、latitude、address、title |
13 | 链接卡片 | 对象:imageUrl、title、description(不返回 linkUrl) |
14 | 图片 | 对象:id、size、md5、aesKey 和缩略图字段 thumb* |
15 | 文件 | 对象:id、name、url、size、aesKey、md5 |
16 | 语音 | 对象:id、name、url、size、voiceTime、aesKey、md5 |
20 | 大文件 | 对象:id(以 *1* 开头)、name、size、md5 |
23 | 视频 | 对象:id、duration、width、height、aesKey、md5、thumbUrl |
41 | 名片 | 对象:cardUserId、avatarUrl、name、corpName、corpId、displayName、cardToken |
78 | 小程序 | 对象:title 和 miniProgramDetails(含 username、appId、path、title、appName 等) |
2001 | 已读回执 | 每次发消息后都会收到一条,可以忽略 |
这张表只用于发送接口的返回。收到的推送和同步消息拉到的历史,结构不一样:推送里的文本是明文数组、媒体是带下载凭证的对象,同步拉历史时 content 多数是 protobuf,拿不到文本明文。三种要分开解析,推送的结构查回调字典。
富文本里的 type
发送富文本消息的 content[] 可以组合多个片段:type=0 是纯文本,type=3 是表情(如 [愉快]),type=5 是 @。type=5 带 userId 表示 @ 某人,不带 userId 表示 @ 所有人。