> ## 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.

# Integração com o Lerian SILOC

> Integração com o Lerian SILOC: processamento de SFN configurado via MQ, despacho de mensagens suportadas, CloudEvents de participante e convenções de API.

O Lerian SILOC é orientado a eventos nas suas bordas. Com uma conexão MQ do SILOC configurada, ele consome mensagens SFN suportadas da Nuclea e emite fatos de participante na plataforma. Ele **não tem consumidores de webhook voltados ao cliente**. Sistemas downstream se inscrevem nos tópicos de streaming em vez de receber callbacks.

## O que ele consome

***

O processamento de SFN de entrada começa quando você configura o descritor completo de conexão MQ do SILOC. Se nenhum gatilho de conexão estiver presente, o serviço inicia sem conectividade real com o SILOC. Definir `MQ_HOST`, `MQ_CHANNEL`, `MQ_QUEUE_MANAGER`, `MQ_SEND_QUEUE` ou `MQ_RECEIVE_QUEUE` aciona a validação do descritor completo na inicialização. Fornecer apenas parte do descritor falha de forma fail-closed e impede que o serviço inicie. Com o descritor completo configurado, o Lerian SILOC descriptografa e decodifica as mensagens de entrada a partir do envelope regulatório e, em seguida, aplica uma política fechada de **(`CodProdt`, `CodMsg`)**. Para `OT` e `SLC`, ele roteia `PAG0102`, `LDL0021` e `PAG0103`. Frames `OT` ficam pendentes de forma durável, enquanto frames `SLC` são repassados para o Lerian SLC. `PAG0101` mantém o status do participante pendente para qualquer um dos dois produtos. `LDL0020`, `LDL0006` e todo outro par falham de forma fail-closed para uma exceção de operador.

## Semântica de ingestão e entrega

***

* O repasse do SLC é **pelo menos uma vez**. Para um frame de funding do SLC decodificado com sucesso e com um `BCMSG.NUOp` não vazio, a chave de deduplicação durável é **`BCMSG.NUOp`**, não apenas um ID de mensagem.
* O serviço grava esse registro de mensagem processada apenas depois de um repasse bem-sucedido. Ele não cria registro de mensagem processada para uma mensagem não decodificada ou não suportada. Uma falha antes da gravação do registro pode resultar em outra entrega, então esse comportamento não é uma garantia incondicional de exatamente uma vez de ponta a ponta.

## O que ele emite

***

* **Fatos de participante.** O Lerian SILOC publica `siloc.participant.registered` e `siloc.participant.updated` como CloudEvents no backbone de streaming da plataforma. Sistemas downstream acompanham o diretório de participantes sem fazer polling.

## Nenhum ponto de contato com o Midaz

***

O Lerian SILOC **não** tem integração direta com o ledger. Ele não mantém posição contábil nem realiza qualquer aritmética monetária. Ele roteia bytes e emite fatos. Este trilho não contabiliza dinheiro. A liquidação da posição líquida acontece no SILOC e no STR. Qualquer lançamento contábil fica a cargo do serviço dono da movimentação de dinheiro.

## Limite do caminho do dinheiro

***

O trilho STR separado, [Lerian SPB](/pt/rails/spb/what-is-lerian-spb), executa a **perna de depósito do STR**, a liquidação monetária no BACEN. O SILOC não faz isso. O Lerian SILOC transporta as mensagens do SILOC e administra a conexão. Ele nunca movimenta dinheiro.

## Convenções de API

***

* **O path base** é `/api/v1/siloc`, e os erros seguem o formato RFC 9457 de problem-detail.
* **A autenticação** segue o esquema padrão de bearer-token da plataforma.
* **O registro de participante é idempotente** por meio de uma chave de idempotência, então um registro repetido não cria uma duplicata.
* **Certificados são referências, não segredos.** Um certificado registrado carrega um certificado público e uma referência de custódia externa. Ele não armazena nem retorna nenhuma chave privada.
