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

# Regras de negócio do TED Lerian

> Como o TED Lerian aplica a janela de funcionamento, os limites de uso, as tarifas, a idempotência, os prazos regulatórios e as regras de dados pessoais.

## Janela de funcionamento

***

A janela efetiva de um dia combina três fontes. `GET /v1/policy/window` retorna qual delas decidiu (`source`).

* **A grade oficial do STR**, publicada pelo Lerian SPB. As mudanças de grade que o STR anuncia durante o dia valem sem reinício.
* **O cut-off da instituição**, opcional, sempre igual ou anterior ao fechamento oficial. O TED Lerian recusa um horário posterior com `TED-0081`.
* **O calendário de feriados nacionais**, mantido por ano.

| Situação | Resposta quando você envia uma TED |
| - | - |
| Fora da grade ou depois do cut-off | `422 TED-0020`, nada reservado |
| Fim de semana ou feriado | `422 TED-0021`, nada reservado |
| Não foi possível determinar a janela | `503 TED-0022`. O TED Lerian recusa em vez de adivinhar. |
| Transferência interna | A janela do STR não se aplica |

## Limites de uso

***

* Por conta de origem: um máximo por transferência, um total por dia e um total por mês, por dia e mês do calendário no horário de Brasília (`America/Sao_Paulo`). Os tetos seguem a ordem transferência ≤ dia ≤ mês. Um teto ausente significa sem teto.
* Eles contam o total debitado: o valor mais a tarifa.
* Uma instituição deve configurar os seus limites antes da primeira TED. Sem eles, o TED Lerian recusa cada envio com `503 TED-0080`.
* Acima de um limite, o TED Lerian recusa a TED antes da reserva com `422 TED-0030`. A resposta indica o limite.
* Uma transferência rejeitada ou cancelada os libera de novo.
* Com `enabled=false`, os limites não contam nada e não recusam nada.
* Apenas o administrador os altera. Cada alteração registra quem a fez e quando.

## Tarifas

***

* Cobrar tarifa é opcional e fica desligado por padrão. Enquanto está desligado, toda tarifa é zero: na cotação, no envio e no recebimento.
* Quando está ligado para uma instituição, o Midaz calcula a tarifa a partir do pacote de tarifas configurado (`feePackageId`).
* A cotação mostra a tarifa e o total sem efeito financeiro. A tarifa cotada é a tarifa que o envio da mesma requisição reservaria.
* Se o cálculo estiver indisponível quando você envia, o TED Lerian recusa a TED com `503 TED-0040`. Nesse caso, a instituição pode escolher enviar com tarifa zero.
* Em uma TED recebida, a tarifa aparece em `feeAmount` e o valor creditado em `creditedAmount`. Se o cálculo falhar, o cliente recebe o valor integral com tarifa zero.
* Quando outra instituição devolve uma TED, o TED Lerian não reembolsa a tarifa de envio por padrão. A instituição pode ligar o reembolso, e `returned.feeRefunded` mostra o que aconteceu.

## Idempotência e requisições duplicadas

***

* Toda escrita precisa do header `X-Idempotency`: de 1 a 128 caracteres ASCII imprimíveis. Sem ele, a resposta é `400 TED-0011`.
* A mesma chave com o mesmo corpo retorna a resposta original com `X-Idempotency-Replayed: true`. O TED Lerian não cria nenhuma transferência nova.
* `X-TTL` define por quantos segundos o TED Lerian repete a resposta (padrão 300). Apenas o TTL da primeira requisição vale.
* Uma requisição com a mesma chave e outro corpo recebe `422 TED-0012`. No `POST /v1/transfers`, a chave fica vinculada à transferência que criou: uma requisição posterior com a mesma chave nunca cria uma segunda transferência.
* Uma requisição com a mesma chave ainda em andamento recebe `409 TED-0013` com `Retry-After`.
* Seja qual for a chave, `POST /v1/transfers` recusa uma requisição materialmente idêntica na mesma janela antiduplicidade (5 minutos por padrão) com `409 TED-0014`.

## Prazos regulatórios

***

| Prazo | Começa em | Termina em | Limite |
| - | - | - | - |
| Do débito ao envio | A reserva do débito | O envio ao STR | 30 min |
| Da liquidação ao crédito | A liquidação interbancária no STR | O crédito ao recebedor | 60 min |
| Da liquidação à devolução | A liquidação interbancária no STR | A devolução | 60 min |

`GET /v1/operations/sla` mostra p50, p95 e p99 de cada prazo, os estouros do dia e os itens em risco.

## Dados pessoais

***

* **Respostas da API:** o nome e o CPF ou CNPJ do remetente e do recebedor vêm completos, para os papéis com permissão de lê-los.
* **Logs:** o TED Lerian mascara documentos e nomes.
* **Eventos de TEDs enviadas** (`transfer.*`) não trazem dados da contraparte.
* **Eventos de TEDs recebidas** (`incoming_transfer.*`) trazem o recebedor, cliente da própria instituição, completo. O remetente, cliente de outra instituição, vem mascarado.
* A descrição em texto livre de uma TED recebida é publicada como a instituição remetente a escreveu.

## Isolamento entre instituições

***

Cada registro pertence a uma instituição. A instituição sempre vem do token autenticado, nunca de um campo da requisição. Um identificador de outra instituição responde como não encontrado (`404`), sem revelar que existe.

## Auditoria

***

Cada transferência tem uma linha do tempo que nunca é editada. Ela registra cada mudança de status com a data e a hora, a origem (`API`, `RAIL`, `STR`, `LEDGER`, `WORKER`, `OPERATOR`, `SYSTEM`), o motivo oficial e, nas ações de operador, quem agiu. O TED Lerian não apaga nenhum registro de negócio.


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