Skip to content

批量获取会话消息

适用版本>=v7.0.2411b.20241128

接口说明:批量获取会话消息

请求说明

请求地址配置域名+/openapi+/v7/audit/chats/{chat_id}/messages/batch_get
请求方法POST
签名方式KSO-1(配置域名+/openapi不参与签名)
权限要求查询审计会话(应用授权) kso.chat_message_audit.read
读写审计会话(应用授权) kso.chat_message_audit.readwrite

请求头(Header)

Header参数类型是否必填说明
X-Kso-DatestringRFC1123 格式的日期,例: Wed, 23 Jan 2013 06:43:08 GMT
X-Kso-AuthorizationstringKSO-1 签名值,详见《签名方法》
Authorizationstring授权凭证,格式为:Bearer {access_token}

路径参数(Query)

名称类型是否必填说明
chat_idint64会话Id

查询body(Query)

名称类型是否必填说明
message_id_listarray[string]消息Id列表,min=1,max=100

响应体(Response)

名称类型说明
codeintegercode
msgstringmsg
dataobjectnull
itemsarray[object]
chat_idstring会话ID
contentobject消息内容,需要根据发送的消息类型 type,传递不同的对象
textobject文本消息,见下文详细描述
rich_textobject富文本消息,见下文详细描述
imageobject图片消息,见下文详细描述
fileobject文件消息,见下文详细描述
audioobject音频消息,见下文详细描述
videoobject视频消息,见下文详细描述
cardobject卡片消息,见下文详细描述
ctimeint64消息创建时间单位秒
deleteint64消息删除信息
deletedbool消息是否删除
timeint64消息删除时间单位秒
ext_attrsarray[object]消息拓展属性
namestring消息拓展属性名称
valuestring消息拓展属性值
idstring消息Id
mentionsarray[object]at操作的详细信息
idstring指定聊天消息中at操作的实体索引ID。与消息正文中相应 <at id={index}> 标记中的 {index} 值匹配。
typestringat操作对象类型 "所有人": "all" "用户":"user"
identityobject用户身份信息见下文详细描述
positionint64会话消息位置索引
quote_msg_idstring被引用的消息ID
recallstring撤回信息
operator_idstring撤回信息操作者
senderobject消息发送者 见下文详细描述
typestring消息类型
text:文本;rich_text:富文本;image:图片;
file:文件;audio:音频;video:视频;card:卡片消息
moreobject更多的错误信息

响应体示例

json
{
  "code": 0,
  "data": {
    "items": [
      {
        "ctime": 0,
        "ext_attrs": [
          {
            "name": "string",
            "value": "string"
          }
        ],
        "group_ext_attrs": {
          "avatar": {
            "avatars": [
              "string"
            ],
            "type": "default"
          },
          "dept_id": "string",
          "owner_id": "string",
          "settings": {
            "is_disable_all_send": false,
            "is_disable_part_send": false,
            "is_enable_nickname": true,
            "is_external_join_approve": true,
            "is_join_approve": false,
            "is_owner_admin_at_all": false,
            "is_owner_admin_modify": false
          }
        },
        "id": "string",
        "name": "string",
        "status": "active",
        "type": "group"
      }
    ]
  },
  "msg": "success"
}

消息内容(content)结构说明

发送消息时,需要根据发送消息的类型 消息类型,传递不同的消息内容 content,支持的消息类型如下:

文本(text)

消息类型为文本 type=text 时,传递的内容 content 对象

名称参数类型是否必填说明
textobject文本消息
支持通过在消息体插入标签的方式 at 人
例子:你好 <at id="0"> 张三 </at>
∟ contentstring文本内容
∟ typestring[enum]文本类型
plain:纯文本;markdown
json
{
  // 文本
  "type": "text",
  "receivers": [],
  "mentions": [],
  "content": {
    "text": {
      "content": "string",
      "type": "string[enum]"
    }
  }
}

富文本(rich_text)

消息类型为富文本 type=rich_text 时,传递的内容 content 对象

