Ative a publicação
Publicar eventos é uma decisão de implantação. A originação funciona sem ela.
O Lender se recusa a iniciar quando a publicação está ativa e algo disso está errado, então uma implantação mal configurada falha na inicialização em vez de perder eventos em silêncio.
O contrato do wire
O source de CloudEvents é o literal fixo
lender, e o source também serve de namespace para cada tópico. Assim, um assinante lê:
Para um desembolso isso resolve para:
ce-specversion, ce-id, ce-source, ce-type, ce-time, ce-schemaversion, ce-resourcetype e ce-eventtype em cada mensagem, mais ce-subject, ce-datacontenttype e ce-tenantid quando o Lender tem um valor para eles.
ce-schemaversion é 1.0.0 para cada evento do catálogo. O tópico não carrega sufixo de versão nesta versão de esquema, então assine o nome de tópico simples.
Assine por tópico. O tópico é o endereço, e ele se compõe do resource type e do event type — não de um nome interno de catálogo. Leia a coluna de tópico nas tabelas abaixo em vez de derivar um a partir da descrição de um evento.
Os eventos
Esta página cobre os 21 eventos da jornada de crédito documentada. Eles se agrupam pela parte da jornada que reportam. O manifesto de streaming declara o catálogo inteiro da sua implantação, que pode carregar mais definições do que esta página lista.
Produtos
Originação
Servicing
Pacote Brasil
Consignado privado
A jornada de consignado também consome fatos do gateway de desconto em folha, nos tópicos daquele produto. Veja Consignado privado.
Durabilidade e entrega
Cada evento do catálogo carrega a mesma política de entrega. Nada publica direto no broker. O Lender escreve o evento num outbox transacional na mesma transação de banco de dados que a mudança de estado, e um dispatcher o transmite depois. O evento portanto sobrevive a uma queda, e sobrevive a uma queda do broker enquanto o dispatcher tenta de novo. O orçamento de tentativas é limitado. O dispatcher dá a um evento as tentativas de
OUTBOX_MAX_DISPATCH_ATTEMPTS, e o valor padrão é 10. Ele espera OUTBOX_RETRY_WINDOW_SEC segundos entre tentativas, e o valor padrão é 300. Passado esse orçamento o dispatcher para de tentar o evento. Aumente o orçamento quando você esperar quedas mais longas que a janela padrão.
Os eventos viajam pelo mesmo outbox que o relay do ledger, então a mudança de estado local e o evento são confirmados juntos numa única transação de banco de dados. A intenção de posting se junta a eles quando a mudança produz uma. A contabilização no ledger chega depois. Leia Contabilidade e rotinas de apropriação.
O que um payload carrega
O body é JSON e carrega os fatos da mudança, não um diff. Um body de
loan_application.disbursed:
Confira o contrato na inicialização
GET /api/v1/streaming/manifest devolve o manifesto do catálogo: cada definição de evento com seu resource type, event type, versão de esquema e política de entrega. Ele pede um token bearer com streaming_manifest read. Ele reporta o catálogo declarado inteiro da implantação, não a visão de um tenant.
Leia-o quando o seu consumidor iniciar. Compare cada evento ao qual você assina com o manifesto: o resource type, o event type e a versão de esquema. Isso detecta um desencontro de nome ou de versão na inicialização em vez de em tempo de execução.
Próximos passos
API REST do Lender
O caminho base, autenticação, idempotência e as operações por trabalho.
Arquitetura do Lender
As partes do serviço, a rota do outbox e o trabalho por tempo.
O Lender na plataforma
Onde o Lender fica ao lado do Midaz, do Access Manager e do backbone de streaming.
Consignado privado
A jornada de desconto em folha e os fatos que ela consome.

