Pular para o conteúdo principal
O Lerian BC Correios publica nove fatos de negócio JSON como CloudEvents 1.0 em modo binário de conteúdo via Kafka. O serviço precisa de um broker Kafka em todo ambiente: defina STREAMING_BROKERS e as outras variáveis do broker. A visão geral de streaming de eventos descreve o envelope comum.

Contrato de transporte

O manifesto lista o catálogo de eventos. Ele é servido na raiz do serviço, não em /api/v1/correios. A rota exige o recurso streaming-manifest do Access Manager com a ação get, que o grupo editor possui.

Entrega

Cada evento tem um destes três modos de entrega:
  • Outbox: o serviço escreve o evento no seu outbox do PostgreSQL, na mesma transação da mudança que o causou, e um relay o publica no Kafka. Se o broker estiver fora do ar, o relay tenta de novo por 7 dias.
  • Direta, com fallback para o outbox: o serviço publica o evento no Kafka. Se o broker estiver indisponível, o serviço escreve o evento no outbox.
  • Melhor esforço: o serviço publica o evento no Kafka, sem outbox e sem dead letter.
Um broker fora do ar não interrompe o serviço. Um evento pode chegar mais de uma vez: deduplique por (ce-source, ce-id) e mantenha os consumidores idempotentes. Não dependa da ordem de chegada.

Catálogo de eventos

O serviço não inicia quando STREAMING_EVENT_POLICIES desliga um evento com entrega Outbox.

Campos do payload

errorClassification é BCC-2011 quando o envio passou para FAILED, e BCC-2010 quando passou para AMBIGUOUS. Os eventos de IA não carregam o texto do insight. Leia o insight com GET /mails/{id}/ai-status.