# 搜索聊天记录

# 请求方式

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"
  }
}