Pular para o conteúdo principal
A Mensageria se conecta a três sistemas. O Lerian STA leva os arquivos de e para o BACEN. O Streaming Hub entrega os avisos de execução ao executor. O executor chama a API de execução da Mensageria para obter cada ordem e informar o resultado. A Mensageria não chama nenhum ledger.

Lerian STA


A Mensageria consome o tópico lerian.streaming.br-sta, que o Lerian STA produz. Ela registra seis tipos de evento:
  • br_sta_transfers.accepted
  • br_sta_transfers.rejected
  • br_sta_transfers.inconsistent
  • br_sta_transfers.canceled
  • br_sta_transfers.download_finished
  • br_sta_transfers.download_not_authorized
A Mensageria mantém os eventos cujo source_product corresponde à sua configuração STA_SOURCE_PRODUCT. Ela ignora os eventos de outros produtos. O campo direction de cada evento seleciona o pipeline. Uma direção é um arquivo que o Lerian STA baixou para a Mensageria. A outra é o resultado de um arquivo de resposta que a Mensageria enviou. O banco de dados também recusa um segundo arquivo de ordens judiciais com o mesmo digest SHA-256 para a mesma instituição. Com STA_TRANSFERS_ENABLED ativado, a Mensageria envia cada arquivo de resposta ao Lerian STA. Como funciona o Lerian SISBAJUD descreve o envio.

Eventos em dead letter

Um evento do Lerian STA que a Mensageria recusa vai para o tópico lerian.streaming.br-sisbajud.dlq. O registro traz um token de motivo, por exemplo institution_unresolved ou sha256_mismatch. POST /v1/institutions/{institutionId}/sta-dlq/{eventId}/acknowledge registra o que um operador fez com um evento em dead letter: replayed, recorded ou escalated. Ele grava um registro de auditoria. Ele não remove o evento, e o tópico mantém o evento pelo seu período de retenção. Para reprocessar um evento, volte o consumer group ao offset de origem que os headers do registro indicam.

Streaming Hub e o executor


A Mensageria publica os avisos de execução e as sondas em lerian.streaming.br-sisbajud. O Streaming Hub os entrega ao executor por webhook. Um operador cria uma subscription do Streaming Hub para o executor, no tenant default. Cada evento da Mensageria traz esse tenant. A subscription lista exatamente dois tipos de evento: judicial_order.execution_requested e sisbajud_probe.requested. O Streaming Hub assina cada entrega com o secret da subscription. O executor verifica essa assinatura. Ele executa cada entrega sob o seu próprio tenant e não usa o header de tenant da entrega. Não dependa da ordem de chegada dos avisos de execução. A Mensageria mantém a ordem das liberações de um sujeito no seu banco de dados.

API de execução


O executor lê as ordens e informa os resultados pela API de execução. Essas operações não estão na referência de API da Mensageria. A API de execução tem seu próprio listener em SISBAJUD_EXECUTION_ADDRESS. O padrão é :4032. A API principal em SERVER_ADDRESS não atende esses caminhos. O listener de execução aceita TLS 1.2 ou superior e não tem modo HTTP simples. SISBAJUD_EXECUTION_TLS_CERT_FILE e SISBAJUD_EXECUTION_TLS_KEY_FILE contêm o certificado e a chave do servidor. SISBAJUD_EXECUTION_MTLS_ENABLED ativa o TLS mútuo. Então o listener exige um certificado de cliente que SISBAJUD_EXECUTION_CLIENT_CA_FILE verifica. O executor tem sua própria chave, MENSAGERIA_MTLS_ENABLED. Defina as duas chaves com o mesmo valor. Com TLS mútuo ativado na Mensageria e desativado no executor, o handshake TLS falha. O executor se autentica com um bearer token M2M. A Mensageria obtém a identidade somente do token. O certificado de cliente não altera a autorização.

Sonda canário

A cada EXECUTION_CANARY_INTERVAL_SEC segundos, a Mensageria publica um evento sisbajud_probe.requested para cada instituição ativada. O padrão é 300. Ative uma instituição na Mensageria quando um executor atender essa instituição.

Eventos


A Mensageria publica três tipos de evento no tópico lerian.streaming.br-sisbajud.
  • A operation de um aviso de execução é REQUISICAO_INFORMACAO, BLOQUEIO, DESBLOQUEIO ou TRANSFERENCIA.
  • A Mensageria publica kek.rotated cada vez que registra uma nova versão da KEK de uma instituição, com qualquer um dos provedores de chaves.
  • O header ce-type é studio.lerian.br-sisbajud.<resource>.<event>, por exemplo studio.lerian.br-sisbajud.kek.rotated.
  • O header ce-schemaversion traz a versão do schema.
  • O header ce-tenantid é default.
  • O tópico de dead letter de kek.rotated é lerian.streaming.br-sisbajud.dlq.

Tópicos

Com STREAMING_TOPIC_AUTO_PROVISION no seu padrão, true, a Mensageria cria lerian.streaming.br-sisbajud e lerian.streaming.br-sisbajud.dlq na inicialização. Sua identidade no broker precisa de permissão para criar esses tópicos. Se você criar os tópicos antes do deploy, defina STREAMING_TOPIC_AUTO_PROVISION como false.