名称参数类型是否必填说明
rich_textobject富文本消息
∟ elementsarray[object]富文本消息内容
∟ ∟ typestring[enum]富文本元素类型
ol:有序列表;ul:无序列表;nl:换行;text:普通文本;
emoji:表情;custom_emoji:自定义表情;mention:at 人;image:图片
∟ ∟ alt_textstring代替文本摘要,当客户端无法解析则取该字段
∟ ∟ indentinteger缩进
∟ ∟ indexinteger第几行
∟ ∟ elementsarray[object]子元素列表,与父元素 element 结构相同(递归)
∟ ∟ text_contentobject【1】纯文本内容, 当富文本元素类型为表情 emoji 时使用
∟ ∟ ∟ contentstring文本内容
∟ ∟ ∟ typestring[enum]文本类型
plain:纯文本;markdown
∟ ∟ style_text_contentobject【2】有样式的文本内容,当富文本元素类型为普通文本 text 时使用
∟ ∟ ∟ styleobject元素样式
∟ ∟ ∟ ∟ boldboolean加粗
∟ ∟ ∟ ∟ colorstringRGBA 16 进制描述,例如:#FF0000FF,最后两位为透明度
∟ ∟ ∟ ∟ italicboolean斜体
∟ ∟ mention_contentobject【3】at 人的内容,当富文本元素类型为 at 人 mention 时使用
∟ ∟ ∟ identityobject被 at 用户的 id,当 at 所有人时该值为空
∟ ∟ ∟ ∟ avatarstring用户头像
∟ ∟ ∟ ∟ company_idstring企业 id
∟ ∟ ∟ ∟ idstring用户信息
∟ ∟ ∟ ∟ namestring用户名称
∟ ∟ ∟ ∟ typestring[enum]身份类型
user:用户;sp:服务主体
∟ ∟ ∟ textstring被 at 的文本内容
∟ ∟ image_contentobject【4】图片内容,当富文本元素类型为自定义表情 custom_emoji 或 图片 image 时使用
∟ ∟ ∟ heightinteger高度(px)
∟ ∟ ∟ namestring图片名称
∟ ∟ ∟ sizeinteger图片大小(B)
∟ ∟ ∟ storage_keystring图片存储 key
∟ ∟ ∟ thumbnail_storage_keystring缩略图片存储 key
∟ ∟ ∟ thumbnail_typestring缩略图片格式,可传值:
image/pngimage/jpgimage/gifimage/webp
∟ ∟ ∟ typestring图片格式,可传值:
image/pngimage/jpgimage/gifimage/webp
∟ ∟ ∟ widthinteger宽度(px)
∟ ∟ link_contentobject【5】链接的内容,当富文本元素类型为 link 时使用
∟ ∟ ∟ textstring文本内容
∟ ∟ ∟ urlstringurl 链接
json
{
  // 富文本
  "type": "rich_text",
  "receivers": [],
  "mentions": [],
  "content": {
    "rich_text": {
      "elements": [
        {
          "type": "string[enum]",
          "alt_text": "string",
          "indent": 0,
          "index": 0,
          "elements": [
            {
              // 与父元素 elements 结构相同(递归)
            },
          ],
          "text_content": {
            "content": "string",
            "type": "string[enum]"
          },
          "style_text_content": {
            "style": {
              "bold": false,
              "color": "string",
              "italic": false
            },
            "text": "string"
          },
          "mention_content": {
            "identity": {
              "avatar": "string",
              "company_id": "string",
              "id": "string",
              "name": "string",
              "type": "string[enum]"
            },
            "text": "string",
            "type": "string[enum]"
          },
          "image_content": {
            "height": 0,
            "name": "string",
            "size": 0,
            "storage_key": "string",
            "thumbnail_storage_key": "string",
            "thumbnail_type": "string",
            "type": "string",
            "width": 0
          },
          "link_content": {
            "text": "string",
            "url": "string"
          },
        }
      ]
    }
  }
}

图片(image)

消息类型为图片 type=image 时,传递的内容 content 对象

名称参数类型是否必填说明
imageobject图片消息
∟ typestring图片格式,可传值:
image/pngimage/jpgimage/gifimage/webp
∟ thumbnail_typestring缩略图片格式,可传值:
image/pngimage/jpgimage/gifimage/webp
∟ namestring图片名称
∟ sizeinteger图片大小(B)
∟ widthinteger宽度(px)
∟ heightinteger高度(px)
∟ storage_keystring图片存储 key
∟ thumbnail_storage_keystring缩略图片存储 key
json
{
  // 图片
  "type": "image",
  "receivers": [],
  "mentions": [],
  "content": {
    "image": {
      "type": "string",
      "thumbnail_type": "string",
      "name": "string",
      "size": 0,
      "width": 0,
      "height": 0,
      "storage_key": "string",
      "thumbnail_storage_key": "string"
    }
  }
}

