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

# Integre-se ao Lerian Consignado — Dataprev

> Integre-se pela API HTTP autenticada, pelos streams de comandos e de fatos do Lender, pelos fatos de negócio do Consignado e pelas subscriptions de entrega de eventos.

Use a API HTTP para a superfície completa do Consignado voltada ao cliente. Use CloudEvents para consumir fatos de negócio imutáveis e, ao integrar-se pelo Lender, para enviar os comandos aceitos. As duas interfaces são complementares. O stream de eventos não é a autoridade para toda operação do trilho.

## API HTTP

A API cobre credenciais de tenant, dados de margem e de trabalhador, leilões e lances, documentos e desembolso. Ela cobre a averbação e sua documentação, a importação de contrato e os códigos de instrumento B3. Ela também cobre correções de contrato, ciclo de vida do contrato, portabilidade nos dois sentidos, refinanciamento, renegociação e garantias. As demais operações cobrem conciliação, saldos devedores, fundos, originadores, cessões, vazão e subscriptions de entrega.

Um fundo ou um originador também pode chamar as próprias rotas, sob `/v1/consignado/fundos/{fundo_id}/` e `/v1/consignado/originadores/{originador_id}/`, com uma credencial de parceiro do Access Manager. Veja [Configure um tenant](https://docs.lerian.studio/pt/rails/consignado/how-consignado-works.md#1-configure-a-tenant).

Comece por [buscar a margem do trabalhador](https://docs.lerian.studio/pt/reference/rails/consignado/fetch-consignado-worker-margin.md), depois use a navegação da Referência da API para encontrar as demais famílias de operação.

## Comandos do Lender consumidos

O gateway lê um único stream de comandos de aplicação e distribui as mensagens pela origem do CloudEvent e pela chave de evento. A seleção ocorre pela chave, nunca pelo nome do tópico. Uma chave que o gateway não trata vai para sua própria dead-letter queue, em vez de ser ignorada.

| Chave do evento | Comportamento em runtime |
| - | - |
| `consignado_margin.requested` | Executa a leitura de margem do trabalhador no trilho. O próprio consumidor roda apenas quando o trilho Dataprev e o streaming estão habilitados. |
| `consignado_exclusao.requested` | Usa o mesmo serviço idempotente de exclusão da operação HTTP quando o runtime está disponível; caso contrário, retorna um erro nomeado de indisponibilidade. |

Averbação e sua documentação não são comandos do Lender. Envie as duas pelas operações HTTP autenticadas.

## Fatos do Lender consumidos

O mesmo consumidor também lê o tópico de fatos do Lender. Ele age sobre quatro chaves de fato e ignora todos os outros fatos do Lender.

| Chave do evento | Comportamento em runtime |
| - | - |
| `assignment_fund.registered`, `assignment_fund.updated` | Registra o fundo do Lender para o tenant. Uma averbação pode então nomear esse fundo em `fundo_ref` pelo id do Lender, o texto UUID em minúsculas de `assignment_fund_id`. Antes desse fato chegar, uma averbação que nomeia o fundo responde `FUNDO_NOT_REGISTERED`. |
| `assignment_receivable.accepted` | Registra a cessão do contrato nomeado ao fundo nomeado e publica `consignado.cessao.registered`. O gateway cede um contrato que confirmou por averbação ou importou com os dados de contabilização. Ele também cede o novo contrato de um refinanciamento ou de uma renegociação que registrou como aceito. Ele não registra nada para um contrato já cedido a outro fundo, nem para um fundo nomeado apenas por um CNPJ que nenhum fundo do tenant possui. Ele também não registra nada para um contrato que uma exclusão confirmada ou uma exclusão por portabilidade aceita tirou do registro. |
| `loan_product_version.created` | Registra a faixa de taxa anual da versão de produto do Lender. Uma averbação com o bloco de contabilização que nomeia essa versão responde `RATE_OUTSIDE_PRODUCT_RANGE` quando `monthly_rate` vezes 12 fica fora dessa faixa. |

## Fatos de negócio declarados e operacionais

`STREAMING_EVENT_POLICIES` pode desligar qualquer fato do Consignado. A escrita de negócio ainda faz commit, e o gateway não publica esse fato depois.

A descoberta de portabilidade de entrada vem desabilitada por padrão. O fato `consignado.portability_proposal.received` aparece apenas onde esse fluxo está habilitado. Ele é registrado de forma atômica com seu marcador durável quando o poller agendado de descoberta de portabilidade encontra uma oferta ativa. O mesmo vale para qualquer comando de trilho que um deployment não executa. Os fatos operacionais cobrem:

* solicitações de leilão e propostas de portabilidade de entrada
* relatórios de margem, de vínculo empregatício e de afastamento
* aceitação de proposta, registro de contrato (`consignado.contract.registered`, incluindo evidência de artefato CCB assinado), desembolso e disponibilidade de correção
* aceite da averbação, além de desfechos de averbação, exclusão, portabilidade do lado de origem e renegociação
* conciliação, exceções de repasse e calendários
* cessões, códigos de instrumento B3 e mudanças de vazão
* pausa e retomada do trilho para um tenant durante a virada de competência do Dataprev, na Lerian Cloud

Veja [Eventos do Consignado](https://docs.lerian.studio/pt/reference/events/consignado.md) para o catálogo completo e o mapeamento exato de recurso/evento do CloudEvent.

## Streams de aplicação

Cada aplicação publica fatos em um tópico, e o Lender envia comandos em um tópico próprio:

* os fatos vão para `lerian.streaming.consignado-gw`
* o gateway lê os comandos do Lender em `lerian.streaming.lender.commands`
* o gateway lê os fatos do Lender em `lerian.streaming.lender`
* os tipos de fato usam `studio.lerian.consignado-gw.<resource>.<event>`
* os tipos de comando usam `studio.lerian.lender.<resource>.<event>`

Roteie pela origem do CloudEvent, pelo tipo de recurso e pelo tipo de evento. Não infira um evento apenas a partir do nome de um tópico.

## Subscriptions de entrega

Use a API de subscription para registrar um destino de entrega, ler a saúde da entrega, rotacionar o segredo de assinatura, testar a entrega ou revogar o destino. Apenas as respostas de criação e de rotação trazem o segredo de assinatura. Nenhuma leitura o retorna. As leituras mostram um destino mascarado. Apenas o papel admin pode ler o destino completo, porque o caminho de um webhook pode levar um token de callback.

Criação, rotação e revogação exigem o cabeçalho `X-Idempotency`. Uma subscription recebe o major de schema 1 de cada tipo de evento, a menos que defina `schema_major`. O mapa `event_majors` dela sobrepõe o major para os tipos de evento que nomeia.

Um teste bem-sucedido comprova a entrega ao endpoint configurado. Ele não altera a semântica de pelo menos uma vez dos eventos de negócio.

## Contrato de confiabilidade

* Os fatos de negócio entram em um outbox transacional antes da publicação.
* A entrega é pelo menos uma vez.
* Deduplique por `(ce-source, ce-id)`.
* Valores monetários trafegam como strings decimais, nunca como ponto flutuante binário.
* Os campos do payload usam `snake_case`, exceto `consignado.registro_b3.registered`, que usa `camelCase`. Os timestamps usam UTC RFC 3339.
* Um identificador de negócio obrigatório ausente é terminal e vai para a DLQ do consumidor, em vez de ir para o Dataprev.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.