Las credenciales (
clientId/secret) son solo de entrada: Matcher las sella antes de persistirlas y nunca las devuelve en una respuesta, un log o un error. El tenant siempre viene del JWT, nunca del cuerpo de la solicitud.Crear una conexión
vendor:pluggyobelvo.configName: identidad única de la conexión (con alcance de tenant). Un duplicado es un409. El endpoint que genera tokens de webhook vincula un token a este nombre.baseUrl: URL base de la API del proveedor, almacenada como el host de la conexión.accountRef: referencia opaca de la cuenta en el proveedor (itemIdde Pluggy, id de link de Belvo) que se pasa a la obtención por webhook. Es opcional. Omítela para conectar la cuenta mediante consentimiento alojado.clientId/secret: credencial de la API del agregador, sellada y nunca emitida.
201 con el descriptor de conexión libre de secretos:
Vincular una fuente de conciliación
Matcher ingiere los datos obtenidos en la fuente de conciliación que nombra la conexión. En exactamente una fuente, define
config.connection_config_name con el configName de la conexión:
Listar, obtener, actualizar, eliminar
id, vendor, configName, baseUrl, accountRef, testable y awaitingConsent.
Actualizar
Edita una conexión existente por id para que unbaseUrl mal escrito no sea permanente. El proveedor es inmutable. La credencial es opcional: entrega ambos, clientId y secret, para rotar la credencial sellada, u omite ambos para dejar intacto el secreto almacenado. Entregar exactamente uno es un 400. Los otros campos también son opcionales: un campo que omites mantiene su valor almacenado.
Vincular una cuenta mediante consentimiento alojado
Una conexión creada sinaccountRef espera el consentimiento: muestra "awaitingConsent": true. POST /v1/discovery/aggregator-connections/{id}/connect-token devuelve un token para el widget de consentimiento del proveedor. Envía el id de item o de link que devuelve el widget como accountRef en la llamada de actualización de arriba. Discovery describe el flujo completo.
Eliminar
204) y libera su nombre de configuración para reutilizarlo. El id de una conexión que no es de agregador devuelve 404 en cualquier operación por id. Esta superficie nunca confirma la existencia de una fila que no sea de agregador.
Probar una conexión
Ejecuta una verificación de conectividad en vivo para una conexión existente, con su credencial ya sellada, identificada por
configName. Matcher lee el proveedor de la conexión almacenada. Esta llamada no toma ninguna credencial ni devuelve ninguna.
Un resultado de credenciales que no funcionan es un resultado de prueba esperado, expuesto como
"healthy": false con un 200, no un error. Una conexión ausente devuelve 404. Matcher no puede probar conexiones de Belvo, así que una conexión de Belvo devuelve 422 (MTCH-0210). Una conexión que espera el consentimiento devuelve 422 (MTCH-0211).Tipos de conector
Lista los tipos de conector que el registro del motor tiene registrados para este despliegue, cada uno etiquetado con una categoría derivada del backend (
database o rest). La lista refleja el registro en vivo. Solo aparecen los conectores registrados en el arranque. Alimenta el selector de tipo del formulario de conexión.
rest lista en requiredFields los campos de credencial que una conexión REST de ese tipo exige. Esta lista excluye los tipos de proveedor de agregador (Pluggy/Belvo). La superficie de conexiones con agregadores de arriba los aprovisiona.
Generar un token de webhook
Genera un token de webhook vinculado a una conexión de agregador existente. La respuesta lleva el token en crudo y su URL de webhook expuesta al proveedor una sola vez. Matcher almacena solo el hash SHA-256 del token.
webhook_url devuelto en el dashboard del agregador. Una conexión de destino ausente devuelve 404.
Matcher verifica cada entrega del proveedor mediante una firma HMAC-SHA256 del cuerpo sin procesar en X-Webhook-Signature o mediante la IP de origen. Una entrega que no supera la verificación recibe 401.