文件(file)

消息类型为文件 type=file 时,传递的内容 content 对象

  • 发送本地文件,即文件类型为 local
名称参数类型是否必填说明
fileobject文件消息
∟ typestring[enum]文件类型
local:本地文件;cloud:云文档;p2p:P2P 局域网文件
∟ localobject本地文件
∟ ∟ namestring文件名称
∟ ∟ sizeinteger文件大小(B)
∟ ∟ storage_keystring文件存储 key
json
{
  // 文件
  "type": "file",
  "receivers": [],
  "mentions": [],
  "content": {
    "file": {
      // 本地文件
      "type": "local",
      "local": {
        "name": "string",
        "size": 0,
        "storage_key": "string"
      }
    }
  }
}
  • 发送云文档,即文件类型为 cloud
名称参数类型是否必填说明
fileobject文件消息
∟ typestring[enum]文件类型
local:本地文件;cloud:云文档;p2p:P2P 局域网文件
∟ cloudobject云文档
∟ ∟ idstring文档 id
∟ ∟ namestring文档名
∟ ∟ typestring文档类型
∟ ∟ versioninteger文档版本
∟ ∟ drive_idstring驱动盘 id
∟ ∟ parent_idstring父目录 id
∟ ∟ hashobject文档 hash
∟ ∟ ∟ sumstring哈希结果
∟ ∟ ∟ typestring[enum]哈希类型
sha256 md5 s2s
∟ ∟ link_idstring分享 id
∟ ∟ link_urlstring分享链接 url
∟ ∟ sizeinteger文档大小
∟ ∟ permissionobject文件权限
∟ ∟ ∟ commentboolean评论
∟ ∟ ∟ copyboolean复制
∟ ∟ ∟ copy_contentboolean内容复制
∟ ∟ ∟ deleteboolean文件删除
∟ ∟ ∟ downloadboolean下载
∟ ∟ ∟ historyboolean历史版本
∟ ∟ ∟ moveboolean文件移动
∟ ∟ ∟ new_emptyboolean新建
∟ ∟ ∟ perm_ctlboolean权限管理
∟ ∟ ∟ printboolean打印
∟ ∟ ∟ renameboolean文件重命名
∟ ∟ ∟ saveasboolean另存为
∟ ∟ ∟ secretboolean安全文档
∟ ∟ ∟ shareboolean分享
∟ ∟ ∟ updateboolean编辑 / 更新
∟ ∟ ∟ uploadboolean上传:手动上传新版本
∟ ∟ ext_attrsarray[object]文件扩展属性
∟ ∟ ∟ namestring属性名
∟ ∟ ∟ valuestring属性值
∟ ∟ ctimeinteger创建时间
∟ ∟ created_byobject创建者
∟ ∟ ∟ avatarstring用户头像
∟ ∟ ∟ company_idstring企业 id
∟ ∟ ∟ idstring用户信息
∟ ∟ ∟ namestring用户名称
∟ ∟ ∟ typestring[enum]身份类型
user:用户;sp:服务主体
∟ ∟ mtimeinteger修改时间
∟ ∟ modified_byobject修改者
∟ ∟ ∟ avatarstring用户头像
∟ ∟ ∟ company_idstring企业 id
∟ ∟ ∟ idstring用户信息
∟ ∟ ∟ namestring用户名称
∟ ∟ ∟ typestring[enum]身份类型
user:用户;sp:服务主体
json
{
  // 文件
  "type": "file",
  "receivers": [],
  "mentions": [],
  "content": {
    "type": "cloud",
    // 云文档
    "cloud": {
      "id": "string",
      "name": "string",
      "type": "string",
      "version": 0,
      "drive_id": "string",
      "parent_id": "string",
      "hash": {
        "sum": "string",
        "type": "string[enum]"
      },
      "link_id": "string",
      "link_url": "string",
      "size": 0,
      "permission": "object",
      "ext_attrs": [
        {
          "name": "string",
          "value": "string"
        }
      ],
      "mtime": 0,
      "modified_by": "object",
      "ctime": 0,
      "created_by": "object"
    }
  }
}
  • 发送 P2P 局域网文件,即文件类型为 p2p
