Skip to Content
🚀 ThinkDoc 体验版已上线!探索与你的知识库对话
开发者指南HTTP API

HTTP API

本指南面向开发者,详细说明如何通过API扩展ThinkDoc能力,构建定制化企业应用。ThinkDoc提供完整的RESTful API,支持知识库管理、文档解析、融合检索等核心功能。


获取 API 密钥

API 密钥是调用 ThinkDoc 服务的身份凭证,按以下步骤生成:

  1. 登录控制台 → 点击右上角 用户头像 → 选择 “账号设置”
  2. 进入 “API管理” 标签页 → 点击 “创建密钥”
  3. 填写信息
    • 名称:标识用途(如”Dify集成密钥”)
  4. 生成密钥
    • 系统返回 td-xxxxxx 格式密钥

    🔒 安全建议:

    • 定期轮换密钥(每90天)
    • 禁止前端明文存储密钥
    • 使用环境变量管理密钥

API 接口使用

ThinkDoc提供RESTful API,支持知识库管理、文档解析、融合检索等功能。 基础信息

  • 根地址https://doc.bluedigit.ai/api
  • 认证方式:Header中携带 Authorization: Bearer <API_Key>
  • 响应格式:JSON
  • 字符编码:UTF-8
核心接口示例
(1) 知识库管理
### 创建知识库 POST /api/kb Content-Type: application/json { "name": "金融政策库", "description": "存储央行报告和行业政策" } ### 响应示例(201 Created) { "_id": "kb_123456", // 知识库唯一ID "name": "金融政策库", "description": "存储央行报告和行业政策", "created_at": "2025-04-10T12:00:00Z", "file_count": 0 }
(2) 文档上传与解析
### 上传文件至知识库 POST /api/kb/{kb_id}/files Content-Type: multipart/form-data -- 参数 -- file: <二进制文件> parse_type: deep // 解析类型(deep或fast) ### 响应示例(202 Accepted) { "_id": "file_7890", "filename": "央行报告2024.pdf", "parse_status": "ready", // 解析状态(ready/waiting/parsing/embedding/success/fail) "path": "/uploads/kb_123456/央行报告2024.pdf" }
(3) 融合检索
### 检索知识库内容 POST /api/retrieve Content-Type: application/json { "query": "氢能政策", "kb_ids": ["kb_123456"], "retrieval_setting": { "top_k": 10, "score_threshold": 0.5 } } ### 响应示例(200 OK) { "records": [ { "id_": "node_123", "text": "检索到的内容...", "md_text": "Markdown格式内容", "score": "0.95", "file_name": "央行报告2024.pdf", "kb_id": "kb_123456", "file_id": "file_7890", "metadata": {...} } ] }

错误码对照表

ThinkDoc API 采用统一的错误响应格式,所有错误都返回以下结构:

{ "code": 10001, // 5位数字错误码,便于分类和排序 "message": "QUOTA_KB_EXCEEDED", // 简洁的错误码字符串,用于国际化 "detail": { // 详细的错误信息和调试数据 "user_message": "Knowledge base count limit reached", "current_usage": { "kb_count": 1, "max_kbs": 1 }, "upgrade_suggestion": "Consider upgrading to Professional plan for more quota" } }
错误码分类规则
错误码范围分类描述
10000-19999配额相关各种配额超限错误
20000-29999认证授权登录、权限、Token相关
30000-39999参数验证请求参数、格式、验证错误
40000-49999资源操作文件、知识库、用户等资源操作
50000-59999系统服务内部服务、外部依赖、系统错误
详细错误码对照表
配额相关错误 (10000-19999)
错误码错误信息HTTP状态码用户提示信息使用场景
10001QUOTA_KB_EXCEEDED429知识库数量已达上限创建知识库超出限制
10002QUOTA_FILE_EXCEEDED429文件数量已达上限上传文件超出限制
10003QUOTA_STORAGE_EXCEEDED429存储空间已达上限上传文件超出存储限制
10004QUOTA_UPGRADE_REQUIRED429当前套餐配额不足,请升级综合配额不足
认证授权错误 (20000-29999)
错误码错误信息HTTP状态码用户提示信息使用场景
20001AUTH_REQUIRED401需要身份认证未登录
20002AUTH_TOKEN_INVALID401Token无效或已过期Token无效或过期
20003AUTH_TOKEN_MISSING401缺少身份认证Token未提供Token
20004PERMISSION_DENIED403权限不足权限不足
20005ADMIN_REQUIRED403需要管理员权限非管理员操作
20006INVALID_API_KEY401API密钥无效API密钥错误
参数验证错误 (30000-39999)
错误码错误信息HTTP状态码用户提示信息使用场景
30001PARAM_INVALID400参数格式无效参数验证失败
30002PARAM_MISSING400缺少必需参数缺少必需参数
30003PARAM_TOO_LONG400参数长度超出限制参数过长
30004PARAM_FORMAT_ERROR400参数格式错误格式错误
30005BAD_REQUEST400请求错误通用请求错误
资源操作错误 (40000-49999)
错误码错误信息HTTP状态码用户提示信息使用场景
40001NOT_FOUND404资源不存在资源不存在
40002ALREADY_EXISTS409资源已存在重复创建
40003IN_USE409资源正在使用中资源被占用
40004FILE_TOO_LARGE413文件大小超出限制文件过大
40005UNSUPPORTED_TYPE415不支持的文件类型文件类型不支持
40006KB_NOT_FOUND404知识库不存在知识库不存在
40007FILE_NOT_FOUND404文件不存在文件不存在
40008USER_NOT_FOUND404用户不存在用户不存在
40009MARKDOWN_NOT_FOUND404Markdown文件不存在Markdown文件不存在
系统服务错误 (50000-59999)
错误码错误信息HTTP状态码用户提示信息使用场景
50001SERVER_ERROR500服务器内部错误未知异常
50002SERVICE_UNAVAILABLE503服务暂时不可用服务维护或过载
50003DATABASE_ERROR500数据库操作失败数据库异常
50004EXTERNAL_API_ERROR502外部服务调用失败第三方服务异常
50005TASK_QUEUE_ERROR503任务队列服务不可用任务队列异常
错误处理建议
前端错误处理策略
  • 10000-19999: 显示配额信息,引导升级
  • 20000-29999: 跳转登录页面或显示权限提示
  • 30000-39999: 高亮错误字段,提示用户修正
  • 40000-49999: 显示具体资源操作错误
  • 50000-59999: 显示通用错误页面
国际化支持
  • 使用 message 字段作为国际化键值
  • detail.user_message 提供默认英文提示
  • 前端根据语言环境选择对应错误消息
错误响应示例
配额超限错误示例
{ "code": 10001, "message": "QUOTA_KB_EXCEEDED", "detail": { "user_message": "Knowledge base count limit reached", "current_usage": { "kb_count": 1, "max_kbs": 1, "level": "standard" }, "upgrade_suggestion": "Consider upgrading to Professional plan for more quota", "upgrade_url": "/account/upgrade" } }
参数错误示例
{ "code": 30001, "message": "PARAM_INVALID", "detail": { "user_message": "Invalid parameter format", "invalid_fields": ["email"], "field_errors": { "email": "Invalid email format" } } }

📘 完整 API 文档
🔗 https://doc.bluedigit.ai/api/redoc