青鸾QINGLUAN
控制台
MESSAGES / API REFERENCE

消息 API

24个接口

发送文本与媒体,查询消息、群发记录和处理结果。 本页列出此分组全部 24 个 POST 接口。

全部接口

拉取消息

分页拉取消息。首次传 syncKey: 0,之后传上一页返回的 syncKey,直到 isEnd 为 true。

POST/qingluan/api/message/sync

发送文本

向指定会话发送一条文本。返回的 data.id 就是撤回时要用的 serverMsgId。

POST/qingluan/api/message/sendText

发送富文本

发送富文本。content 是数组,每段形如 {type, text}。目前只有 type: 0(纯文字段)可用,其他取值会被拒绝。

POST/qingluan/api/message/sendRichText

发送语音

发送语音。没有专门的语音上传接口:先调「上传文件」,把返回的 data 整体作为 content,再补一个 voiceTime(秒)。

POST/qingluan/api/message/sendVoice

发送图片

发送图片。先调「上传图片」,把返回的 data 整体作为 content 传入 —— 两边字段逐个对应,不需要自己拼。

POST/qingluan/api/message/sendImage

发送视频

发送视频。先调「上传视频」,把返回的 data 整体作为 content 传入。

POST/qingluan/api/message/sendVideo

发送文件

发送文件。先调「上传文件」,把返回的 data 整体作为 content 传入。

POST/qingluan/api/message/sendFile

发送大文件

发送大文件。与「上传大文件」配合使用:文件 ID 取自上传完成后推送的 BigFileUploadCompleted 回调事件(content.id,带 *1* 前缀),普通「上传文件」返回的 ID 会被拒绝。

POST/qingluan/api/message/sendBigFile

发送链接卡片

发送链接卡片。url 是落地地址,imageUrl 是卡片缩略图。

POST/qingluan/api/message/sendLink

发送名片

发送名片。cardUserId 在请求体顶层,不在 content 里。

POST/qingluan/api/message/sendNameCard

发送 GIF

发送 GIF。同样先调「上传图片」(GIF 也走它),返回的 data 整体作为 content。

POST/qingluan/api/message/sendGif

发送位置

发送位置。经纬度是浮点数,注意不要当成整数传。

POST/qingluan/api/message/sendLocation

撤回消息

撤回消息。serverMsgId 取自发送接口返回的 data.id。

POST/qingluan/api/message/revoke

发送小程序卡片

发送小程序卡片。需要小程序 username(gh_ 开头)、appId、path 与封面图。

POST/qingluan/api/message/sendMiniProgram

查询素材列表

获取群发助手的素材库列表。注意这是群发素材,不是个人收藏消息。

POST/qingluan/api/message/getMaterialList

群发消息

群发助手。contentList[].content 是数组,如 [{"type":0,"text":"内容"}];receiverList 填接收人 ID。

POST/qingluan/api/message/groupSend

查询待发群发

获取待发送的群发任务列表。返回的 list[].id 供 groupSendPending 使用。

POST/qingluan/api/message/getPendingGroupSendList

发送待发群发

发送待发送的群发任务。id 取自「查询待发群发」。

POST/qingluan/api/message/groupSendPending

查询群发记录

获取个人群发历史记录。

POST/qingluan/api/message/getGroupSendRecord

群消息置顶

把一条群消息置顶。请求体是整条消息对象本身(发送接口返回的 data 可直接使用),不要再包一层。

POST/qingluan/api/message/roomMessageTopAdd

取消群消息置顶

取消群消息置顶。topId 从「获取群置顶消息」的 all_msg[].topId 取 —— 顶层字段里没有它。

POST/qingluan/api/message/roomMessageTopDel

获取群置顶消息

获取群里的置顶消息。返回 creatorId / msgContent / updateTime;有置顶项时还会带 all_msg 数组,topId 在里面。

POST/qingluan/api/message/roomMessageTopGetList

语音转文字·取任务 ID

语音转文字第一步:用语音消息的 msgId 换取转写任务 ID。语音消息在消息同步结果里的 contentType 是 16。返回的 queryIntervalMs 是建议的轮询间隔。

POST/qingluan/api/message/voiceToTextGetId

语音转文字·查询结果

语音转文字第二步:用上一步的 voiceId 查询结果,文字在 data.text,isEnd 表示是否已转写完毕。

POST/qingluan/api/message/voiceToTextQuery

接入常见问题

返回 code = 0 就代表发送成功吗?

不代表。它仅表示请求已被接受。发送后请通过拉取消息复核最终结果;不能仅凭响应码更新为已发送。

发送消息后为什么没有 Webhook 回调?

回调只包含入站事件,自己通过接口发出的消息不会触发回调。发送结果使用拉取消息确认。

媒体内容可以直接传 URL 吗?

请先按媒体上传与发送流程准备资源,将上传返回的 data 按对应接口说明带入 content。

如何保留 conversationId 的精度?

使用原始完整整数值,避免经过 JavaScript Number 的近似转换。参见大整数处理指引

搜索接口

输入关键词查找接口。最多显示 20 项。