Fluxo ponta a ponta¶
Para: Dev — Conferido em 2026-10-18.
Quem fala com quem, em que ordem, e onde cada garantia (idempotência, fetch-back, reserva) acontece no conector da Nero. Os detalhes de implementação estão em Depósito, Saque e Webhook, eventos e reconciliação.
O que é¶
O desenho geral está em Arquitetura do conector. Aqui ficam os nomes dos componentes da Nero e as fronteiras entre eles.
| Fronteira | O que cruza | O que nunca cruza |
|---|---|---|
| Jogador para o portal | Sessão, valor, método, chave PIX de saque, CPF | Nada do Dracma |
Portal para o nero_payments |
X-Nero-Identity (quem é o jogador) e o corpo do pedido |
Identidade vinda do corpo |
nero_payments para o Dracma |
external_id, player.external_ref (opaco), documento, nome, e-mail, IP e device (risco e exigências), valor na menor unidade, destino do saque, review_requested |
Senha, sessão, token da bet, dados de jogo |
Dracma para o nero_payments |
Objetos de depósito e saque, BR Code, eventos assinados, reconciliação | Credencial de PSP, dados de outra operação |
Quando usar¶
Use esta página para ver o conjunto antes de implementar uma rota. Os dois diagramas abaixo mostram o caminho feliz; os casos de borda estão em cada página de implementação.
Como funciona¶
Depósito¶
- Se o
POST /v1/depositsder timeout,5xxou429, o intent continua no outbox e um worker repete com a mesma chave. O front recebe202 {status: creating}e faz polling. - Se o webhook se perder, o job de
GET /v1/events(a cada 5 minutos) encontra odeposit.paide passa pelo mesmo caminho: dedup, fetch-back e crédito. - O polling do front lê o estado local do
nero_payments. Não é um proxy para o Dracma.
Saque¶
- A reserva vem antes do
POSTe só volta emrejected,failedoucancelled(confirmados por fetch-back) ou em4xxconclusivo. Timeout e5xxnão devolvem reserva. under_reviewé decidido por revisores da Nero no painel do Dracma. O resultado chega por webhook comoapproved,processing,paid, ourejected.
O outbox dracma_intents¶
O modelo geral (colunas, estados e regras) está em Arquitetura do conector. Na Nero:
- A tabela se chama
dracma_intents. Oexternal_idédep_<uuidv7>ouwdr_<uuidv7>e é também odeposit_ide owithdrawal_idque o front enxerga. - Backoff de 1 s, 2 s, 4 s e assim por diante, até 60 s, respeitando o
Retry-After. - A métrica
nero_dracma_outbox_pendinge o alerta de intent pendente há mais de 10 minutos estão em Webhook, eventos e reconciliação.
Exemplos¶
O passo a passo em comandos, contra a operação nero-br-hml, está em Primeiros passos no sandbox.
Erros e casos de borda¶
O que o Dracma garante e o que é da Nero¶
| Garantia | Quem |
|---|---|
| Não criar duas cobranças nem dois saques para a mesma chave | Dracma, desde que a Nero repita com a mesma chave |
| Não pagar para chave PIX de terceiro; decidir automático, revisão ou bloqueio | Dracma (motor de regras e consulta de titularidade) |
Creditar uma vez, só em paid |
Nero (fetch-back e idempotência por external_id) |
| Reservar antes, devolver só em estado conclusivo | Nero |
| Não perder evento | Os dois: o Dracma reentrega por 72 horas e mantém GET /events; a Nero roda o job de 5 minutos |
| Provar que os dois livros batem | Os dois: reconciliação diária com digest assinado |