名称参数类型是否必填说明
fileobject文件消息
∟ typestring[enum]文件类型
local:本地文件;cloud:云文档;p2p:P2P 局域网文件
∟ p2pobjectP2P 局域网文件
∟ ∟ namestring文件名称
∟ ∟ sizeinteger文件大小(B)
∟ ∟ ssidstring传输通道 id
∟ ∟ statusstring[enum]传输状态
setup:创建通道;pending:待接收;sending:传输中;closed:已关闭
∟ ∟ fromobject发起者
∟ ∟ ∟ device_idstring设备 id
∟ ∟ ∟ user_idstring用户 id
∟ ∟ toobject接收者
∟ ∟ ∟ device_idstring设备 id
∟ ∟ ∟ user_idstring用户 id
∟ ∟ ext_attrsarray[object]自定义扩展字段
∟ ∟ ∟ namestring属性名
∟ ∟ ∟ valuestring属性值
json
{
  // 文件
  "type": "file",
  "receivers": [],
  "mentions": [],
  "content": {
    "file": {
      "type": "p2p",
      // P2P 局域网文件
      "p2p": {
        "name": "string",
        "size": 0,
        "ssid": "string",
        "status": "string[enum]",
        "from": {
          "device_id": "string",
          "user_id": "string"
        },
        "to": {
          "device_id": "string",
          "user_id": "string"
        },
        "ext_attrs": [
          {
            "name": "string",
            "value": "string"
          }
        ]
      }
    }
  }
}

音频(audio)

消息类型为音频 type=audio 时,传递的内容 content 对象

名称参数类型是否必填说明
audioobject音频消息
∟ mediaobject音频媒体信息
∟ ∟ channelsinteger通道数
∟ ∟ codecstring[enum]编码格式
amr
∟ ∟ durationinteger播放时长(s)
∟ ∟ formatstring[enum]文件格式
wav
∟ ∟ sample_bitsinteger比特率
∟ ∟ sample_rateinteger采用率
∟ ∟ sizeinteger文件大小(B)
∟ storage_keystring音频文件存储 key
json
{
  // 音频
  "type": "audio",
  "receivers": [],
  "mentions": [],
  "content": {
    "audio": {
      "media": {
        "channels": 0,
        "codec": "string[enum]",
        "duration": 0,
        "format": "string[enum]",
        "sample_bits": 0,
        "sample_rate": 0,
        "size": 0
      },
      "storage_key": "string"
    }
  }
}

视频(video)

消息类型为音频 type=video 时,传递的内容 content 对象

名称参数类型是否必填说明
videoobject视频消息
∟ mediaobject视频媒体信息
∟ ∟ codecstring[enum]编码格式
h.264
∟ ∟ cover_storage_keystring视频文件封面图片存储 key
∟ ∟ durationinteger播放时长(s)
∟ ∟ formatstring[enum]文件格式
mp4
∟ ∟ heightinteger高度(px)
∟ ∟ sizeinteger文件大小(B)
∟ ∟ widthinteger宽度(px)
∟ storage_keystring视频文件存储 key
json
{
  // 视频
  "type": "audio",
  "receivers": [],
  "mentions": [],
  "content": {
    "video": {
      "media": {
        "codec": "string[enum]",
        "cover_storage_key": "string",
        "duration": 0,
        "format": "string[enum]",
        "height": 0,
        "size": 0,
        "width": 0
      },
      "storage_key": "string"
    }
  }
}

卡片(card)

消息卡片是应用接入WPS协作机器人发送消息时的一种消息类型。消息卡片提供了丰富的组件,支持开发者按需组合配置消息卡片。详细说明可看WPS协作消息卡片 为了提升卡片的搭建效率,WPS开放平台也为开发者提供了可视化的消息卡片搭建工具,开发者可进入开发者后台-应用能力-WPS协作机器人-发送消息-API发送-消息卡片编辑器 处进行配置。

消息类型为卡片 type=card 时,传递的内容 content 对象

