> ## Documentation Index
> Fetch the complete documentation index at: https://docs-claimagent.textin.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 设置字段配置

> 设置字段配置。批量设置一个或多个分类下抽取字段的启用/禁用状态。
配置按调用方维度持久化存储，后续该调用方的抽取请求自动遵循。

行为说明：
- 只设置明确传入的字段，未提及的字段保持现有配置不变
- 不存在的分类名或字段名静默忽略（不报错）
- 幂等：重复调用相同请求结果一致



## OpenAPI

````yaml POST /doc-agent/api/v1/capability/field-config/set
openapi: 3.0.3
info:
  description: |-
    CapabilityService 独立子能力服务
     提供文件上传、图像质检、材料分类、材料抽取等独立能力，不依赖案件流程。
     通过 batch_id 和 material_id 串联各能力调用。

     ## 典型调用流程
     1. 上传文件 → UploadFiles，获得 batch_id 和 material_id 列表
     2. (可选)图像质检 → CheckImageQuality，可独立调用，也可用上传返回的 material_id
     3. (可选)材料分类 → ClassifyMaterial，可独立调用，也可用上传返回的 material_id
     4. 材料抽取 → ExtractMaterial，传入 material_id 列表，返回每个材料的状态和结果
     5. 轮询 → 重复调用 ExtractMaterial 直到所有材料完成，或等待 callback_url 回调
     注: 质检和分类可独立调用，不依赖抽取流程；抽取接口的 material_ids 必须来自上传接口。
     注: ExtractMaterial 幂等，已完成的材料不会重新抽取，失败的材料会自动重试。

     ## 错误响应
     所有接口错误均返回 HTTP 非 200 状态码，body 格式: {"code": 400, "msg": "错误描述"}
     常见错误码:
       400 — 参数校验失败(缺少必填字段、文件数超限等)
       403 — 认证失败(x-ti-app-id 或 x-ti-secret-code 缺失/无效)
       404 — 资源不存在(material_id / batch_id 无效)
       500 — 内部处理异常

     错误响应示例:
       {"code": 404, "msg": "material not found"}
       {"code": 404, "msg": "batch not found"}
       {"code": 400, "msg": "material_ids or batch_id is required"}
       {"code": 400, "msg": "material does not belong to the specified batch"}
       {"code": 400, "msg": "files or file_urls is required"}
       {"code": 400, "msg": "所有材料必须属于同一批次"}
       {"code": 403, "msg": "x-api-key 或 x-ti-app-id/x-ti-secret-code 不能为空"}
  title: CapabilityService API
  version: 0.0.1
servers:
  - url: https://agents.textin.com/
security: []
tags:
  - name: CapabilityService
paths:
  /doc-agent/api/v1/capability/field-config/set:
    post:
      tags:
        - CapabilityService
      description: |-
        设置字段配置。批量设置一个或多个分类下抽取字段的启用/禁用状态。
        配置按调用方维度持久化存储，后续该调用方的抽取请求自动遵循。

        行为说明：
        - 只设置明确传入的字段，未提及的字段保持现有配置不变
        - 不存在的分类名或字段名静默忽略（不报错）
        - 幂等：重复调用相同请求结果一致
      operationId: CapabilityService_SetFieldConfig
      parameters:
        - in: header
          name: x-ti-app-id
          required: true
          schema:
            type: string
        - in: header
          name: x-ti-secret-code
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              classifications:
                - classification_name: 医疗门诊收费票据（电子）
                  fields:
                    - enabled: true
                      field_name: 票据代码
                    - enabled: false
                      field_name: 开票日期
                - classification_name: 住院费用明细清单
                  fields:
                    - enabled: true
                      field_name: 姓名
                    - enabled: false
                      field_name: 住院天数
            schema:
              $ref: '#/components/schemas/capability.v1.SetFieldConfigRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              example:
                code: 200
                data: {}
                message: OK
              schema:
                properties:
                  code:
                    description: 业务状态码
                    example: 200
                    type: integer
                  data:
                    $ref: '#/components/schemas/capability.v1.SetFieldConfigResponse'
                  message:
                    description: 状态说明
                    example: OK
                    type: string
                type: object
          description: OK
components:
  schemas:
    capability.v1.SetFieldConfigRequest:
      properties:
        classifications:
          description: |-
            分类字段配置列表（支持同时设置多个分类）
             fields 控制独立字段，tables 控制表格及其列字段
          example:
            - classification_name: 医疗门诊收费票据（电子）
              fields:
                - enabled: false
                  field_name: 票据代码
              tables:
                - enabled: true
                  fields:
                    - enabled: false
                      field_name: 项目名称
                  table_name: 费用明细
          items:
            $ref: '#/components/schemas/capability.v1.ClassificationFieldConfig'
          type: array
      type: object
    capability.v1.SetFieldConfigResponse:
      type: object
    capability.v1.ClassificationFieldConfig:
      description: 单个分类的字段配置
      properties:
        classification_name:
          description: 分类名称（小类名称，如"医疗门诊收费票据（电子）"）
          example: '"医疗门诊收费票据（电子）"'
          type: string
        fields:
          description: 该分类下的独立字段启用/禁用配置
          items:
            $ref: '#/components/schemas/capability.v1.FieldEnabledConfig'
          type: array
        tables:
          description: 该分类下的表格配置（每个表格含自身开关及其列字段开关）
          items:
            $ref: '#/components/schemas/capability.v1.TableFieldConfig'
          type: array
      type: object
    capability.v1.FieldEnabledConfig:
      description: 单个字段的启用/禁用配置
      properties:
        enabled:
          description: 是否启用
          example: true
          type: boolean
        field_name:
          description: 字段名称
          example: '"票据代码"'
          type: string
      type: object
    capability.v1.TableFieldConfig:
      description: 单个表格的配置（含表格整体开关及其列字段）
      properties:
        enabled:
          description: 表格整体启用/禁用
          type: boolean
        fields:
          description: 表格内列字段的启用/禁用配置
          items:
            $ref: '#/components/schemas/capability.v1.FieldEnabledConfig'
          type: array
        table_name:
          description: 表格名称
          example: '"费用明细"'
          type: string
      type: object

````