logo
Desarrollo
Buscar
Crear campos de metadatos

Crear campos de metadatos

Permite crear campos de metadatos por lotes. Si no se especifica knowledge_base_id, se crean campos globales aplicables a todos los documentos del Agent. Si se especifica, los campos solo se crean en la base de conocimientos indicada. Tanto name como display_label deben ser únicos.

Reglas de lotes:
Se puede crear un máximo de 50 a la vez y no se procesará el lote completo si supera los 50.
Si un name se repite en la solicitud, solo se procesa el primer elemento y los duplicados posteriores fallan.
Si hay conflictos con campos existentes, solo fallan los elementos en conflicto; los demás se crean con normalidad.

Método de solicitud

POST

Endpoint

https://api-${endpoint}.gptbots.ai/v1/bot/doc/metadata/field/create

Autenticación

Para obtener información sobre la autenticación, consulte Visión general de la API.

Solicitud

Ejemplo de solicitud

curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/bot/doc/metadata/field/create' \ -H 'Authorization: Bearer ${API Key}' \ -H 'Content-Type: application/json' \ -d '{ "knowledge_base_id": "kb_001", "fields": [ { "name": "category", "display_label": "Categoría", "type": "LIST", "options": ["Técnico", "Producto"], "description": "Categoría del documento", "ai_search_filter": true } ] }'
                      
                      curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/bot/doc/metadata/field/create' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
    "knowledge_base_id": "kb_001",
    "fields": [
        {
            "name": "category",
            "display_label": "Categoría",
            "type": "LIST",
            "options": ["Técnico", "Producto"],
            "description": "Categoría del documento",
            "ai_search_filter": true
        }
    ]
}'

                    
Este bloque de código en una ventana flotante

Encabezados de solicitud

Campo Tipo Descripción
Authorization Bearer ${API Key} Autentíquese con Authorization: Bearer ${API Key}. Obtenga la API Key en la página de claves API.
Content-Type application/json Tipo de datos, establecido en application/json.

Parámetros de solicitud

Campo Tipo Obligatorio Descripción
knowledge_base_id String No Si se omite, los campos son globales y se aplican a todos los documentos del Agent; si se especifica, solo se aplican a esta base de conocimientos. La base de conocimientos debe pertenecer al Agent asociado con la API Key actual; de lo contrario, la solicitud falla con knowledge_base_id not found.
fields Array<Object> Una lista de campos para crear, hasta 50 a la vez.
name String Identificador interno del campo. Formato ^[a-z][a-z0-9_]{0,31}$ (empieza por una letra minúscula y tiene entre 1 y 32 caracteres), único.
display_label String Nombre para mostrar del campo, hasta 64 caracteres, único.
type String Tipo de campo: STRING / NUMBER / DATETIME / LIST (distingue entre mayúsculas y minúsculas).
options Array<String> No Opciones de enumeración. Es obligatorio cuando type es LIST y no puede ser un array vacío.
description String No Descripción del campo, hasta 50 caracteres.
ai_search_filter Boolean No Indica si el campo se utiliza como filtro de AI Search.

Respuesta

Ejemplo de respuesta

{ "success_count": 1, "failure_count": 2, "results": [ { "name": "category", "success": true, "id": "665f1c8a9b2e4d001a3f0001" }, { "name": "priority", "success": false, "error_message": "name or display_label already exists" }, { "name": "category", "success": false, "error_message": "duplicate name in request" } ] }
                      
                      {
    "success_count": 1,
    "failure_count": 2,
    "results": [
        {
            "name": "category",
            "success": true,
            "id": "665f1c8a9b2e4d001a3f0001"
        },
        {
            "name": "priority",
            "success": false,
            "error_message": "name or display_label already exists"
        },
        {
            "name": "category",
            "success": false,
            "error_message": "duplicate name in request"
        }
    ]
}

                    
Este bloque de código en una ventana flotante

Respuesta correcta

Campo Tipo Descripción
success_count Integer Número de campos creados correctamente.
failure_count Integer El número de campos que no se pudieron crear.
results Array<Object> Resultados campo por campo, devueltos en el orden de solicitud.
name String Nombre del campo.
success Boolean Si se creó correctamente.
id String ID de campo generado por el sistema; se devuelve al crear el campo y se utiliza para editarlo o eliminarlo.
error_message String Motivo del error: name or display_label already exists (name o display_label entran en conflicto con campos existentes) / duplicate name in request (duplicado dentro de la solicitud) / field limit exceeded (excede el límite superior del número total de campos).

Respuesta de error

Campo Tipo Descripción
code Integer Código de error.
message String Detalles del error.