跳转到主要内容

功能概述

对于已经处理完成的普通任务,如果发现文件类别不正确,可以使用 修改文件类别 接口修改文件类别。修改后,系统会重新使用新的类别进行数据处理。
只有普通任务支持修改文件类别。文件拆分任务和多图切分任务需要使用对应的参数进行修改。
修改文件类别后,会以新类别配置的字段自动进行重新抽取,抽取结果将会改变。

使用场景

  1. 分类错误修正:自动分类结果不正确,需要手动修正
  2. 类别调整:业务需求变更,需要将文件重新分类

API 接口

接口地址POST /api/app-api/sip/platform/v2/file/amend_category

请求参数

参数名类型必填说明
workspace_idstring空间ID
task_idstring任务ID
categorystring新文件类别

参数说明

  • task_id:可以通过 file/fetch 接口获取任务ID
  • category:新文件类别名称,必须是已在 DocFlow 空间配置过的文件类别

示例代码

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 '{
    "workspace_id": "1234567890",
    "task_id": "1234567890",
    "category": "电子发票(普通发票)"
  }' \
  "https://docflow.textin.com/api/app-api/sip/platform/v2/file/amend_category"

获取任务ID

在修改文件类别之前,需要先获取任务的 task_id。可以通过 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,
  "message": "success"
}

完整示例

以下是一个完整的示例,展示如何查询文件信息、获取任务ID,然后修改文件类别:
Python
import requests
import json

def get_file_info(workspace_id, file_id, app_id, secret_code):
    """获取文件信息"""
    url = "https://docflow.textin.com/api/app-api/sip/platform/v2/file/fetch"
    headers = {
        "x-ti-app-id": app_id,
        "x-ti-secret-code": secret_code
    }
    params = {"workspace_id": workspace_id, "file_id": file_id}
    response = requests.get(url, headers=headers, params=params)
    return response.json()

def amend_category(workspace_id, task_id, category, app_id, secret_code):
    """修改文件类别"""
    url = "https://docflow.textin.com/api/app-api/sip/platform/v2/file/amend_category"
    headers = {
        "x-ti-app-id": app_id,
        "x-ti-secret-code": secret_code,
        "Content-Type": "application/json"
    }
    payload = {
        "workspace_id": workspace_id,
        "task_id": task_id,
        "category": category
    }
    response = requests.post(url, headers=headers, json=payload)
    return response.json()

# 使用示例
WORKSPACE_ID = "1234567890"
FILE_ID = "202412190001"
NEW_CATEGORY = "电子发票(普通发票)"
APP_ID = "<your-app-id>"
SECRET_CODE = "<your-secret-code>"

# 1. 获取文件信息和任务ID
file_info = get_file_info(WORKSPACE_ID, FILE_ID, APP_ID, SECRET_CODE)
files = file_info.get("result", {}).get("files", [])
if files:
    file_data = files[0]
    task_id = file_data.get("task_id")
    current_category = file_data.get("category")
    
    print(f"当前文件类别: {current_category}")
    print(f"任务ID: {task_id}")
    
    # 2. 修改文件类别
    result = amend_category(WORKSPACE_ID, task_id, NEW_CATEGORY, APP_ID, SECRET_CODE)
    print(f"修改结果: {json.dumps(result, indent=2, ensure_ascii=False)}")

注意事项

  1. 任务类型限制:只有普通任务(非拆分任务、非多图切分任务)才支持通过 category 参数修改文件类别
  2. 类别必须存在:指定的 category 必须在 DocFlow 空间中已经配置过,否则会返回错误
  3. 类别名称匹配:类别名称必须与配置时完全一致(区分大小写)
  4. 中文类别处理:如果使用中文类别名称,确保请求体使用 UTF-8 编码
  5. 修改后重新处理:修改文件类别后,系统会根据新的类别重新进行数据处理