Reservar a chave do saque do painel
Reserva a chave de idempotência de um pedido de saque, para um duplo clique não virar dois. ELA NÃO SACA: nenhum centavo se move aqui.
Autenticação
A sessão do painel autentica esta rota, e ela é lida de forma autoritativa: não há parâmetro em que o chamador aponte para outra conta.
Esta rota não exige escopo nomeado — o que não quer dizer que ela seja aberta: sem a credencial acima ela recusa.
Exige sessão de vendedor. Tudo aqui é escopado pela sessão: não há parâmetro em que o chamador aponte para outra conta.
Parâmetros
Cabeçalho
| Nome | Tipo | Descrição |
|---|---|---|
idempotency-keyobrigatório | texto | OBRIGATÓRIA. É ela que se está reservando. O MESMO valor com o MESMO corpo devolve a MESMA resposta e marca replayed; com corpo diferente, recusa. |
Corpo da requisição
application/json.
| Campo | Tipo | Descrição |
|---|---|---|
amountCentsobrigatório | inteiro (centavos) | Quanto sacar, em centavos inteiros. Ele entra na assinatura da chave, e é ele que volta na resposta. |
currency | um de: `BRL`, `USD`, `EUR` | A moeda do saque. |
{
"amountCents": 129900,
"currency": "BRL"
}Respostas
200 · sucesso
{
"replayed": true,
"result": {
"amountCents": 129900,
"currency": "BRL"
}
}Chave reservada. replayed diz se esta foi a primeira reserva (false) ou a repetição de uma anterior (true), e result devolve o valor e a moeda que você enviou. Nenhum saldo foi lido, movido ou reservado: nem a LIBERAÇÃO de um saldo pendente, nem a EXECUÇÃO de um pagamento têm qualquer relação com esta chamada. Quem pede o saque de verdade é POST /payout/request.
400 · requisição inválida
O header idempotency-key não veio, ou começa por um início que a Naut reserva.
409 · conflito
A mesma chave de idempotência já foi usada com um corpo diferente.
Erros desta rota
| Status | Código | Quando | O que fazer |
|---|---|---|---|
| 400 | IDEMPOTENCY_KEY_RESERVED | O cabeçalho idempotency-key começa por um início que a Naut reserva para as próprias chaves (checkout-plan:, subscription-attempt:, renewal:, reward-claim: ou kyc-identity-correction:). A recusa vem antes da reserva: nada foi reservado. | Reenvie com outra chave, que não comece por nenhum desses inícios. Um UUID por pedido de saque serve. |
| 400 | IDEMPOTENCY_KEY_REQUIRED | A chamada chegou sem o cabeçalho idempotency-key, ou com ele em branco. Como é justamente a chave que esta rota existe para reservar, sem ela não há o que fazer: nada foi reservado. | Gere um valor por pedido de saque, envie no cabeçalho e reenvie. Repetir sem a chave devolve sempre o mesmo 400. |
| 409 | IDEMPOTENCY_FINGERPRINT_MISMATCH | Esta chave já foi reservada antes com outro valor ou outra moeda. É o que impede o segundo clique de um botão com o valor trocado de herdar a reserva do primeiro. | Para repetir o mesmo pedido, reenvie o valor e a moeda exatos da primeira reserva: a resposta volta igual, com replayed verdadeiro. Para um pedido de outro valor, gere uma chave nova. |
Os códigos são estáveis e fazem parte do contrato. A lista completa, com todos os vocabulários, está na tabela de erros.