Skip to content

消息 ​

发送各类消息、补拉消息、撤回、群发。

本模块接口全部 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 表示 @ 所有人。

群发 ​