← Volver al índice de esquemas
ValidationImportJob
Envelope JSON:API del job de importación masiva de validaciones. Lifecycle de estados: pending → parsing → preview_ready → committing → completed (o failed / cancelled).
Propiedades
| Campo | Tipo | Descripción |
|---|---|---|
type | string | Tipo de recurso JSON:API (siempre `validation_import`). |
id | string | ID numérico del job como string (convención JSON:API). |
attributes | object | Atributos del job de importación. |
status | string | Estado actual en el ciclo de vida: `pending` = recibido, en cola de parseo; `parsing` = extrayendo y validando filas; `preview_ready` = parseo completado, esperando revisión del usuario; `committing` = procesando filas aprobadas contra Banxico; `completed` = todas las filas procesadas; `failed` = error irrecuperable; `cancelled` = cancelado por el usuario. |
upload_type | string | Tipo de archivo subido: `text` = archivo de texto (CSV, XLSX, TXT, JSON); `images` = ZIP con imágenes de comprobantes. |
file_format | string | Formato del archivo subido (`csv`, `xls`, `xlsx`, `txt`, `json`, `zip_text` o `zip_images`). |
parse_mode | string | Modo de parseo: `template` = columnas en orden predefinido de la plantilla; `free` = detección automática de columnas con Gemini como fallback. |
total_rows | integer | Total de filas detectadas en el archivo tras el parseo. |
valid_count | integer | Filas válidas en preview (datos completos listos para enviar a Banxico). |
correctable_count | integer | Filas corregibles en preview (uno o más campos faltantes o incorrectos que el usuario puede editar). |
fatal_count | integer | Filas fatales en preview (no procesables incluso después de editar, ej. clave de rastreo inválida). |
duplicate_count | integer | Filas duplicadas dentro del mismo lote (mismo clave_rastreo u otros campos clave repetidos). |
dispatched_count | integer | Filas despachadas al stream de validaciones tras el commit. Disponible solo en estados `committing` y `completed`. |
completed_valid_count | integer | Filas cuya validación Banxico CEP devolvió `valid`. |
completed_not_found_count | integer | Filas cuya validación Banxico CEP no encontró en sus registros. |
completed_invalid_count | integer | Filas rechazadas por Banxico por datos inválidos. |
completed_cep_unavailable_count | integer | Filas donde Banxico CEP no estaba disponible durante la validación. |
completed_error_count | integer | Filas con errores terminales no resolubles (red, captcha, preflight failure). |
skipped_count | integer | Filas omitidas del procesamiento (duplicados entre lotes o canceladas por el usuario). |
ocr_invoked | boolean | true si el OCR con Gemini fue invocado durante el parseo. Solo relevante cuando `upload_type = images`. |
ocr_input_tokens | integer | Tokens de entrada consumidos por Gemini en el OCR del lote. 0 si `ocr_invoked = false`. |
ocr_output_tokens | integer | Tokens de salida generados por Gemini en el OCR del lote. 0 si `ocr_invoked = false`. |
error_code | string | null | Código de error si el job terminó en estado `failed`. null en todos los demás estados. |
error_summary | string | null | Descripción del error si el job terminó en estado `failed`. null si el job no falló. |
created_at | string (date-time) | Timestamp ISO 8601 en UTC con sufijo `Z` explícito. Ejemplo: `"2026-05-01T05:14:38Z"`. Cada campo `*_at`, `*_end`, `*_start`, `*_date` de la API usa esta forma. El descriptor compañero en `meta.datetime` permite afirmar el contrato en tiempo de ejecución sin volver a leer este spec. El `new Date(value)` nativo del navegador, el `datetime.fromisoformat` (≥3.11) de Python y el `time.Parse(time.RFC3339)` de Go parsean este formato directamente. |
parsed_at | string | null | Marca temporal ISO 8601 en que el parseo fue completado. `null` si aún no se ha completado. |
committed_at | string | null | Marca temporal ISO 8601 en que el commit fue completado. `null` si aún no se ha realizado. |
completed_at | string | null | Marca temporal ISO 8601 en que todas las filas fueron procesadas. `null` si el job no ha completado. |
Usado en operaciones
GET /v1/validations/imports/{id}GET /v1/validations/imports/{id}/preview