Skip to main content
O Lender publica fatos de negócio e comandos como CloudEvents 1.0 sobre Kafka. A publicação é opcional, delimitada por tenant e apoiada em um outbox transacional.

Ligue a publicação


A originação continua funcionando quando a publicação está desabilitada. Quando a publicação está habilitada, o Lender falha na inicialização se a configuração de broker ou de source for inválida.

Contrato de transmissão


O Lender usa o contrato v3 de stream de aplicação. Um tópico identifica a aplicação produtora e a classe de mensagem, não um evento. Por exemplo, um fato de desembolso trafega em lerian.streaming.lender com ce-type: studio.lerian.lender.loan_application.disbursed. ce-schemaversion carrega a versão do payload. O schema v2 não adiciona sufixo de tópico sob o contrato v3. Roteie pelos headers CloudEvents, não por um nome de tópico por evento.

Contrato publicado


O manifesto declara 35 definições: 33 fatos e dois comandos. Controles de funcionalidade governam cada caminho de integração, então consuma apenas os contratos expostos pelo manifesto em produção. Os dois comandos de catálogo são:
  • consignado.exclusao.requested: pede uma exclusão de consignado ao trilho de folha de pagamento.
  • consignado.redirecionamento.requested: pede um redirecionamento de consignado ao trilho de folha de pagamento.
Veja a Referência de eventos do Lender para cada definição do catálogo e o ce-type qualificado por source dela.

Eventos que o Lender consome


O Lender conecta 15 chaves de fato voltadas ao gateway em lerian.streaming.consignado-gw. As chaves incluem registro de contrato, confirmação de desembolso, rejeição de averbação, situação de emprego, resultados de redirecionamento, conciliação, resultados de exclusão, disponibilidade de correção, resultados de portabilidade e resultados de refinanciamento. Os consumidores correspondentes são controlados por configuração. Portabilidade e refinanciamento usam, cada um, um flag opt-in para o par de resultados deles. O gateway tem caminhos de emissão para as 13 primeiras chaves. O par de portabilidade chega ao Lender apenas quando o consumidor de resultado dele está habilitado e o manifesto em produção do gateway declara o evento. O manifesto não declara os dois resultados de refinanciamento, então esses dois listeners não recebem tráfego real do runtime atual do gateway. Um handler do Lender consome match_run.completed em lerian.streaming.matcher. Para a passagem padrão, o Matcher deve usar STREAMING_CLOUDEVENTS_SOURCE=matcher. O Lender roteia ce-source: matcher, ce-type: studio.lerian.matcher.match_run.completed, ce-resourcetype: match_run e ce-eventtype: completed. Se o Matcher usar outro source, inspecione o manifesto de streaming dele e alinhe os dois lados antes de habilitar os runtimes. Veja Consignado privado para a jornada de folha de pagamento.

Durabilidade e entrega


O Lender grava cada evento de negócio de saída no outbox em PostgreSQL, na mesma transação de banco de dados da mudança de estado. Um relay publica o evento depois do commit. A entrega pelo broker é pelo menos uma vez: deduplique por (ce-source, ce-id) e faça os handlers idempotentes. O relay repete cada linha até OUTBOX_MAX_DISPATCH_ATTEMPTS vezes. O valor de OUTBOX_RETRY_WINDOW_SEC define a espera mínima entre tentativas para uma linha. É um atraso por tentativa, não uma janela total de novas tentativas. Os padrões são 10 tentativas e 300 segundos.

Convenções de payload


Os payloads são fatos JSON, não diffs. Valores de dinheiro e de taxa usam strings decimais em vez de números JSON. Os timestamps usam RFC 3339 em UTC. Leia ce-schemaversion antes de decodificar um payload versionado.

Confira o contrato em produção


GET /api/v1/streaming/manifest retorna o catálogo em produção, os tópicos de aplicação, as versões de schema e as políticas de entrega. Ele exige um token bearer com streaming_manifest read. Leia o manifesto quando o seu consumidor sobe e rejeite um source, uma chave de evento ou uma versão de schema inesperados antes de processar tráfego.

Próximos passos


Referência de eventos do Lender

Inspecione contratos emitidos, apenas de catálogo e consumidos.

Consignado privado

Acompanhe o fluxo de comandos e fatos de folha de pagamento.