名称参数类型是否必填说明
cardobject卡片消息
∟ configobject配置
∟ ∟ allowd_operate_listarray[string[enum]]允许右键操作类型列表,默认允许转发、回复、收藏
disable:禁用;forward:转发;reply:回复;favorite:收藏;accept_all:允许右键所有操作
∟ ∟ filter_keystring添加卡片筛选状态,需要在开发者后台-应用能力-WPS协作机器人-发送消息-API发送-配置卡片筛选项处配置筛选项
∟ ∟ nonsupport_clientobject消息卡片不支持展示的客户端
∟ ∟ ∟ client_typearray[string]不支持的客户端类型,默认为空
∟ ∟ ∟ describestring不支持的客户端文本描述
∟ ∟ shared_cardboolean是否为共享卡片消息
true:是;false:否
∟ ∟ todo_switchboolean添加卡片待办状态
true:开启待办;false:关闭待办
∟ linkobject跳转链接,可分端配置
∟ ∟ android_urlstringAndroid 端跳转 url
∟ ∟ ios_urlstringiOS 端跳转 url
∟ ∟ pc_urlstring桌面端跳转 url
∟ ∟ urlstring默认链路 url
∟ i18n_itemsarray[object]多语言组件集合
∟ ∟ keystring卡片消息支持的多语言类型
∟ ∟ valueobject卡片组件集合,详细规则请前往WPS协作消息卡片结构说明
json
{
  "type": "card",
  "receivers": [],
  "mentions": [],
  "content": {
    "card": {
      "config": {
      },
      "i18n_items": {
      },
      "link": {
      }
    }
  }
}

响应体

名称参数类型说明
codeinteger响应代码。非 0 表示失败,参照《状态码说明》
msgstring响应信息
dataobject响应数据
∟ idstring消息 id
∟ chat_idstring会话 id
∟ quote_msg_idstring被引用的消息 id
∟ typestring[enum]消息类型
text:文本;rich_text:富文本;image:图片;
file:文件;audio:音频;video:视频;card:卡片消息
∟ positioninteger会话消息位置索引,严格连续递增
∟ ctimeinteger消息创建时间
∟ mentionsarray[object]被 at 的人员列表
∟ ∟ idstring指定聊天消息中 at 操作的实体索引 id。与消息正文中相应 <at id={index}> 标记中的 {index} 值匹配
∟ ∟ identityobject被 at 的用户信息,当 at 所有人时该值为空
∟ ∟ ∟ avatarstring用户头像
∟ ∟ ∟ company_idstring企业 id
∟ ∟ ∟ idstring用户信息
∟ ∟ ∟ namestring用户名称
∟ ∟ ∟ typestring[enum]身份类型
user:用户;sp:服务主体
∟ ∟ typestring[enum]at 操作对象类型
all:所有人;user:用户
∟ senderobject发送者,包括用户、应用和机器人
∟ ∟ avatarstring用户头像
∟ ∟ company_idstring企业 id
∟ ∟ idstring用户信息
∟ ∟ namestring用户名称
∟ ∟ typestring[enum]身份类型
user:用户;sp:服务主体
∟ recallobject消息撤回信息
∟ ∟ operator_idstring撤回消息操作者 id
∟ contentobject消息内容
∟ ∟ textobject文本消息,见上文详细描述,相同的定义
∟ ∟ rich_textobject富文本消息,见上文详细描述,相同的定义
∟ ∟ imageobject图片消息,见上文详细描述,相同的定义
∟ ∟ fileobject文件消息,见上文详细描述,相同的定义
∟ ∟ audioobject音频消息,见上文详细描述,相同的定义
∟ ∟ videoobject视频消息,见上文详细描述,相同的定义
∟ ∟ cardobject卡片消息,见上文详细描述,相同的定义

响应体示例

json
{
  "data": {
    "id": "string",
    "chat_id": "string",
    "quote_msg_id": "string",
    "type": "string[enum]",
    "position": 0,
    "ctime": 0,
    "mentions": [
      {
        "id": "string",
        "identity": {
          "avatar": "string",
          "company_id": "string",
          "id": "string",
          "name": "string",
          "type": "string[enum]"
        },
        "type": "string[enum]"
      }
    ],
    "sender": {
      "avatar": "string",
      "company_id": "string",
      "id": "string",
      "name": "string",
      "type": "string[enum]"
    },
    "recall": {
      "operator_id": "string"
    },
    "ext_attrs": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "content": {
      // 根据不同的 type,返回不同内容
    }
  },
  "code": 0,
  "msg": "string"
}

人员身份信息

消息类型为文本 type=text 时,传递的内容 content 对象

名称参数类型说明
identitystring成员身份结构
avatarstring用户头像
company_idstring用户所在企业
idstring用户Id
namestring名称
typestring用户(user) 服务商(sp)
json
{
  // 人员身份信息
  "avatar": "string",
  "company_id": "string",
  "id": "string",
  "name": "string",
  "type": "string"
}