Saltar al contenido principal
Lerian BC Correios publica nueve hechos de negocio JSON como CloudEvents 1.0 en modo de contenido binario sobre Kafka. El servicio necesita un broker Kafka en cada entorno: define STREAMING_BROKERS y las demás variables del broker. La visión general del streaming de eventos describe el envelope común.

Contrato de transporte

El manifest lista el catálogo de eventos. Se sirve en la raíz del servicio, no en /api/v1/correios. La ruta requiere el recurso streaming-manifest del Access Manager con la acción get, que tiene el grupo editor.

Entrega

Cada evento tiene uno de estos tres modos de entrega:
  • Outbox: el servicio escribe el evento en su outbox de PostgreSQL, en la misma transacción del cambio que lo causó, y un relay lo publica en Kafka. Si el broker está caído, el relay reintenta durante 7 días.
  • Directa, con fallback al outbox: el servicio publica el evento en Kafka. Si el broker no está disponible, el servicio escribe el evento en el outbox.
  • Mejor esfuerzo: el servicio publica el evento en Kafka, sin outbox y sin dead letter.
Un broker caído no detiene el servicio. Un evento puede llegar más de una vez: deduplica según (ce-source, ce-id) y mantén los consumidores idempotentes. No dependas del orden de llegada.

Catálogo de eventos

El servicio no arranca cuando STREAMING_EVENT_POLICIES desactiva un evento con entrega Outbox.

Campos del payload

errorClassification es BCC-2011 cuando el envío pasó a FAILED, y BCC-2010 cuando pasó a AMBIGUOUS. Los eventos de IA no llevan el texto del insight. Lee el insight con GET /mails/{id}/ai-status.