Skip to main content

请求、响应与标识约定

本页定义各接口复用的协议规则。接口页描述业务字段;调用前请同时确认该接口的凭据类型、数据范围和响应类型。

服务地址与请求头

BASE_URL 为部署方交付的 HTTPS 服务地址,不含接口路径。公有云、专有云和私有部署可能不同,不使用官网域名代替 API 地址。

请求头使用规则
Authorization平台 API Key、应用 Token、租户契约使用 Bearer {凭据};不同类型不可互换
token渠道租户管理使用平台 Token;页面登录态使用登录 Token,两者身份与用途不同
Content-TypeJSON 写入为 application/json;上传用 multipart/form-data,由 HTTP 客户端生成 boundary
Accept-Language可选:zh-CNzh-TWenvi;只影响提示语言,不改变字段名
AcceptJSON 接口可用 application/json;流式对话使用 text/event-stream

同一请求只提交目标接口需要的凭据,不把多种 Token 同时发送来尝试认证。完整凭据不进入浏览器源码、分析平台或日志。

普通响应

{
"code": 8200,
"message": "SUCCESS",
"data": {}
}
字段JSON 类型含义与处理
codeinteger业务状态;普通业务成功为 8200,不能仅判断 HTTP 200
messagestring面向人的提示,随语言和场景变化;不得作为程序分支条件
data接口指定类型对象、数组、字符串或布尔值;具体类型由接口页定义

空字符串的写入响应也可表示成功;false、空数组和 null 不可统一解释为请求失败。先判断 code,再按具体业务处理。

分页响应

{
"code": 8200,
"message": "SUCCESS",
"pageNo": 1,
"pageSize": 10,
"total": 0,
"totalPage": 0,
"data": []
}
字段JSON 类型含义
codeinteger业务状态,成功为 8200
messagestring提示信息
pageNointeger当前页,从 1 开始
pageSizeinteger每页条数;接口未另行说明时默认 10
totalinteger满足查询条件的记录总数
totalPageinteger总页数;无结果时可为 0
dataarray[object]当前页记录,不是 data.records;条目结构见各接口

顺序读取至总页数,不把每页都有 pageSize 条当成保证。分页查询期间发生新增或删除时,不应假设它提供数据快照。

不使用普通包装的接口

接口类型成功响应处理方式
非流式 Chat对话对象读取 choicesconversationId
流式 ChatSSE 事件按事件边界解析 JSON,处理结束事件与中断
Dify 外部检索{"records":[]}读取 records 数组
QA 模板下载Excel 文件流按 Content-Type 和下载响应处理,不解析为 JSON

以上接口失败时可能返回 JSON 错误体;应先检查 HTTP 状态和实际 Content-Type。详见 错误处理

业务标识

标识代表什么从哪里获得常见使用位置
租户 code租户业务编码渠道开户/查询契约 tenantCode
用户 code用户业务编码员工或访客创建契约 userCode、应用对话 user
知识库 code知识库业务编码知识库创建/列表检索、文件请求的 containerId
文件 code知识资源业务编码文件导入/列表查询 code、检索 dataIds
id数据库记录主键对应资源查询明确要求按 id 的更新/删除
conversationId会话标识Chat 响应/主题列表多轮续聊、历史查询
messageId单条消息标识Chat 响应/记录消息关联
appid应用标识应用配置或渠道初始化应用主题、记录筛选

编码按不透明字符串保存,不解析其内部格式。引用中的 dataSetId 与分片中的 dataId 都可能指向文件 code,但字段名不同。不要将数字主键替代业务编码。

类型、时间与空值

  • 表中的类型是 JSON 类型,不是 Java 类型。integer 可能来自 64 位主键;JavaScript 客户端涉及大整数时应使用无损 JSON 解析,不先转浮点数再转字符串。
  • 请求日期使用接口指定格式。契约 expireAt、V2 签名时间戳是 Unix 秒;检索标准时间字段是 Unix 毫秒;不要混用。
  • LocalDateTime 类业务字段为日期时间字符串,例如 2026-09-05T10:30:00,不自带时区偏移。租户合同等旧日期字段受部署序列化配置影响,联调时确认;不得作为 Token 时间戳使用。
  • 可选字段可能为 null、空字符串或未输出;数组可能为空。字段是否有值取决于资源类型和接口是否填充该字段,数据字典中的可选扩展不代表每次必有。
  • 金额、空间、时长分别按字段标注的元、字节/MB/GB、秒/毫秒处理。显示用的格式化文本不参与数值运算。
  • 响应示例是脱敏结构示例,不是可直接用于生产的资源、凭据或有效日期。

安全重试

只读请求遇到短暂网络错误可有限退避重试。创建操作超时先按稳定 code 查询;充值、状态切换和全量权限更新不要自动重放。保存接口路径、调用时间、业务编码、HTTP 状态和业务码用于排查,脱敏保存错误摘要。

未知响应字段应允许兼容;未知枚举值应保留并降级显示,不直接当成成功状态。实际开放能力以交付版本与授权为准。