Skip to main content
O Lerian SPI é a integração de mensageria nativa da Lerian para o Pix. Ele alcança o sistema de pagamento instantâneo do BACEN (SPI) e o diretório de chaves DICT pela RSFN. Ele distribui quatro binários de runtime (spi, dict, brcode e core), então seu conjunto de variáveis é amplo. O serviço lê cada variável na inicialização. Quando o systemplane está ativo (o padrão), ele pode sobrescrever um subconjunto delas em runtime sem reiniciar. As demais variáveis exigem um restart para mudar. Para os parâmetros que se comportam da mesma forma em todo serviço Go da Lerian (postura de deployment, datastores, multi-tenancy, telemetria, streaming), consulte Fundamentos de configuração do BYOC. Nas tabelas abaixo, Obrigatório marca uma variável que você deve definir, de forma global ou sob a condição indicada. significa que não há padrão.
A maioria das variáveis voltadas ao BACEN carrega um prefixo de superfície: BACEN_SPI_* para o transporte de liquidação do SPI, BACEN_DICT_* para o cliente DICT, BACEN_BRCODE_JOSE_* para a assinatura JOSE do BR Code e BACEN_ICOM_* para o canal de long-poll de entrada.

Runtime e servidor

Autenticação

O Lerian SPI autoriza rotas protegidas, incluindo a API administrativa do systemplane, pelo Access Manager.

Callback do BACEN (entrada vinda do SPI)

Transporte de liquidação do SPI (BACEN_SPI_*)

Conexão com o endpoint de liquidação do SPI do BACEN pela RSFN, com um endpoint secundário opcional e o endpoint de arquivo (ARQ).

TLS mútuo com o BACEN

Os arquivos BACEN_TLS_* sustentam o canal de TLS mútuo com o BACEN. Os clientes do SPI e do DICT os compartilham.

Assinatura de mensagens e certificados

O Lerian SPI assina digitalmente suas mensagens de saída. Escolha um backend de custódia com BACEN_SPI_SIGNER_KIND.

Validação de certificado (OCSP/CRL)

Resolvedor de payload

Estas variáveis controlam como o serviço armazena e referencia payloads grandes do SPI.

Canal de entrada (BACEN_ICOM_*)

Canal de long-poll para mensagens que o BACEN envia de volta ao participante. Com BACEN_ICOM_CONSUMER_ENABLED=true, a inicialização também exige um backend de persistência configurado, BACEN_SPI_INTERNAL_CALLBACK_SECRET e BACEN_CALLBACK_MTLS_HEADER_SECRET. Com BACEN_ICOM_SECONDARY_CONSUMER_ENABLED=true, ela exige adicionalmente BACEN_SPI_SECONDARY_ENDPOINT.

Cliente DICT (BACEN_DICT_*)

Cliente para o diretório de chaves Pix do BACEN (DICT), incluindo o endpoint antifraude (NP).

Assinatura JOSE do BR Code (BACEN_BRCODE_JOSE_*)

Assina payloads dinâmicos do BR Code (JWS).

Criptografia e hashing de PII

Toda variável abaixo guarda material sensível de chave ou pepper. Ela protege dados pessoais em repouso por criptografia e indexação cega. Nunca faça commit nem registre em log um valor. Injete-o no momento do deploy pelo seu gerenciador de segredos. Uma rotação de pepper ou chave exige uma reindexação ou recriptografia planejada.

PostgreSQL

Redis

Outbox e streaming

O Lerian SPI publica eventos por um outbox transacional e um produtor lib-streaming, e consome eventos de liquidação para o BR Code. O consumidor de liquidação do BR Code roda incondicionalmente. O streaming não tem chave de habilitação: STREAMING_BROKERS é obrigatória na inicialização, inclusive quando OUTBOX_ENABLED=false. Configure as opções compartilhadas STREAMING_CLOUDEVENTS_SOURCE, STREAMING_COMPRESSION, STREAMING_REQUIRED_ACKS e STREAMING_EVENT_POLICIES conforme descrito em Streaming e outbox.

Agendadores

Tarefas em segundo plano, cada uma controlada de forma independente. As tarefas controladas pelo agendador abaixo vêm desabilitadas por padrão. Os workers de descoberta e inventário do DICT têm seus próprios controles na próxima seção.

Descoberta e inventário do DICT

A descoberta de reivindicações de entrada roda apenas quando SCHEDULER_ENABLED e SCHEDULER_INBOUND_DISCOVERY_ENABLED estão como true. Os demais workers do DICT abaixo rodam independentemente de SCHEDULER_ENABLED, cada um com sua própria chave explícita de habilitação.

Rate limiting, idempotência e conectividade

Systemplane e configuração em runtime

Consulte Systemplane para a API, os namespaces e as permissões exigidas.

Observabilidade

Documentação

Health e readiness

O Lerian SPI expõe GET /health (liveness), GET /readyz (readiness) e GET /version na porta HTTP principal. /metrics roda em seu próprio listener quando habilitado. Consulte Health e readiness para o contrato de probe.