> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Integración con Lerian SILOC

> Qué consume y emite Lerian SILOC: ingestión SFN optativa, despacho de mensajes compatibles, hechos de participante en streaming y sin punto de contacto con Midaz.

Lerian SILOC es orientado a eventos en sus bordes. Cuando está habilitado, consume mensajes SFN compatibles de Nuclea y emite hechos de participante hacia la plataforma. **No tiene consumidores de webhook orientados al cliente**. Los sistemas dependientes se suscriben a los tópicos de streaming en lugar de recibir callbacks.

## Qué consume

***

La ingestión SFN es optativa: `SFN_INGEST_ENABLED` tiene el valor predeterminado `false`, por lo que el consumidor se inicia solo cuando lo habilitas explícitamente. Cuando está habilitada, Lerian SILOC descifra y decodifica mensajes entrantes desde el envelope regulado y acepta `PAG0102`, `LDL0021`, `LDL0020`/`LDL0020R2`, `LDL0006`/`LDL0006R2` y `PAG0103`. **No** enruta `PAG0101`.

## Semántica de ingestión y entrega

***

* La entrega y el despacho son **al-menos-una-vez**. Para un mensaje decodificado y compatible con un `BCMSG.NUOp` no vacío, la clave de deduplicación durable es **(`BCMSG.NUOp`, `CodMsg`)**, no solo el id de un mensaje.
* El servicio escribe el registro de mensaje procesado solo después de un despacho exitoso. No crea un registro de mensaje procesado para un mensaje no decodificado o no compatible. Una falla antes de escribir el registro puede causar otra entrega, por lo que este comportamiento no es una garantía incondicional de exactamente una vez de extremo a extremo.

## Qué emite

***

* **Hechos de participante** —`siloc.participant.registered` y `siloc.participant.updated`— publicados como CloudEvents en el backbone de streaming de la plataforma. Los sistemas dependientes siguen el directorio de participantes sin polling.

## Sin punto de contacto con Midaz

***

Lerian SILOC **no** tiene integración directa con el ledger. No mantiene posición contable y no realiza aritmética monetaria. Enruta bytes y emite hechos. Este riel no registra dinero. La liquidación de la posición neta ocurre en SILOC y el STR. Cualquier asiento en el ledger vive con el servicio dueño del movimiento de dinero.

## Límite de la ruta del dinero

***

El riel STR separado, [Lerian SPB](/es/rails/native/spb/what-is-lerian-spb), ejecuta la **pierna de depósito del STR** —la liquidación monetaria en el BACEN. SILOC no. Lerian SILOC transporta los mensajes de SILOC y administra la conexión. Nunca mueve dinero.

## Convenciones de API

***

* **La ruta base** es `/api/v1/siloc`, y los errores siguen el formato problem-detail de RFC 9457.
* **La autenticación** sigue el esquema estándar de token bearer de la plataforma.
* **El registro de participantes es idempotente** mediante una clave de idempotencia, de modo que un registro reintentado no crea un duplicado.
* **Los certificados son referencias, no secretos.** Un certificado registrado lleva un certificado público y una referencia de custodia externa. No almacena ni devuelve ninguna clave privada.
