Skip to main content
Reporter emite eventos de dominio como mensajes CloudEvents 1.0 en modo de contenido binario. A diferencia de Midaz y de los demás productores Kafka, Reporter publica sobre RabbitMQ: cada evento se enruta al exchange nombrado por RABBITMQ_REPORT_EVENTS_EXCHANGE con la clave del evento como routing key AMQP (report.finished se enruta como report.finished). El sobre es idéntico al del resto de la plataforma — consulta el sobre compartido — y el valor topic del manifiesto es un identificador lógico derivado de la fuente, no un destino en el broker. Cada evento lleva ce-schemaversion 1.0.0. Las claves del payload son snake_case. Los campos marcados con ? son opcionales o anulables. La emisión es post-commit y nunca hace fallar el trabajo subyacente. Los eventos Critical están respaldados por outbox — escritos en un outbox durable y retransmitidos durante las caídas del broker; los eventos Important publican directo, cayendo al outbox cuando el circuito del broker se abre. Para los conceptos, la operación del manifiesto y la guía del consumidor, lee la guía de eventos de Reporter; el catálogo legible por máquina se sirve en GET /v1/streaming/events.

Eventos de plantilla

Todos Important.

Eventos de reporte

report.requested es Important; los tres eventos terminales son Critical. report.errored puede originarse en el manager (fallo de despacho) o en el worker (fallo de generación). Ambos comparten el ce-id determinista reporter.report.error.<report_id>, así que los duplicados colapsan en el consumidor.

Eventos de plazo

deadline.delivered y deadline.delivery_reverted son Critical; el resto son Important.

Eventos consumidos

Reporter no consume eventos de la plataforma — este canal es de solo publicación. El tráfico de generación de reportes entre manager y worker corre por una cola de trabajo RabbitMQ interna que no forma parte del contrato público de eventos.