EMISSION_REQUIRED tem false como padrão. Defina EMISSION_REQUIRED=true em um deploy cujos sistemas downstream dependem desses eventos. O bootstrap então falha fechado, a menos que a emissão de eventos esteja totalmente conectada.
O Lerian SPB publica todas as famílias de eventos no backbone de streaming. Os sistemas downstream leem o estado de liquidação dos eventos de streaming settlement.* e spb.ldl.* e não fazem polling.
Famílias de eventos
Os avisos de entrada do BACEN também publicam eventos dedicados. Consulte Mensageria de entrada do BACEN.
Integração com o ledger
O seu consumidor de ledger deve receber as famílias
str.operation.*, settlement.* e spb.ldl.* no backbone de streaming. O evento str.operation.accepted sinaliza a aceitação do despacho, não a liquidação no BACEN, então use-o para registrar um lançamento pendente.
Registre a posição final a partir dos fatos settlement.* no backbone de streaming. A transição de negócio por trás de settlement.settled acontece quando a perna R de entrada move a mensagem STR da transferência para CONFIRMED. A entrega pelo broker é pelo menos uma vez e pode reentregar o fato. O ce-id é determinístico, então deduplique pelo par (ce-source, ce-id).
As liquidações LDL, os depósitos LDL0022, o pagamento LTR0004 e os avisos LDL e LTR0005R2 não solicitados não têm fato settlement.*. Registre-os a partir dos fatos spb.ldl.*:
- A resposta R1 ao seu comando:
deposit-confirmedoudeposit-failedpara um depósito OT, esettlement-confirmedousettlement-failedpara todos os outros comandos. - Um crédito LDL0020R2 que corresponde a um crédito OT esperado:
credit-received. - Todos os outros avisos:
third-party-settlement-received.
str.operation.received, então registre esse crédito a partir desse evento. Uma devolução de uma TED que você enviou chega da mesma forma. O campo numCtrlSTROr traz o número de controle da sua TED original.
Uma devolução devolve um crédito TED que você recebeu, como uma transferência própria. str.operation.returnRequested sinaliza a aceitação do despacho da devolução, e o settlement.settled ou o settlement.failed da própria devolução dá a sua posição final. O Lerian SPB não mantém posição contábil. O trilho carrega a mensagem e o seu estado de liquidação, e o seu ledger registra o dinheiro.
Convenções da API
- A autenticação é um bearer token.
- As escritas são idempotentes pelo header
X-Idempotency. Um reenvio não despacha em duplicidade. - As leituras do log de mensagens não expõem o frame assinado que trafega na rede. Você lê uma única mensagem pelo seu NUOp para obter dados estruturados. Quando o trilho reteve um frame, leia o XML reconstruído pela rota de frame dedicada, autorizada separadamente. Ele não retém separadamente os bytes literais enviados.
- Ids desconhecidos retornam um not-found uniforme. A resposta nunca revela se existe uma operação que a sua instituição não possui.

