Saltar al contenido principal
El catálogo de Matcher tiene 42 definiciones de eventos, y Matcher emite todas ellas. Emite eventos de dominio como mensajes CloudEvents 1.0 en modo de contenido binario. Cada evento viaja en el envelope compartido: ce-type nombra el evento como studio.lerian.matcher.<resource>.<event>, ce-subject transporta el id del agregado, ce-tenantid el tenant propietario, y ce-schemaversion la versión del payload. La versión es 1.0.0 para todos los eventos a continuación. ce-source es matcher. Cada evento usa el tema de aplicación lerian.streaming.matcher y los tipos calificados por fuente que se muestran abajo. El tipo de recurso, el tipo de evento y la versión del esquema permanecen en los headers de CloudEvents. Los montos monetarios (valores de comisión y montos de ajuste) cruzan el wire como strings decimales, nunca floats. Los callbacks de resolución entrantes son una superficie HTTP separada, documentada en Webhooks y callbacks.

Políticas de entrega

El catálogo de Matcher usa dos políticas de entrega: 16 definiciones usan la política respaldada por outbox y 26 definiciones usan entrega directa con fallback de circuito abierto.
  • Los eventos respaldados por outbox van al outbox en la misma transacción de base de datos que el cambio de estado. Un relay publica las filas confirmadas y reintenta durante las interrupciones del broker. Estos son los hechos de grado de auditoría (resultados de coincidencia, resoluciones de excepciones, disputas, gobernanza). Un despliegue no puede debilitar esta política.
  • Los eventos directos se publican después de que la transacción hace commit, en modo best-effort, y recurren al outbox solo cuando el circuito del broker está abierto. Estas son señales de configuración y de ciclo de vida operativo.
Cada tabla a continuación indica la política de sus eventos.

Eventos de coincidencia

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

Eventos de excepciones y disputas

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

Eventos de configuración e ingesta de datos

Todos directos.

Eventos de gobernanza e informes

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

Contratos de payload

Estos tipos reflejan los objetos data de CloudEvent emitidos por Matcher v5.0.3. ? significa que la propiedad puede estar ausente. Las marcas de tiempo son UTC RFC 3339 con precisión de nanosegundos. Los alias de UUID documentan la identidad semántica. Un campo tipado como string no lleva ninguna garantía de UUID. stats es un mapa entero abierto, así que los consumidores deben tolerar claves nuevas.
ingestion.completed incluye el rango de fechas solo cuando el pipeline calculó uno. Las marcas de tiempo terminales y los códigos de error estables dependen del agregado persistido. Los contadores de exportación están ausentes mientras sean cero. dispute.won y dispute.lost no repiten el category enviado por dispute.opened.

Eventos consumidos

Matcher no consume eventos de streaming. Sus entradas de integración llegan por HTTP, como subidas de archivos y extracciones de Discovery.