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

# Integrando com o Lerian STA

> Integrando com o Lerian STA: registros de auditoria e de negócio via outbox transacional, claim-checks de entrada e roteamento por produto de origem.

O Lerian STA é event-first em suas bordas. Uma transição terminal pode criar, de forma atômica, registros separados de auditoria e de negócio por meio de **outboxes transacionais**, com um sink de log durável adicional pós-commit. Um registro de outbox apenas chega aos consumidores quando a mudança de estado da transferência é commitada. Os consumidores são os serviços de **produto de origem** que são donos dos arquivos que o Lerian STA entrega.

## Canais de eventos

***

O Lerian STA publica em dois canais:

* Um **canal de auditoria** que carrega fatos de sucesso e falha de entrada para observabilidade e conciliação.
* Um **canal de negócio assinado**, roteado como `sta.{direction}.{sanitized-source-product}` com um fallback `unrouted`, para consumidores de produtos externos. Seus tipos de evento terminais são `sta.transfer.accepted`, `sta.transfer.rejected`, `sta.transfer.inconsistent`, `sta.transfer.canceled`, `sta.transfer.download_finished` e `sta.transfer.download_not_authorized`.

Os eventos de negócio carregam um **código de erro** enumerado apenas para desfechos que não são de sucesso. Os eventos `Accepted` e `DownloadFinished`, que são de sucesso, o omitem. Os eventos de sucesso de entrada carregam o **claim-check**.

## O claim-check

***

Ao concluir um download de entrada, o Lerian STA emite seu evento terminal **download-finished**, roteado pelo produto de origem do arquivo. O evento carrega um **claim-check** (`object_key`, `sha256`, `size_bytes` e `file_name`), mas não os bytes em si. Para os fatos terminais de entrada, `document_code` carrega o código do BACEN observado. Quando o mnemônico persistido e o código se corroboram, `document_type` carrega o mnemônico. Caso contrário, ele mantém o código para compatibilidade.

O produto de domínio consumidor se inscreve na própria chave. Ele busca o artefato durável pela sua chave de objeto e **reverifica** o SHA-256. Em seguida, ele concilia o resultado no **ledger do cliente**. O Lerian STA é a fronteira de transporte e integridade. O produto consumidor é o dono do lançamento no ledger.

## Fronteira do ledger

***

O Lerian STA não grava, por si só, no ledger do cliente. Ele entrega o arquivo e o claim-check. O produto consumidor faz a conciliação no ledger, por exemplo o **Lerian SISBAJUD** para arquivos de ordem judicial de ativos. Isso mantém o Lerian STA como uma camada pura de transporte e integridade, independente do significado de negócio de qualquer arquivo específico.

## Convenções de integração

***

* **Eventos acoplados ao commit.** Todo registro de outbox de auditoria ou de negócio apenas fica disponível depois que a mudança de estado da sua transferência é commitada.
* **Claim-check, não payload.** Os consumidores recebem uma referência ao artefato durável, buscam-no e reverificam seu SHA-256 antes de agir sobre ele.
* **Subscription com chave.** Os clientes escolhem suas subscriptions no broker. O STA roteia os eventos de negócio assinados por direção e produto de origem sanitizado, com um fallback `unrouted`. Ele não impõe que apenas um subscriber possa receber um arquivo.
