Contrato do stream de aplicação
ce-source:lender- Fatos:
lerian.streaming.lender - Comandos:
lerian.streaming.lender.commands - Roteamento de dead letters:
lerian.streaming.lender.dlq ce-type:studio.lerian.lender.<resource>.<event>- Chave de dispatch:
<resource>.<event>a partir dece-resourcetypeece-eventtype
GET /api/v1/streaming/manifest.
Eventos emitidos
O catálogo declara 35 definições. O Lender tem chamadores em produção para 31 delas: 29 fatos e 2 comandos. A tabela separa as chaves do catálogo do tipo de roteamento do CloudEvent.Contratos de payload emitidos
Os contratos abaixo espelham as tags JSON dedata do CloudEvent no contrato publicado do Lender. ? significa que o campo pode estar ausente. Os structs de wire em Go não declaram campos de ponteiro anuláveis. unknown é JSON bruto e pode carregar qualquer valor JSON, incluindo null. Valores decimais são strings JSON, os timestamps são strings RFC 3339 em UTC, e YYYYMM é uma competência de seis dígitos.
accounting_profile.configured
accounting_profile.configured
accounting_profile.configuredTópico: lerian.streaming.lenderEsquema: 1.0.0Assunto: profile_idassignment_set.approved / assignment_set.accepted
assignment_set.approved / assignment_set.accepted
assignment_set.approved, assignment_set.acceptedTópico: lerian.streaming.lenderEsquema: 1.0.0Assunto: assignment_set_idUma composição de cessão é aprovada de forma durável. O evento identifica a aprovação imutável que determina o arquivo de oferta.collection.payment.*
collection.payment.*
collection.payment.applied, collection.payment.unapplied, collection.payment.reapplied, collection.payment.refundedTópico: lerian.streaming.lenderEsquema: 1.0.0Assunto: application_idloan_application.submitted
loan_application.submitted
loan_application.submittedTópico: lerian.streaming.lenderEsquema: 2.0.0Assunto: loan_application_idloan_application.approved
loan_application.approved
loan_application.approvedTópico: lerian.streaming.lenderEsquema: 2.0.0Assunto: loan_application_idloan_application.rejected
loan_application.rejected
loan_application.rejectedTópico: lerian.streaming.lenderEsquema: 2.0.0Assunto: loan_application_idloan_application.withdrawn
loan_application.withdrawn
loan_application.withdrawnTópico: lerian.streaming.lenderEsquema: 2.0.0Assunto: loan_application_idloan_application.disbursed
loan_application.disbursed
loan_application.disbursedTópico: lerian.streaming.lenderEsquema: 2.0.0Assunto: loan_application_idloan_charge.applied
loan_charge.applied
loan_charge.appliedTópico: lerian.streaming.lenderEsquema: 1.0.0Assunto: loan_account_idloan_product.created
loan_product.created
loan_product.createdTópico: lerian.streaming.lenderEsquema: 1.0.0Assunto: loan_product_idloan_product.activated
loan_product.activated
loan_product.activatedTópico: lerian.streaming.lenderEsquema: 1.0.0Assunto: loan_product_idloan_product_version.created
loan_product_version.created
loan_product_version.createdTópico: lerian.streaming.lenderEsquema: 1.0.0Assunto: loan_product_version_idloan_schedule.prepayment_applied
loan_schedule.prepayment_applied
loan_schedule.prepayment_appliedTópico: lerian.streaming.lenderEsquema: 1.0.0Assunto: schedule_version_idloan_schedule.rescheduled
loan_schedule.rescheduled
loan_schedule.rescheduledTópico: lerian.streaming.lenderEsquema: 1.0.0Assunto: schedule_version_idrepayment.recorded
repayment.recorded
repayment.recordedTópico: lerian.streaming.lenderEsquema: 1.0.0Assunto: transaction_idrepayment_reversal.recorded
repayment_reversal.recorded
repayment_reversal.recordedTópico: lerian.streaming.lenderEsquema: 1.0.0Assunto: transaction_idloan_account.pdd_stage_transitioned
loan_account.pdd_stage_transitioned
loan_account.pdd_stage_transitionedTópico: lerian.streaming.lenderEsquema: 1.0.0Assunto: loan_account_idprepayment_quote.created
prepayment_quote.created
prepayment_quote.createdTópico: lerian.streaming.lenderEsquema: 1.0.0Assunto: quote_idprepayment_settlement.recorded
prepayment_settlement.recorded
prepayment_settlement.recordedTópico: lerian.streaming.lenderEsquema: 1.0.0Assunto: settlement_idloan_account.debt_balance_changed
loan_account.debt_balance_changed
loan_account.debt_balance_changedTópico: lerian.streaming.lenderEsquema: 2.0.0Assunto: loan_account_idloan_account.payment_overdue
loan_account.payment_overdue
loan_account.payment_overdueTópico: lerian.streaming.lenderEsquema: 1.0.0Assunto: loan_account_idconsignado.exclusao.requested
consignado.exclusao.requested
consignado.exclusao.requestedTópico: lerian.streaming.lender.commandsEsquema: 1.0.0Assunto: request_refconsignado.redirecionamento.requested
consignado.redirecionamento.requested
consignado.redirecionamento.requestedTópico: lerian.streaming.lender.commandsEsquema: 1.0.0Assunto: request_refpayroll_deduction.refund_required
payroll_deduction.refund_required
payroll_deduction.refund_requiredTópico: lerian.streaming.lenderEsquema: 1.0.0Assunto: receipt_idpayroll_overdeduction.refund_required
payroll_overdeduction.refund_required
payroll_overdeduction.refund_requiredTópico: lerian.streaming.lenderEsquema: 1.0.0Assunto: refund_case_idcollection.instruction.issued
collection.instruction.issued
collection.instruction.issuedTópico: lerian.streaming.lenderEsquema: 1.0.0Assunto: instrument_idguarantee_recovery.cash_allocated
guarantee_recovery.cash_allocated
guarantee_recovery.cash_allocatedTópico: lerian.streaming.lenderEsquema: 1.0.0Assunto: receipt_idCatalogadas, mas não emitidas
Estas quatro definições estão presentes no manifest, mas não têm chamador de emissão do Lender fora de teste. Não trate suas formas de origemlender como integrações operacionais.
Eventos consumidos
O Lender conecta 15 chaves de fato do gateway a partir delerian.streaming.consignado-gw e um fato do Matcher a partir de lerian.streaming.matcher. Cada consumidor é controlado por configuração e registrado no bootstrap.
consignado.proposal.accepted. Essa chave não é uma entrada de registro do Lender.
Planos de eventos internos
O Lender também grava tipos de evento de outbox internos para intenções de ledger, trabalho de cobrança e handoffs assinados do hub. Eles são contratos de coordenação locais ao processo, não entradas do catálogo de CloudEvents da lib-streaming. Este inventário público os omite propositalmente.Regras de entrega e compatibilidade
- Faça a deduplicação por
(ce-source, ce-id)e torne os handlers idempotentes. - Leia
ce-schemaversionantes de decodificar. A versão é um header do CloudEvents, nunca um sufixo de tópico. - Valores monetários e taxas são strings decimais. Os timestamps são RFC 3339 em UTC.
- Os consumidores de fatos conectados filtram chaves exatas. Eles ignoram e fazem commit dos fatos não correspondentes nos tópicos de aplicação compartilhados. Registros malformados tratados seguem a política de DLQ do consumidor.
- Um identificador de negócio obrigatório ausente impede a emissão ou a execução do comando. O Lender nunca o sintetiza.

