Skip to main content
Lerian SPI es la integración de mensajería nativa de Lerian para Pix. Alcanza el sistema de pagos instantáneos (SPI) de BACEN y el directorio de claves DICT a través de la RSFN. Se entrega como cuatro binarios de runtime —spi, dict, brcode y core—, por lo que su conjunto de variables es amplio. El servicio lee cada variable al arrancar. Cuando systemplane está activo —el valor por defecto— puede sobrescribir un subconjunto en tiempo de ejecución sin reiniciar. El resto de las variables requieren un reinicio para cambiar. Para los ajustes que se comportan igual en todos los servicios Go de Lerian —postura de despliegue, almacenes de datos, multi-tenancy, telemetría, streaming— consulta la referencia de configuración BYOC. En las tablas siguientes, Requerida marca una variable que debes definir —de forma global o bajo la condición indicada—. significa que no hay valor por defecto.
La mayoría de las variables orientadas a BACEN llevan un prefijo de superficie: BACEN_SPI_* para el transporte de liquidación SPI, BACEN_DICT_* para el cliente DICT, BACEN_BRCODE_JOSE_* para la firma JOSE de BR Code y BACEN_ICOM_* para el canal entrante de long-poll.

Runtime y servidor

Autenticación

Lerian SPI autoriza las rutas protegidas —incluida la API de administración de systemplane— a través de Access Manager.

Callback de BACEN (entrante desde SPI)

Transporte de liquidación SPI (BACEN_SPI_*)

Conexión al endpoint de liquidación SPI de BACEN a través de la RSFN, con un endpoint secundario opcional y el endpoint de archivo (ARQ).

TLS mutuo hacia BACEN

Los archivos BACEN_TLS_* respaldan el canal de TLS mutuo hacia BACEN. Los clientes SPI y DICT los comparten.

Firma de mensajes y certificados

Lerian SPI firma digitalmente sus mensajes salientes. Elige un backend de custodia con BACEN_SPI_SIGNER_KIND.

Validación de certificados (OCSP/CRL)

Resolutor de payloads

Estas variables controlan cómo el servicio almacena y referencia los payloads SPI grandes.

Canal entrante (BACEN_ICOM_*)

Canal de long-poll para los mensajes que BACEN devuelve al participante. Con BACEN_ICOM_CONSUMER_ENABLED=true, el arranque también requiere un backend de persistencia configurado, BACEN_SPI_INTERNAL_CALLBACK_SECRET y BACEN_CALLBACK_MTLS_HEADER_SECRET. Con BACEN_ICOM_SECONDARY_CONSUMER_ENABLED=true, también requiere BACEN_SPI_SECONDARY_ENDPOINT.

Cliente DICT (BACEN_DICT_*)

Cliente para el directorio de claves Pix (DICT) de BACEN, incluido el endpoint antifraude (NP).

Firma JOSE de BR Code (BACEN_BRCODE_JOSE_*)

Firma los payloads dinámicos de BR Code (JWS).

Cifrado y hashing de PII

Cada variable de abajo contiene material sensible de clave o pepper. Protege los datos personales en reposo mediante cifrado e indexado ciego. Nunca guardes en el repositorio ni registres en logs un valor. Inyéctalo en el momento del despliegue mediante tu gestor de secretos. Una rotación de pepper o de clave requiere una reindexación o un recifrado planificado.

PostgreSQL

Redis

Outbox y streaming

Lerian SPI publica eventos a través de un outbox transaccional y de un productor de lib-streaming, y consume eventos de liquidación para BR Code. El streaming no tiene un interruptor de habilitación: STREAMING_BROKERS es obligatorio al iniciar, incluso cuando OUTBOX_ENABLED=false. Configura los ajustes compartidos STREAMING_CLOUDEVENTS_SOURCE, STREAMING_COMPRESSION, STREAMING_REQUIRED_ACKS y STREAMING_EVENT_POLICIES como se describe en Streaming y outbox.

Programadores

Trabajos en segundo plano, cada uno controlado de forma independiente. Todos desactivados por defecto.

Limitación de tasa, idempotencia y conectividad

Systemplane y configuración en tiempo de ejecución

Consulta Systemplane para la API, los espacios de nombres y los permisos requeridos.

Observabilidad

Documentación

Salud y readiness

Lerian SPI expone GET /health (liveness), GET /readyz (readiness) y GET /version en el puerto HTTP principal. /metrics se ejecuta en su propio listener cuando está habilitado. Consulta Salud y readiness para el contrato de las sondas.