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

# O que é o JD Courier

> O JD Courier permite que dois ou mais motores de core bancário compartilhem um canal JD e um ISPB no trilho SPB (TED) e no trilho Pix.

O **JD Courier** permite que dois ou mais motores de core bancário compartilhem um canal da JD Consultores e um ISPB. Cada sistema de core bancário que processa as movimentações das próprias contas é um motor. O seu core atual é um motor. O stack da Lerian é outro.

A JD dá a cada participante um canal. No SPB, uma leitura do canal remove a mensagem. No Pix, a JD chama um endereço. Por isso, dois motores não podem compartilhar o canal diretamente. O Courier fica entre a JD e os motores. A JD vê um participante, e cada motor recebe apenas as mensagens que pertencem a ele.

## Quando você precisa dele

***

Você precisa do Courier quando a sua instituição roda mais de um motor no mesmo ISPB e no mesmo canal JD. O caso mais comum é uma migração. Você move contas do seu core atual para o stack da Lerian em ondas, e os dois motores operam ao mesmo tempo.

O Courier cobre dois trilhos:

* **SPB (TED).** O Courier lê as mensagens SPB que a JD guarda para a sua instituição e entrega cada uma ao seu motor. Os motores enviam as próprias mensagens SPB à JD pelo Courier.
* **Pix.** A JD envia ao Courier as chamadas Pix de entrada da sua instituição. O Courier entrega cada chamada ao seu motor e repassa à JD a resposta do motor. O Courier não envia requisições Pix à JD.

## O que o Courier garante

***

* **Um dono para cada conta.** Um mapa de titularidade explícito diz ao Courier qual motor é dono de cada conta. O mapa aceita um dono para cada chave. O Courier entrega cada mensagem financeira a um motor.
* **Mensagens não roteadas ficam retidas.** Quando o Courier não consegue rotear ou entregar uma mensagem que ele guardou, ele retém a mensagem. O Courier não credita uma mensagem retida e não a devolve ao BACEN. O seu operador vê cada mensagem retida com o motivo e a idade.
* **Uma mensagem retida por uma causa de roteamento ou de entrega sai pela decisão de roteamento.** Quando uma causa de roteamento ou de entrega deixa de existir, o Courier roteia a mensagem de novo por conta própria. Um operador também pode pedir uma nova decisão de roteamento, com um motivo. O operador nunca escolhe o motor.
* **Uma validação de conta que o Courier não consegue rotear é recusada na mesma chamada.** A JD recebe `AC03` ou `AB09`. Uma validação vem antes da liquidação, então nenhum dinheiro se move.
* **Mover uma conta é uma mudança de configuração.** Um operador move uma conta de um motor para outro pela API. A movimentação exige um motivo, e o Courier a registra em um histórico de auditoria.

## O que o Courier não faz

***

* O Courier não cria mensagens de pagamento. Cada mensagem SPB que o Courier envia à JD vem de um motor.
* O Courier não acessa um ledger e não guarda saldos. Cada motor mantém os próprios livros.
* O Courier não decide se um motor aceita ou recusa um pagamento. Ele repassa a resposta do motor.

## Como ele roda

***

O Courier roda na sua própria nuvem (BYOC) ou na Lerian Cloud, onde a Lerian o opera. Ele usa o próprio banco de dados PostgreSQL. Um binário roda em quatro papéis, e o chart Helm roda cada papel como um deploy próprio:

| Papel | O que faz |
| - | - |
| `spb-consumer` | Lê as mensagens SPB da JD e as roteia. Roda como exatamente uma réplica. |
| `spb-sender` | Serve a interface SPB que os motores chamam para receber e enviar mensagens. |
| `pix-ingress` | Recebe as chamadas Pix da JD e as entrega aos motores. |
| `admin` | Serve a API do operador, a API que os motores chamam e a conciliação. |

A configuração está em [Deploy e configuração](/pt/interfaces/jd-courier/jd-courier-deployment).

## Por onde começar

***

1. **[Como o roteamento funciona](/pt/interfaces/jd-courier/jd-courier-routing)**: o mapa de titularidade, as regras de roteamento de cada trilho e o que acontece com uma mensagem que o Courier não consegue rotear.
2. **[Conectar um motor](/pt/interfaces/jd-courier/jd-courier-engine-integration)**: o que a equipe de cada motor muda e implementa para trabalhar atrás do Courier.
3. **[Deploy e configuração](/pt/interfaces/jd-courier/jd-courier-deployment)**: o chart Helm, os quatro papéis e as variáveis de ambiente.
4. **[Operação diária](/pt/interfaces/jd-courier/jd-courier-operations)**: o trabalho do seu operador, das mensagens retidas às movimentações de contas.
5. **A [referência da API](/pt/reference/interfaces/jd-courier/list-the-registered-engines)** e a [lista de erros do JD Courier](/pt/reference/interfaces/jd-courier/jd-courier-error-list).


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