# 搜索聊天记录
# 请求方式
GET
# 请求地址
https://nbd-api.myscrm.cn/bff-nbd-qw-openapi/v1/chat-record/search
# 请求参数
# 示例
curl https://nbd-api.myscrm.cn/bff-nbd-qw-openapi/v1/chat-record/search?app_id=xxx
&keyword=xxx
&start_time=1689732852000
&end_time=1689819252000
&type=text
&thumb_option=image/resize,w_106
&chat_type=1
&custom_condition=
&pager.page=1
&pager.page_size=10
# 说明
❗️❗️❗️ 由于部分企业聊天记录数据特别庞大,页码过大时会出现查询失败的情况,强烈建议从业务上限制查询时间区间。
❗️❗️❗️ 返回的文件地址均为临时地址,一小时内有效。
❗️❗️❗️ 强烈建议接入方实施登录态鉴权,数据对接请使用此接口。
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
app_id | string | 是 | 企微中台应用 id |
keyword | string | 否 | 消息文本搜索词 |
sender_name | string | 否 | 发送者名称。如果无需搜索名称,则不查找有聊天记录的外部联系人,量级大 |
start_time | uint64 | 否 | 搜索起始时间,毫秒时间戳 |
end_time | uint64 | 否 | 搜索起始时间,毫秒时间戳 |
type | string | 否 | 消息类型,默认为所有消息类型 |
thumb_option | string | 否 | 图片缩放参数,参见阿里云 OSS 文档 (opens new window) |
chat_type | int | 否 | 聊天类型:0-全部,1-单聊,2-群聊 |
custom_condition | string | 否 | 接入方自定义筛选条件,格式由接入方前后端自行约定,本接口会用此参数调用接入方提供的 ListChatEmployee、ListChatExternalUser 筛选发送人 id |
pager.page | int | 否 | 默认为 1 |
pager.page_size | int | 否 | 默认每页 10 条记录,最多不超过 100 条记录 |
# 消息类型
类型 | 名称 | 是否支持返回详情 | 说明 |
---|---|---|---|
text | 文本 | ✅ | |
image | 图片 | ✅ | |
revoke | 撤回 | ✅ | |
agree | 同意会话存档 | ✅ | |
disagree | 不同意会话存档 | ✅ | |
voice | 语音 | ✅ | |
video | 视频 | ✅ | |
card | 名片 | ✅ | |
location | 位置 | ✅ | |
emotion | 表情 | ✅ | |
file | 文件 | ✅ | |
link | 链接 | ✅ | |
weapp | 小程序 | ✅ | |
chatrecord | 聊天记录 | ❌ | |
todo | 代办 | ❌ | |
vote | 投票 | ❌ | |
collect | 填表 | ❌ | |
redpacket | 红包 | ✅ | 包含企微官方文档定义中的 redpacket 和 external_redpacket 两种消息类型 |
meeting | 会议邀请 | ❌ | |
docmsg | 在线文档 | ✅ | |
markdown | MarkDown 文档 | ❌ | |
news | 图文 | ❌ | |
calendar | 日程 | ❌ | |
mixed | 混合 | ❌ | |
meeting_voice_call | 音频存档 | ❌ | |
voip_doc_share | 音频共享文档 | ❌ | |
external_redpacket | 互通红包 | ✅ | |
sphfeed | 视频号 | ❌ | |
voiptext | 音视频通话 | ❌ | |
qydiskfile | 微盘文件 | ❌ | |
other | 其他 | ❌ | 会转换为 revoke、agree、disagree、chatrecord、todo、vote、collect、meeting、markdown、news、calendar、mixed、meeting_voice_call、voip_doc_share、sphfeed、voiptext、qydiskfile |
# 返回参数
# 示例
{
"errcode": 0,
"errmsg": "ok",
"list": [
{
"chat_id": "3a0c793e-03dd-1243-d6b0-3dd2bc78bd02",
"chat_type": 1,
"chat_record_id": "3a0c793e-042b-228c-699d-7a5d84b41611",
"qw_chat_record_id": "21904336554441465850_1689651309653_external",
"action": "action",
"sender_id": "woD2JCDwAAmWSuw2xAxWsV1Nmihz5Kdx",
"sender_name": "张三",
"receiver_ids": ["woD2JCDwAArHdkBUH9uyILlQs1RTyo9q"],
"receiver_name": "王五", // 群聊时为群名称
"send_time": 1689651305443,
"type": "text",
"hit_keyword_rules": [
// 实时计算出的本记录触发了哪些关键词规则列表
{
"rule_id": "4dddedd4-c5e7-436f-be4f-d58adc283a3b",
"rule_name": "过度承诺",
"keywords": ["保证", "一定"]
}
],
"is_recall": true,
"recall_time": 1689651340643,
"text": {
"content": "您好,请问您有什么需要咨询的"
},
"image": {
"oss_url": "string",
"thumb_url": "string"
},
"video": {
"oss_url": "string",
"length": 0
},
"voice": {
"oss_url": "string",
"length": 0
},
"agree": {
"user_id": "string",
"agree_time": 0
},
"disagree": {
"user_id": "string",
"disagree_time": 0
},
"file": {
"oss_url": "string",
"filename": "string",
"size": 0
},
"miniprogram": {
"title": "string",
"description": "string",
"username": "string",
"miniprogram_name": "string"
},
"redpacket": {
"type": 0,
"wish": "string",
"count": 0,
"total_amount": 0
},
"link": {
"title": "string",
"description": "string",
"url": "string",
"image_url": "string"
},
"card": {
"corp_name": "string",
"user_id": "string"
},
"location": {
"longitude": 0,
"latitude": 0,
"address": "string",
"title": "string",
"zoom": 0
},
"docmsg": {
"title": "string",
"link_url": "string",
"doc_creator": "string"
},
"emotion": {
"type": 0,
"width": 0,
"height": 0,
"oss_url": "string",
"size": 0,
"thumb_url": "string"
}
}
],
"pager": {
"total_rows": "1000"
}
}
← 查询群聊信息 拉取指定聊天的聊天记录 →