Skip to main content
O Lerian SPI é a integração de mensageria nativa da Lerian para o Pix. Ele alcança o sistema de pagamentos instantâneos do BACEN (SPI) e o diretório de chaves DICT sobre a RSFN. Ele é entregue como 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 em tempo de execução sem reiniciar. As demais variáveis exigem uma reinicialização para mudar. Para os parâmetros que se comportam da mesma forma em todos os serviços Go da Lerian — postura de deployment, datastores, multi-tenancy, telemetria, streaming — consulte a referência de configuração BYOC. Nas tabelas abaixo, Obrigatória marca uma variável que você deve definir — globalmente, 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 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 de administração do systemplane — através do Access Manager.

Callback do BACEN (entrada a partir do SPI)

Transporte de liquidação SPI (BACEN_SPI_*)

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

TLS mútuo com o BACEN

Os arquivos BACEN_TLS_* dão suporte ao canal de TLS mútuo com o BACEN. Os clientes SPI e 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 os payloads SPI grandes.

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 requer um backend de persistência configurado, BACEN_SPI_INTERNAL_CALLBACK_SECRET e BACEN_CALLBACK_MTLS_HEADER_SECRET. Com BACEN_ICOM_SECONDARY_CONSUMER_ENABLED=true, também requer 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 de BR Code (JWS).

Criptografia e hashing de PII

Cada variável abaixo contém material sensível de chave ou pepper. Ela protege os dados pessoais em repouso por meio de criptografia e blind-indexing. Nunca faça commit nem registre em log um valor. Injete-o no momento do deploy através do seu gerenciador de segredos. Uma rotação de pepper ou de chave exige um re-index ou re-encryption planejado.

PostgreSQL

Redis

Outbox e streaming

O Lerian SPI publica eventos através de um outbox transacional e de 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 uma chave de habilitação: STREAMING_BROKERS é obrigatório 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 Streaming e outbox.

Agendadores

Jobs em segundo plano, cada um controlado de forma independente. Os jobs controlados pelo agendador abaixo ficam desligados por padrão. Os workers de descoberta e inventário do DICT têm controles próprios na seção seguinte.

Descoberta e inventário do DICT

A descoberta de reivindicações recebidas só executa quando SCHEDULER_ENABLED e SCHEDULER_INBOUND_DISCOVERY_ENABLED são true. Os demais workers do DICT abaixo executam 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 de runtime

Consulte Systemplane para a API, os namespaces e as permissões necessárias.

Observabilidade

Documentação

Saúde e prontidão

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 Saúde e prontidão para o contrato das probes.