Qué resuelve Discovery
Las subidas manuales de archivos crean fricción en cada paso. Los equipos exportan archivos, los transfieren, vigilan las fallas y vuelven a subirlos cuando algo sale mal. Este proceso toma mucho tiempo, es propenso a errores y se rompe cuando el volumen de datos crece. Discovery reemplaza el pipeline manual. Se conecta a sistemas externos mediante el motor de extracción, detecta las fuentes de datos disponibles de forma automática y trae transacciones a Matcher bajo demanda. Cuando aparece una nueva fuente de datos (una nueva conexión bancaria, un nuevo procesador de pago), Discovery la encuentra sin reconfiguración.
Cómo funciona Discovery
Discovery se ejecuta dentro de Matcher. No hay un servicio de extracción aparte que desplegar. El motor integrado administra las conexiones a bases de datos externas y ejecuta las extracciones de forma local. Discovery expone esas conexiones y coordina el proceso de extracción, y entrega los resultados directamente a Ingestion. El workflow tiene siete pasos:
- Verificar el estado: confirma que Discovery y su motor integrado están disponibles.
- Explorar las conexiones: ve todas las fuentes de datos a las que el motor integrado tiene acceso.
- Inspeccionar una conexión: revisa el esquema para entender qué campos están disponibles.
- Probar una conexión: valida la conexión antes de comprometerte con una extracción.
- Crear una extracción: pide que Matcher traiga datos de una fuente específica.
- Monitorear el progreso: sigue el estado de la extracción mientras los datos llegan.
- Actualizar las conexiones: vuelve a escanear cuando aparecen nuevas fuentes de datos.
Workflow de Discovery
Verificar el estado de Discovery
Antes de empezar, verifica que Discovery y el motor de extracción integrado están operativos.Explorar las conexiones
Lista todas las fuentes de datos disponibles mediante el motor de extracción integrado.Obtener una conexión
Recupera una única conexión descubierta por su identificador interno:GET /v1/discovery/connections/{connectionId} devuelve el ConnectionResponse completo (nombre, tipo, estado y metadatos) de una conexión. Úsalo cuando ya tienes un connectionId, por ejemplo del canal de consulta de una vinculación de fuente. Da los detalles actuales sin una lista de todas las conexiones.
Inspeccionar una conexión
Antes de extraer, revisa el esquema de una conexión específica para entender qué campos de datos están disponibles.Probar una conexión
Valida que Matcher puede alcanzar una conexión y leer de ella antes de crear una extracción.Crear una extracción
Pide que Matcher traiga datos de transacciones desde una conexión específica al contexto actual.Monitorear el progreso de la extracción
Sigue el estado de una extracción activa consultándolo de forma periódica conGET.
PENDING → SUBMITTED → EXTRACTING → COMPLETE (o FAILED/CANCELLED). La respuesta lleva el status de la extracción, un errorMessage cuando falló y el ingestionJobId vinculado una vez que la extracción enlaza con la ingesta.
Actualizar las conexiones disponibles
Cuando registras una nueva fuente de datos en el motor integrado, dispara una actualización para que Discovery la detecte.Listar los tipos de conector
Lista los tipos de conector (datasource) que el registro del motor tiene registrados para este despliegue. Cada entrada lleva unacategory derivada del backend (database o rest). El registro es en vivo. Solo aparecen los conectores registrados en el arranque. Esta lista excluye los proveedores de agregadores (Pluggy/Belvo). Aprovisiona esos mediante la superficie de conexiones con agregadores de abajo.
Respuesta
Conexiones con agregadores (Open Finance)
Las conexiones con agregadores de datos de Open Finance (Pluggy o Belvo) permiten que Matcher traiga transacciones desde agregadores bancarios. El material de credenciales (
clientId/secret) se sella al escribir y nunca se devuelve. Cada lectura está libre de secretos por construcción.
Crear una conexión con un agregador
vendor, configName, baseUrl, clientId y secret. El campo accountRef es opcional. Omítelo para crear una conexión a la espera del consentimiento del cliente final en el flujo alojado por el proveedor. Después vincula con PUT el id de item o de link devuelto.
El campo vendor es pluggy o belvo. El campo configName es el nombre con alcance de tenant al que se vincula el endpoint que genera tokens de webhook. Una creación exitosa devuelve 201 con una conexión libre de secretos.
Respuesta
Listar, obtener, actualizar y eliminar
Probar una conexión con un agregador
Ejecuta una verificación de conectividad en vivo contra la credencial ya sellada de una conexión existente y vinculada, identificada porconfigName. Matcher lee el proveedor de la conexión almacenada. Esta llamada no toma ninguna credencial ni devuelve ninguna.
Las credenciales almacenadas inválidas dan un resultado de prueba esperado: 200 con "healthy": false, no un error. Una conexión ausente, una conexión sin vincular o un proveedor existente sin ruta de prueba de conectividad (hoy Belvo) se expone mediante la respuesta de error estándar. No se ejecuta ninguna prueba. Usa el campo testable de la respuesta de la lista antes de ofrecer la acción.
Respuesta
Tokens de webhook de agregadores
Los agregadores envían señales de cambio de datos a Matcher mediante webhooks. Genera un token opaco vinculado a una conexión de agregador y después configura la URL devuelta en el dashboard del proveedor.
Generar un token de webhook
Matcher devuelve el token en crudo y su URL expuesta al proveedor exactamente una vez. Matcher almacena solo el hash SHA-256 del token.Respuesta
Recibir webhooks
El proveedor llama aPOST /v1/discovery/webhooks/{provider}/{webhookToken} (sin JWT de operador). Dos capas lo autentican: el token opaco de la ruta más una verificación de origen por proveedor. Esa verificación es un HMAC-SHA256 válido del cuerpo en crudo en el header X-Webhook-Signature, o la pertenencia a la lista de IP de origen permitidas del proveedor. Ambas capas fallan de forma cerrada.
Una primera entrega válida devuelve 202 Accepted. Después Matcher trae los datos señalados de forma asíncrona al pipeline de ingesta. La repetición de un evento ya procesado devuelve 200 OK.
Mejores prácticas
Prueba siempre las conexiones antes de extraer
Prueba siempre las conexiones antes de extraer
Recuperarse de una extracción que falla a mitad de ejecución es más difícil que de una prueba fallida. Prueba cada conexión antes de crear una extracción, sobre todo al conectarte a una fuente nueva o después de rotar una credencial.
Inspecciona los esquemas antes de mapear campos
Inspecciona los esquemas antes de mapear campos
Los nombres de campo varían entre sistemas. Un banco puede llamar
value_date a la fecha de la transacción mientras tu ledger usa posting_date. Revisa el esquema antes de configurar los mapeos de campos para evitar discrepancias silenciosas.Monitorea activamente las extracciones de grandes conjuntos de datos
Monitorea activamente las extracciones de grandes conjuntos de datos
Las extracciones grandes toman tiempo. No supongas que terminaron. Consulta el estado de la extracción de forma periódica y confirma el conteo de registros antes de empezar una ejecución de coincidencia. Empezar una ejecución sobre datos incompletos genera excepciones incorrectas.
Actualiza las conexiones cuando cambian las fuentes
Actualiza las conexiones cuando cambian las fuentes
Discovery no busca conexiones nuevas de forma automática. Cuando agregas un nuevo procesador de pago, o registras una nueva base de datos en el motor integrado, dispara una actualización. Si no, Discovery no mostrará la fuente nueva.
Acota las extracciones al período de conciliación
Acota las extracciones al período de conciliación
Usa los parámetros de rango de fechas para extraer solo los datos relevantes del período de conciliación actual. Extraer datos sin límite aumenta el tiempo de procesamiento y puede traer registros que pertenecen a contextos ya cerrados.
Próximos pasos
Fuentes externas
Configura las fuentes de datos externas a las que Discovery se conecta.
Mapeo de campos
Mapea los campos de los datos extraídos al modelo de transacciones de Matcher.
Referencia de API de Discovery
Referencia de API completa de los endpoints de Discovery.

