跳转到主要内容
本文演示如何通过 REST API 使用文件URL上传文档到 DocFlow。
相比直接上传文件,URL上传方式更适合处理远程文件或批量处理场景。
DocFlow 支持通过文件URL的方式上传文档,无需本地存储文件即可进行文档处理。该方式特别适用于:
  • 处理远程服务器上的文件
  • 批量处理多个文件URL
  • 减少本地存储和网络传输开销

01 单个文件URL上传

通过 application/json 格式提交文件URL列表:
curl -X POST \
  -H "x-ti-app-id: <your-app-id>" \
  -H "x-ti-secret-code: <your-secret-code>" \
  -H "Content-Type: application/json" \
  -d '{
    "urls": ["https://example.com/document.pdf"]
  }' \
  "https://docflow.textin.com/api/app-api/sip/platform/v2/file/upload?workspace_id=<your-workspace-id>"

02 批量URL上传

一次请求可以上传多个文件URL,最多支持10个文件
curl -X POST \
  -H "x-ti-app-id: <your-app-id>" \
  -H "x-ti-secret-code: <your-secret-code>" \
  -H "Content-Type: application/json" \
  -d '{
    "urls": [
      "https://example.com/invoice1.pdf",
      "https://example.com/invoice2.pdf",
      "https://example.com/contract.docx"
    ]
  }' \
  "https://docflow.textin.com/api/app-api/sip/platform/v2/file/upload?workspace_id=<your-workspace-id>&batch_number=202412190001"

03 参数说明

必填参数

请求体参数

  • urls: 文件URL列表
    • 类型:字符串数组
    • 限制:一次最多10个URL
    • 格式:必须是 http://https:// 开头的有效URL
    • 文件大小:每个文件最大不超过50MB

选填参数

可在 URL 查询参数中按需添加:
  • category: 文件类别(例如:invoice)
  • batch_number: 批次编号,未提供时系统自动生成
  • auto_verify_vat: 是否开启发票验真,默认 false
  • split_flag: 是否进行文件拆分,默认 false(详见文件拆分章节)
  • crop_flag: 是否进行多图切分,默认 false(详见多图切分章节)
  • target_process: 目标处理类型,可选 classifyextract

04 URL要求

支持的URL格式

  • 必须以 http://https:// 开头
  • URL必须可公开访问(无需认证)
  • 服务器必须支持HTTP GET请求

文件要求

  • 文件格式:支持文件格式支持中列出的所有格式
  • 文件大小:单个文件不超过50MB
  • 文件页数:多页文档不超过1000页

示例URL

# 有效的URL示例
https://example.com/document.pdf
https://cdn.example.com/files/invoice.pdf
http://192.168.1.100/shared/contract.docx

# 无效的URL示例
ftp://example.com/file.pdf          # 不支持FTP协议
file:///local/path/document.pdf      # 不支持本地文件路径
https://example.com/protected.pdf   # 需要认证的URL

05 响应格式

URL上传成功后的响应格式与普通文件上传相同:
{
   "code": 200,
   "msg": "成功",
   "result": {
      "batch_number": "202412190001",
      "files": [
         {
            "id": "1955840505753140508",
            "name": "document.pdf",
            "format": "pdf"
         },
         {
            "id": "1955840505753140509", 
            "name": "invoice.pdf",
            "format": "pdf"
         }
      ]
   }
}

06 查询处理结果

上传完成后,使用返回的 batch_number 查询处理结果:
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>&batch_number=<your-batch-number>"