在线系统获取会话数据
创建会话导出任务
创建指定时间范围内的会话导出任务。
调用前准备
- 联系七鱼将企业和调用方出口 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-查询留言记录。
导出步骤
- 调用本接口创建导出任务。
- 从成功响应的 message 中取得 key。按企业当前下载方式,key 为 8 位 token 或数字下载任务 ID。
- 将 key 放入请求体
{"key":"步骤 2 返回的值"},调用/openapi/export/session/check查询文件。查询接口不受凌晨导出时间窗口限制,但仍校验签名、IP 白名单和企业白名单。 - 查询返回 14520、message 为
Wait...时表示文件尚未生成,请稍后重试;返回 200 时,message 即文件下载 URL。 - 使用 URL 下载导出文件。8 位 token 对应的旧下载链路返回加密 ZIP,下载链接有效期为 6 小时,解压密码为当前企业 appKey 的前 12 个字符,压缩包内包含 session.txt 和 message.txt。若返回数字下载任务 ID,文件格式及密码规则以企业当前下载任务配置和实际返回文件为准。
请求参数
| 名称 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| time | any | 是 | 请求时间戳(秒);用于签名鉴权 | |
| checksum | any | 是 | 请求签名校验和 | |
| checksumAlgorithm | integer | 否 | 签名算法:0 - 默认(SHA1),1 - SHA256;不传默认为 0 | |
| appKey | string | 是 | 应用 AppKey |
请求体
| 名称 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| start | int64 | 是 | 导出开始时间,毫秒时间戳 | 1735660800000 |
| end | int64 | 是 | 导出结束时间,毫秒时间戳。必须大于 start,且跨度默认不超过 2 天 | 1735747199999 |
| type | int32 | 否 | 会话记录类型;不传默认为 0。0-查询会话记录、2-查询留言记录 | 0 |
返回参数
| 名称 | 类型 | 描述 | 示例值 |
|---|---|---|---|
| code | int32 | 状态码,200 表示成功 | 200 |
| message | string | 成功时为导出 token、下载任务 ID 或文件下载 URL;失败时为错误原因 | AbCdEfGh |
错误码
| 状态码 | 描述 |
|---|---|
| 14001 | AppKey 不存在 |
| 14002 | checksum 校验失败 |
| 14003 | 请求时间戳与服务器时间误差超过 10 分钟,或不在允许导出的时间窗口内 |
| 14004 | 请求体为空、start/end 缺失、时间范围非法或提交过快 |
| 14008 | IP 或企业不在导出白名单内 |
| 14009 | 当前企业运行中的导出任务过多,或旧链路导出锁未释放 |
| 14500 | 服务内部异常或创建下载任务失败 |
postEndpoint
/openapi/export/sessioncurl -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": "服务内部异常或创建下载任务失败"
}这篇文档有帮助吗?