Saltar al contenido principal
Esta guía cubre cómo importar datos de transacciones desde fuentes externas a Matcher para conciliación.

Formatos soportados


Matcher acepta archivos de transacciones en tres formatos:
  • CSV: Valores separados por comas con encabezados. Más común para exportaciones bancarias.
  • JSON: Array de objetos de transacción. Mejor para integraciones de API.
  • XML: Elementos estructurados. Común para sistemas empresariales.

Requisitos de estructura de archivo


Cada archivo debe contener registros de transacciones con campos que puedan mapearse al esquema interno de Matcher.

Campos requeridos

Cada transacción debe tener estos campos (o equivalentes mapeables):
CampoTipoDescripción
transaction_idStringIdentificador único dentro de la fuente
amountDecimalMonto de la transacción (positivo o negativo)
currencyStringCódigo de moneda ISO 4217
dateDate/DateTimeFecha de la transacción

Campos opcionales

CampoTipoDescripción
referenceStringReferencia externa o descripción
counterpartyStringOtra parte en la transacción
typeStringTipo de transacción (crédito, débito, etc.)
metadataObjectCampos personalizados adicionales

Ejemplos de formato


CSV

Requisitos de CSV:
  • La primera fila debe ser encabezados de columna
  • Codificación UTF-8
  • Delimitador de coma (configurable)
  • Encerrar entre comillas los campos que contengan comas o saltos de línea
Ejemplo de código

JSON

Requisitos de JSON:
  • El elemento raíz debe ser un array
  • Nombres de campos consistentes entre objetos
  • Codificación UTF-8
Ejemplo de código

XML

Requisitos de XML:
  • XML válido con declaración
  • Elemento raíz que contenga elementos de transacción
  • Codificación UTF-8
Ejemplo de código

Subir vía API


Usa el endpoint de importación para subir archivos de transacciones.

Previsualizar antes de subir

Antes de enviar un archivo para su ingesta, puedes previsualizarlo para verificar la detección de columnas y los datos de muestra. Esto ayuda a detectar problemas de mapeo de campos de forma temprana.
cURL

Respuesta

Referencia de la API: Preview file

Subir un solo archivo

cURL
Envía el campo format antes de la parte file. Si file llega primero, el formato se infiere de la extensión del nombre de archivo (.csv/.json/.xml). La subida devuelve 202 Accepted con el trabajo creado.
Referencia de la API: Upload file

Respuesta

Verificar estado de importación

cURL
Referencia de la API: Get import status

Respuesta (Procesando)

Respuesta (Completado)

Los errores de parseo/normalización por fila no se incluyen en el trabajo. Cuando completedWithErrors es true (o el trabajo está FAILED), obtén los detalles desde GET /v1/imports/contexts/{contextId}/jobs/{jobId}/errors (limitado a 100 filas almacenadas, con conteo de totalErrors/truncated). Para un trabajo completamente FAILED, diagnosis incluye una razón segura de una sola línea.

Valores de estado del trabajo de importación

EstadoDescripción
QUEUEDTrabajo recibido, esperando un worker
PROCESSINGEl archivo está siendo analizado y normalizado
COMPLETEDImportación finalizada (verifica completedWithErrors para fallas parciales)
FAILEDImportación abortada por completo (ver diagnosis)

Validación y manejo de errores


Matcher valida los archivos subidos en múltiples etapas.

Etapas de validación

1

Validación de formato

Verifica que el archivo es CSV, JSON o XML válido con estructura correcta.
2

Validación de esquema

Comprueba que los campos requeridos están presentes y coinciden con el mapeo de campos configurado.
3

Validación de tipo de datos

Valida que los montos son decimales válidos, las fechas son parseables, las monedas son códigos ISO válidos.
4

Validación de reglas de negocio

Aplica reglas específicas del contexto como rangos de fechas, límites de monto, etc.

Errores de validación comunes

ErrorCausaSolución
INVALID_FORMATEl archivo no puede ser parseadoVerificar codificación y estructura del archivo
MISSING_REQUIRED_FIELDCampo requerido no encontradoVerificar configuración de mapeo de campos
INVALID_AMOUNTMonto no es un número válidoVerificar símbolos de moneda o comas en números
INVALID_DATEFecha no puede ser parseadaUsar formato ISO 8601 (YYYY-MM-DD)
UNKNOWN_CURRENCYCódigo de moneda no reconocidoUsar códigos ISO 4217 (USD, EUR, BRL)
DATE_OUT_OF_RANGEFecha antes/después del rango permitidoVerificar límites de fecha del contexto

Manejo de errores

Por defecto, las filas válidas se importan aunque algunas filas tengan errores. Configura el comportamiento de manejo de errores a través de la configuración del contexto o maneja los errores después de completar la importación revisando la respuesta del estado del trabajo.

Detección de duplicados


Matcher detecta y maneja automáticamente transacciones duplicadas para prevenir doble conteo.

Cómo se detectan los duplicados

Los duplicados se identifican por la clave de deduplicación de la fila dentro de una fuente:
  • source_id
  • external_id (el identificador de transacción del sistema fuente)
Si una fila repite esa clave —dentro de la misma subida o contra datos ya persistidos— se trata como duplicado.

Opciones de manejo de duplicados

Establece la clave duplicate_policy en el config de la fuente para controlar el manejo:
PolíticaComportamiento
KEEP_FIRST (por defecto)Conserva la primera ocurrencia y descarta silenciosamente las repeticiones, contadas en droppedDuplicateRows
REJECTConvierte cada fila repetida en un error de fila de ingesta, contado en failedRows
FLAG_AS_EXCEPTIONDescarta la repetición y genera una excepción DUPLICATE_TRANSACTION en la transacción sobreviviente (subconjunto reportado como flaggedDuplicateRows)
Cuando la clave está ausente, se aplica KEEP_FIRST.

Ver detalles de duplicados

El resumen de importación muestra cuántos duplicados se encontraron:

Cargas por lotes


Para trabajos de conciliación grandes, puedes subir múltiples archivos en secuencia.

Subir múltiples archivos

Esperar todas las importaciones

Antes de ejecutar la conciliación, asegúrate de que todas las importaciones estén completas:

Buscar transacciones subidas


Después de importar archivos, puedes buscar entre todas las transacciones de un contexto para verificar la calidad de los datos o investigar registros específicos.
cURL

Respuesta

Referencia de la API: Search transactions
Los filtros soportados incluyen amount_min, amount_max, date_from, date_to, currency, source_id, status y búsqueda de texto libre mediante el parámetro q.

Mejores prácticas


Verifica formato y codificación del archivo localmente antes de subir. Esto detecta errores obvios más rápido.
Estandariza en formato ISO 8601 (YYYY-MM-DD o YYYY-MM-DDTHH:MM:SSZ) en todas las fuentes para evitar problemas de parseo.
Siempre incluye IDs de transacción únicos del sistema fuente. Esto permite detección adecuada de duplicados y trazabilidad de auditoría.
Decide una convención (negativo para débitos, positivo para créditos) y aplícala consistentemente. Documenta esto en tu mapeo de campos.
Para archivos muy grandes (>50MB), considera dividirlos en partes más pequeñas por rango de fechas. Esto mejora la confiabilidad y permite reintentos parciales.
Para conciliación recurrente, automatiza las subidas de archivos usando trabajos programados o webhooks desde sistemas fuente.

Próximos pasos


Revisar conciliaciones

Aprende a interpretar resultados de conciliación y puntajes de confianza.

Mapeo de campos

Configura cómo los campos de origen se mapean al esquema de Matcher.