功能概述
对于已经处理完成的普通任务,如果发现文件类别不正确,可以使用 修改文件类别 接口修改文件类别。修改后,系统会重新使用新的类别进行数据处理。
只有普通任务支持修改文件类别。文件拆分任务和多图切分任务需要使用对应的参数进行修改。
修改文件类别后,会以新类别配置的字段自动进行重新抽取,抽取结果将会改变。
使用场景
- 分类错误修正:自动分类结果不正确,需要手动修正
- 类别调整:业务需求变更,需要将文件重新分类
API 接口
接口地址:POST /api/app-api/sip/platform/v2/file/amend_category
请求参数
| 参数名 | 类型 | 必填 | 说明 |
workspace_id | string | 是 | 空间ID |
task_id | string | 是 | 任务ID |
category | string | 是 | 新文件类别 |
参数说明
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,然后修改文件类别:
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)}")
注意事项
- 任务类型限制:只有普通任务(非拆分任务、非多图切分任务)才支持通过
category 参数修改文件类别
- 类别必须存在:指定的
category 必须在 DocFlow 空间中已经配置过,否则会返回错误
- 类别名称匹配:类别名称必须与配置时完全一致(区分大小写)
- 中文类别处理:如果使用中文类别名称,确保请求体使用 UTF-8 编码
- 修改后重新处理:修改文件类别后,系统会根据新的类别重新进行数据处理