七鱼开发文档中心
总览服务端 APIWebiOSAndroid鸿蒙Uniapp微信小程序插件三方接入
在线系统获取会话数据

创建会话导出任务

创建指定时间范围内的会话导出任务。

调用前准备

  • 联系七鱼将企业和调用方出口 IP 加入会话导出白名单。
  • 按 OpenAPI 签名规则传入 appKey、time、checksum;请求体参与签名计算。
  • 仅在允许的导出时间窗口内创建任务。当前代码默认使用 GMT+8 的每日 02:00~06:00,实际时间以企业环境配置为准。

参数规则

  • start、end 为毫秒时间戳,必须 start < end。
  • 时间跨度由 open.api.export.time.day.interval 配置控制,当前代码默认不超过 2 天。
  • type 不传默认为 0:0-查询会话记录,2-查询留言记录。

导出步骤

  1. 调用本接口创建导出任务。
  2. 从成功响应的 message 中取得 key。按企业当前下载方式,key 为 8 位 token 或数字下载任务 ID。
  3. 将 key 放入请求体 {"key":"步骤 2 返回的值"},调用 /openapi/export/session/check 查询文件。查询接口不受凌晨导出时间窗口限制,但仍校验签名、IP 白名单和企业白名单。
  4. 查询返回 14520、message 为 Wait... 时表示文件尚未生成,请稍后重试;返回 200 时,message 即文件下载 URL。
  5. 使用 URL 下载导出文件。8 位 token 对应的旧下载链路返回加密 ZIP,下载链接有效期为 6 小时,解压密码为当前企业 appKey 的前 12 个字符,压缩包内包含 session.txt 和 message.txt。若返回数字下载任务 ID,文件格式及密码规则以企业当前下载任务配置和实际返回文件为准。

请求参数

名称类型必填描述示例值
timeany是请求时间戳(秒);用于签名鉴权
checksumany是请求签名校验和
checksumAlgorithminteger否签名算法:0 - 默认(SHA1),1 - SHA256;不传默认为 0
appKeystring是应用 AppKey

请求体

名称类型必填描述示例值
startint64是导出开始时间,毫秒时间戳1735660800000
endint64是导出结束时间,毫秒时间戳。必须大于 start,且跨度默认不超过 2 天1735747199999
typeint32否会话记录类型;不传默认为 0。0-查询会话记录、2-查询留言记录0

返回参数

名称类型描述示例值
codeint32状态码,200 表示成功200
messagestring成功时为导出 token、下载任务 ID 或文件下载 URL;失败时为错误原因AbCdEfGh

错误码

状态码描述
14001AppKey 不存在
14002checksum 校验失败
14003请求时间戳与服务器时间误差超过 10 分钟,或不在允许导出的时间窗口内
14004请求体为空、start/end 缺失、时间范围非法或提交过快
14008IP 或企业不在导出白名单内
14009当前企业运行中的导出任务过多,或旧链路导出锁未释放
14500服务内部异常或创建下载任务失败
postEndpoint
/openapi/export/session
POST
/openapi/export/session
curl -X POST "https://qiyukf.com/openapi/export/session?time=1739347200&checksum=a1b2c3d4e5f607182930abcdefabcdef&checksumAlgorithm=0&appKey=9f1d7c2b8a6e4d3c" \  -H "Content-Type: application/json" \  -d '{    "start": 1735660800000,    "end": 1735747199999  }'
{
  "code": 200,
  "message": "AbCdEfGh"
}
{
  "code": 14001,
  "message": "AppKey 不存在"
}
{
  "code": 14002,
  "message": "checksum 校验失败"
}
{
  "code": 14003,
  "message": "请求时间戳与服务器时间误差超过 10 分钟,或不在允许导出的时间窗口内"
}
{
  "code": 14004,
  "message": "请求体为空、start/end 缺失、时间范围非法或提交过快"
}
{
  "code": 14008,
  "message": "IP 或企业不在导出白名单内"
}
{
  "code": 14009,
  "message": "当前企业运行中的导出任务过多,或旧链路导出锁未释放"
}
{
  "code": 14500,
  "message": "服务内部异常或创建下载任务失败"
}

这篇文档有帮助吗?