当您已经知道文档的类别时,可以在文件上传时通过 category 参数指定文件类别,这样 DocFlow 会跳过自动分类过程,直接进入抽取阶段。
指定的 category 必须是已在 DocFlow 空间配置过的文件类别,否则会导致处理失败。
手动分类可以节省处理时间,特别适用于批量处理相同类型文档的场景。

使用场景

  1. 批量处理相同类型文档:如批量处理发票、合同等
  2. 已知文档类型:上传文件前已经确定文档类别
  3. 提高处理效率:跳过分类步骤,直接进入抽取阶段

上传时指定类别

在文件上传接口中添加 category 参数即可实现手动分类:
curl -X POST \
  -H "x-ti-app-id: <your-app-id>" \
  -H "x-ti-secret-code: <your-secret-code>" \
  -F "file=@/path/to/invoice.pdf" \
  "https://docflow.textin.com/api/app-api/sip/platform/v2/file/upload?workspace_id=<your-workspace-id>&category=invoice"

批量上传时指定类别

对于批量上传,可以为所有文件指定相同的类别:
curl -X POST \
  -H "x-ti-app-id: <your-app-id>" \
  -H "x-ti-secret-code: <your-secret-code>" \
  -F "file=@/path/to/invoice1.pdf" \
  -F "file=@/path/to/invoice2.pdf" \
  -F "file=@/path/to/invoice3.pdf" \
  "https://docflow.textin.com/api/app-api/sip/platform/v2/file/upload?workspace_id=<your-workspace-id>&category=invoice&batch_number=INV-2024-001"

处理流程对比

自动分类流程

上传 → 解析 → 自动分类 → 抽取 → 完成

手动分类流程

上传(指定category) → 解析 → 抽取 → 完成

注意事项

  1. 类别必须已配置:指定的 category 必须在 DocFlow 空间中已经配置过,否则会返回错误
  2. 类别名称匹配:类别名称必须与配置时完全一致(区分大小写)
  3. 处理状态:手动分类的文件在查询结果中,recognition_status 会直接跳过分类状态
  4. 错误处理:如果指定的类别不存在,文件处理会失败,建议先通过配置文件类别确保类别已正确配置

查询处理结果

手动分类的文件处理完成后,可以通过 file/fetch 接口查询结果:
curl \
  -H "x-ti-app-id: <your-app-id>" \
  -H "x-ti-secret-code: <your-secret-code>" \
  "https://docflow.textin.com/api/app-api/sip/platform/v2/file/fetch?workspace_id=<your-workspace-id>&file_id=<your-file-id>"

返回结果示例

{
  "code": 200,
  "result": {
    "files": [
      {
        "id": "202412190001",
        "name": "invoice_sample.pdf",
        "category": "invoice",
        "recognition_status": 1,
        "extract_result": {
          // 抽取结果字段
        }
      }
    ]
  }
}

中文文件类别传参

当您需要指定中文或其他非英语的文件类别时,需要对 category 参数进行 UTF-8 URL 编码。

编码示例

使用 urllib.parse.quote() 函数对中文类别名称进行 URL 编码。
# 使用编码后的中文类别
curl -X POST \
  -H "x-ti-app-id: <your-app-id>" \
  -H "x-ti-secret-code: <your-secret-code>" \
  -F "file=@/path/to/invoice.pdf" \
  "https://docflow.textin.com/api/app-api/sip/platform/v2/file/upload?workspace_id=<your-workspace-id>&category=%E5%8F%91%E7%A5%A8"