Saltar al contenido principal
Esta guía cubre dos workflows del operador que terminan en un artefacto descargable o resuelto. Con los trabajos de exportación, pones un informe en cola, consultas su estado hasta que se complete y descargas el archivo. Con las disputas, abres una disputa contra una excepción, adjuntas evidencia y luego la cierras como ganada o perdida. Matcher limita los trabajos de exportación y las disputas a tu tenant.

Trabajos de exportación


Las exportaciones son asíncronas. Creas un trabajo delimitado a un contexto, consultas su estado por ID y descargas el archivo una vez que alcanza SUCCEEDED. Los estados son QUEUED, RUNNING, SUCCEEDED, FAILED, EXPIRED y CANCELED.

Crea un trabajo de exportación

POST a la colección export-jobs del contexto. Responde 202 Accepted con el ID del trabajo y una URL de consulta.
  • reportType: uno de MATCHED, UNMATCHED, VARIANCE, EXCEPTIONS (los alias MATCHES y UNMATCHED_TRANSACTIONS se normalizan a estos valores).
  • format: CSV, JSON o XML, en mayúsculas.
  • dateFrom / dateTo: YYYY-MM-DD opcional. dateFrom toma por defecto 30 días antes de dateTo, y dateTo toma por defecto mañana (UTC).
  • sourceId: filtro de fuente opcional.
Los trabajos de exportación asíncronos no admiten SUMMARY (400) ni PDF (422). La ventana de fechas abarca como máximo 365 días, y una ventana más larga devuelve 400. La creación del trabajo devuelve 503 cuando las exportaciones asíncronas no están habilitadas para tu entorno.

Consulta el estado del trabajo

Lee la ruta de nivel superior del trabajo (el statusUrl de la creación).
contextId indica el contexto que exporta el trabajo. error lleva el último motivo de falla del trabajo, cuando tiene uno. downloadUrl es la ruta de descarga de abajo, y aparece solo una vez que el trabajo alcanzó SUCCEEDED y el archivo sigue disponible. Puedes listar los trabajos de un contexto con GET /v1/contexts/{contextId}/export-jobs, listar todos los trabajos con GET /v1/export-jobs, y cancelar un trabajo en cola o en ejecución con POST /v1/export-jobs/{jobId}/cancel.

Descarga el archivo

Devuelve una URL prefirmada, el nombre del archivo original, una suma de verificación SHA-256 y el tiempo de vida restante de la URL en segundos.
Los archivos de exportación se purgan después de expiresAt, 7 días después de la creación del trabajo. Después de eso, el archivo ya no se puede descargar. Vuelve a ejecutar la exportación para regenerarlo.

Disputas


Abres una disputa contra una excepción específica cuando necesitas impugnar una discrepancia de conciliación. Una disputa nueva está en OPEN. Cerrarla establece WON o LOST, y ambos resultados son terminales.

Abre una disputa

POST a la colección de disputas de la excepción. Responde 201 Created.
category es uno de BANK_FEE_ERROR, UNRECOGNIZED_CHARGE, DUPLICATE_TRANSACTION, AMOUNT_MISMATCH o OTHER. La respuesta omite evidence hasta que la disputa tenga alguna. El campo openedBy registra el principal que la abrió. Matcher se niega a abrir una disputa con 409 (MTCH-0511) cuando la excepción está en RESOLVED o PENDING_RESOLUTION. Responde 409 (MTCH-0510) mientras hay una liquidación en curso sobre la excepción. Repite esa solicitud cuando la liquidación termine.

Envía evidencia por URL

Adjunta una referencia a un archivo de evidencia ya alojado, junto con un comentario descriptivo. fileUrl debe ser una URL https.

Sube un archivo de evidencia

Transmite los bytes del archivo sin procesar directamente al almacenamiento de objetos delimitado por tenant. El comentario viaja como parámetro de consulta y el archivo como cuerpo de la solicitud. Responde 201 Created con la disputa actualizada. Los tipos de contenido permitidos son application/pdf, image/png, image/jpeg y text/csv. El cuerpo tiene un límite de 10 MiB.
El arreglo evidence de la disputa lista cada elemento de evidencia almacenado. Para un archivo cargado, fileUrl guarda la clave del almacenamiento de objetos, no una URL de descarga:
El endpoint de carga devuelve 503 cuando el almacenamiento de evidencias no está disponible. Rechaza los cuerpos con exceso de tamaño con 413 y los tipos de contenido fuera de la lista permitida con 415.

Cierra una disputa

Registra el resultado. won: true establece el estado en WON y won: false lo establece en LOST. Una nota resolution es obligatoria.
Puedes listar disputas con GET /v1/disputes y obtener una con GET /v1/disputes/{disputeId}. El endpoint de listado filtra por state, category y rango de fechas, y admite ordenamiento y paginación por cursor.

Códigos de respuesta