API Modo agente

Endpoints Modo agente

Extracción estructurada más razonamiento semántico con parámetros agent_definition.

Excel-to-JSON · Modo agente

Excel / CSV a JSON con Modo agente

Endpoint

POSThttps://www.claix.dev/agent/excel-json

Modo agente activo

Este endpoint ejecuta primero la extracción estructurada del schema principal y después una fase de razonamiento con agent_definition. La respuesta incluye data[] (extracción) y agent_data (inferencia tipada). El schema debe tener is_agent_mode activado.

Este endpoint recibe un archivo tabular (.xlsx o .csv) y lo devuelve transformado en JSON con la estructura exacta que definas mediante un schema. No necesitas que las columnas del archivo coincidan literalmente con los nombres del schema: el sistema reconoce sinónimos, abreviaturas, traducciones y variantes de forma automática.

Está pensado para integraciones server-to-server (backends, scripts, n8n/Zapier/Make). No debe llamarse desde el navegador de un usuario final porque requiere una API key secreta.

1. Autenticación

Toda petición debe incluir tu API key. Es una credencial de servidor personal, distinta de cualquier token de sesión, y debe tratarse con el mismo cuidado que una contraseña de base de datos.

Opción A — Header dedicado (recomendado):

x-api-key: <TU_API_KEY>

Opción B — Header estándar Authorization:

Authorization: Bearer <TU_API_KEY>

Con uno de los dos es suficiente. Si envías ambos, x-api-key tiene prioridad.

Antes de procesar el archivo, el sistema valida que:

  • La API key exista y esté activa.
  • La cuenta asociada esté activa (no suspendida).

Si falla, se rechaza con 401 sin procesar el archivo.

2. Formato de la petición

CampoTipoObligatorioDescripción
fileArchivo binarioExcel (.xlsx) o CSV (.csv). Debe ser el archivo en sí, no una ruta ni URL.
schema_idTexto (UUID)Identificador del schema de tipo excel-json creado en tu cuenta.

Método: POST · Content-Type: multipart/form-data

Los nombres de campo deben ser exactamente file y schema_id. El schema debe ser del tipo Excel → JSON; si envías uno del tipo contrario, recibirás 400.

Requisitos del archivo:

  • Formatos: .xlsx, .csv.
  • Al menos una fila de encabezados y una de datos.
  • Si hay varias hojas, se procesa solo la primera.

3. Cómo construir la llamada

  1. Ten a mano tu API key y el schema_id correcto.
  2. Construye un POST a la URL del endpoint.
  3. Añade el header de autenticación.
  4. Envía multipart/form-data con file y schema_id.
  5. Comprueba el código HTTP: solo 200 indica éxito.

4. Ejemplos de llamada

Consulta el panel de la derecha para ver ejemplos en cURL, JavaScript, Node.js, Python, PHP y n8n. Puedes cambiar el lenguaje con el selector superior y copiar el código directamente.

5. Formato de la respuesta exitosa

200 OK · Content-Type: application/json

{
  "success": true,
  "schema_utilizado": "Inventario Q3",
  "total_registros": 2,
  "data": [
    { "sku": "SKU-001", "stock": 120, "precio": 19.99 },
    { "sku": "SKU-002", "stock": 45, "precio": 34.5 }
  ],
  "agent_data": {
    "stock_critico": true,
    "productos_bajo_minimo": 1,
    "resumen_inventario": "Un producto por debajo del umbral mínimo de stock."
  }
}
CampoTipoDescripción
successbooleanSiempre true cuando el HTTP es 200.
schema_utilizadostringNombre del schema aplicado en la extracción.
total_registrosnumberNúmero de registros en data.
dataarrayObjetos extraídos según el schema principal (igual que en extracción).
agent_dataobjectRespuestas tipadas del Modo Agente según agent_definition (booleanos, números, strings).

6. Códigos de error

{
  "error": "Descripción legible del problema.",
  "detalle": "Información técnica adicional (solo presente en algunos casos)."
}

400 — Petición inválida: falta file o schema_id, multipart incorrecto, archivo corrupto, sin filas de datos, o schema de tipo incorrecto.

401 — Autenticación fallida: key ausente, inexistente, desactivada o cuenta suspendida.

404 — schema_id inexistente o no pertenece a tu cuenta.

422 — Archivo leído pero sin correspondencias con el schema.

502 — Fallo del servicio de IA (transitorio; reintenta con backoff).

405 — Método distinto de POST. · 500 — Error interno.

7. Resumen de códigos

CódigoCategoría¿Reintentar?
200Éxito
400Error del cliente (datos mal formados)No, corrige la petición primero
401Error de autenticaciónNo, corrige las credenciales primero
404Recurso no encontradoNo, corrige el schema_id primero
405Método HTTP incorrectoNo, corrige el método primero
422Sin correspondencias encontradasNo, revisa los datos/schema primero
500Error interno del servidorSí, con precaución
502Fallo del servicio de IASí, recomendado con backoff

8. Buenas prácticas

  • Valida el código HTTP antes de leer data.
  • Solo aparecen columnas con correspondencia real en el schema.
  • Reintenta automáticamente solo en 500 y 502, nunca en 4xx salvo cambios en la petición.
  • Guarda mapa_columnas para trazabilidad durante pruebas.
  • No incluyas tu API key en frontend ni repositorios públicos.

Ejemplos de petición

curl -X POST "https://www.claix.dev/agent/excel-json" \
  -H "x-api-key: <TU_API_KEY>" \
  -F "file=@./leads_octubre.xlsx" \
  -F "schema_id=8f14e45f-ceea-4e6f-8b23-1e2d3c4b5a6f"