Changelog
Cambios visibles para integradores de la OCR Platform API. Formato basado en Keep a Changelog, versionado SemVer.
[1.5.3] - 2026-10-15
Agregado
- Guía MCP: configuración paso a paso para Claude Code (con alcances), Claude Desktop y claude.ai, Cursor, VS Code, Windsurf y clientes que solo aceptan servidores locales, con una comprobación por cliente.
- Guía MCP: prueba de conexión con cURL, prueba de punta a punta desde el asistente y tabla de problemas comunes.
- Acceso directo a la guía MCP desde el menú principal de
/docs.
[1.5.1] - 2026-09-29
Agregado
- Documentación de los códigos
failure.codede documentos y extracciones, incluidosextraction_queue_timeoutyextraction_processing_timeout. - Documentación de los errores
429 rate_limit_exceeded,413,415y los404/409de resultados y cancelación, y del límite de 120 peticiones por minuto por API Key. - Documentación de los estados
expiredypurged, los campos de respuesta de documentos y extracciones, los filtros y paginación de los listados, y los campos opcionales, tipos y límites dePOST /v1/documents. - Guía descargable para IA: secciones de MCP y consumo, header
X-Webhook-Event, verificación de firma y versión de la guía. - Ejemplos cURL de listados, cancelación y consumo.
Corregido
- Documentación: un documento solo se puede extraer con la misma API Key que lo creó, no con otra key del mismo proyecto.
- Documentación: un replay con la misma
Idempotency-Keyresponde200conmeta.idempotent_replay: true. - Documentación:
formates obligatorio enGET /v1/documents/{id}/result, ydocument_not_extractableno aplica a documentos en proceso. - Webhooks (documentación): el resultado se consulta en los endpoints
/result, son 5 intentos en total (envío + 4 reintentos) y/webhook-testsolo registra en un log interno. GET /v1/usage(documentación):estimated_costsuma reintentos y extracciones fallidas de todos los ambientes del proyecto, ytopor defecto es el momento de la consulta.- Portada de
/docs: el ejemplo cURL usabaAuthorization: Bearery omitía campos obligatorios. - Ejemplo de errores con Guzzle: el cuerpo trae
error.codeyerror.message. - Colección Postman: agrega el scope
usage:ready la variableresult_format, y quita el formatohtml.
[1.5.0] - 2026-09-29
Cambiado
GET /v1/usage:estimated_costusa el precio acordado para tu proyecto cuando existe y, si no, el de cualquier modelo dado de alta en la plataforma; antes solo una lista fija de modelos reportaba costo y el resto quedaba en cero. Los consumos ya registrados no cambian.
Corregido
- Un corte de red o timeout momentáneo con el motor OCR ya no deja el documento en
failed: el envío y la consulta de estado se reintentan automáticamente. - Una extracción que falla por un error inesperado ahora pasa de inmediato a
failedconfailure.codeextraction_unexpected_errory disparaextraction.failed; antes quedaba enprocessinghasta expirar por tiempo.
Seguridad
- Las URLs de webhook que apuntan a una IPv6 privada o local (ej.
http://[::1]/) ahora se rechazan y no reciben entregas. No requiere acción si tu webhook usa un dominio público.
[1.4.0] - 2026-09-14
Agregado
POST /v1/extractions:response_schemaacepta la keyworddescription(texto) en cualquier campo para dar instrucciones por campo al modelo.GET /v1/extractions/{id}: cuandofailure.codeesschema_validation_failed,failure.validation_errorslista los errores del último intento (ej.$.total: is required.).- Servidor MCP público en
/mcppara asistentes de IA (Claude Code, Cursor, VS Code): validacustom_instructionyresponse_schemacon las reglas de la API, entrega plantillas por tipo de documento y expone la guía de integración. No requiere API Key ni procesa documentos. - Sección "MCP para asistentes de IA" en la guía de integración, con la configuración por cliente.
- Sección "Guía de prompts y schemas": qué agrega la plataforma al prompt, keywords soportadas, límites, plantillas por tipo de documento (CFDI, INE, CSF, comprobante de domicilio) y cómo corregir cada error.
Corregido
- Una lista vacía (
[]) en la respuesta del modelo ahora cumple un campo"type": "array"; antes terminaba envalidation_failed. - Documentación y guía descargable para IA: los ejemplos de
response_schemausaban un formato abreviado ("total": "number|null") que la API rechaza con422; ahora son JSON Schema válido. - Documentación: el JSON extraído está en
data.resultdeGET /v1/extractions/{id}/result(no envalidated_data).
[1.3.0] - 2026-08-17
Cambiado
POST /v1/extractions: si omitesinput_result_type, ahora se elige el primer formato que el documento realmente generó (ordenmarkdown→text→json) en vez de asumirmarkdown. Antes, un documento sin markdown devolvía409 document_not_extractableaunque tuvierajsonotextdisponibles. Si envíasinput_result_typeexplícito, el comportamiento no cambia.
[1.2.0] - 2026-07-02
Agregado
- Webhooks salientes por ambiente: recibe un
POSTfirmado cuando un documento o extracción llega a estado final. Eventos:document.completed,document.partial_success,document.failed,extraction.completed,extraction.failed,extraction.validation_failed. - Firma HMAC-SHA256 en cada entrega (header
X-Signature) y headerX-Webhook-Event; reintentos automáticos (hasta 5, backoff 30s–1h) y deduplicación pordelivery_id. - Receptor de prueba
POST /webhook-testpara validar la integración de webhooks sin servidor propio. - Sección "Webhooks" en la guía de integración, con ejemplo de verificación de firma.
Seguridad
- Endurecimiento interno del almacenamiento de API Keys. No requiere acción: las keys existentes siguen funcionando sin cambios.
[1.1.0] - 2026-06-30
Agregado
- Sección "Consumo / Uso" en la guía de integración: cómo consultar tokens, costo estimado y volumen OCR.
- Colección Postman actualizada con el endpoint de consumo.
Cambiado
- Guía de integración: prerrequisitos, autenticación y referencia de endpoints actualizados con el scope
usage:read.
[1.0.0] - 2026-06-26
Primera versión etiquetada de la API v1.
Agregado
- Endpoint
GET /v1/usage: consumo por proyecto (tokens, costo estimado de extracción y volumen OCR) con filtrosfrom/to. Requiere scopeusage:read. - Configuración de proveedor y modelo LLM por proyecto: las extracciones usan la configuración específica del proyecto cuando existe.
- Base de la plataforma: subida de documentos OCR, consulta de estado y resultados, extracciones estructuradas con LLM validadas contra schema, autenticación por API Key con scopes e idempotencia.