Skip to main content
Matcher emite eventos de dominio como mensajes CloudEvents 1.0 en modo de contenido binario sobre Kafka, publicados vía lib-streaming. Cada evento viaja en el sobre compartido: ce-type nombra el evento como studio.lerian.<resource>.<event>, ce-subject lleva el id del agregado, ce-tenantid el tenant propietario y ce-schemaversion la versión del payload — 1.0.0 para todos los eventos de abajo. El ce-source viene de STREAMING_CLOUDEVENTS_SOURCE y es obligatorio cuando el streaming está habilitado; los despliegues convencionalmente definen matcher, así que los tópicos llegan a matcher.<resource>.<event> (consulta Nombres de tópicos). Los importes de dinero — valores de comisiones, importes de ajuste — viajan por el hilo como cadenas decimales, nunca como floats. Matcher sirve su catálogo completo de eventos en GET /system/matcher/streaming/manifest. Esta página cubre el plano de streaming Kafka. El despacho de webhooks de excepción de Matcher — callbacks HTTP para el enrutamiento de excepciones — es una superficie separada, documentada en Webhooks y callbacks.

Políticas de entrega

El catálogo de Matcher usa dos políticas de entrega:
  • Los eventos respaldados por outbox se escriben en el outbox dentro de la misma transacción de base de datos que el cambio de estado; un relay publica las filas confirmadas y reintenta durante las caídas del broker. Son los hechos de grado de auditoría (desenlaces de matching, resoluciones de excepción, disputas, gobernanza). Esta política no puede debilitarse por despliegue.
  • Los eventos directos publican después de que la transacción confirma, con mejor esfuerzo, cayendo al outbox solo cuando el circuito del broker está abierto. Son las señales de configuración y de ciclo de vida operativo.
Cada tabla de abajo indica la política de sus eventos.

Eventos de matching

Respaldados por outbox: transaction.matched, transaction.pending_review. Directos: el resto.

Eventos de excepción y disputa

Respaldados por outbox, excepto exception.assigned y los eventos de comentario, que son directos.

Eventos de configuración e ingesta de datos

Todos directos.

Eventos de gobernanza y reportes

Respaldados por outbox, excepto la familia de export-job, que es directa.

Declarados pero aún no emitidos

El catálogo y el manifiesto declaran siete eventos adicionales que ningún camino de código emite hoy: reconciliation_context.deleted y la familia de ciclo de vida de extraction_request (submitted, completed, failed, cancelled, bridged, bridge_failed). Son reservas de contrato — no construyas consumidores que dependan de recibirlos.

Eventos consumidos

Matcher no consume eventos de streaming Kafka. Sus insumos de integración llegan por HTTP: subidas de archivos, extracciones de Fetcher y — cuando están habilitadas — entregas de webhook del Streaming Hub en POST /v1/discovery/hub/events (firmadas con HMAC, deduplicadas por id de evento, deshabilitadas por defecto).