Exercitar a chave de idempotência
Reserva uma chave e devolve o resultado guardado. Repetir com o MESMO corpo devolve o mesmo resultado; com corpo diferente, recusa.
POSThttps://api.navenaut.com/idempotency/{key}
Autenticação
Rota pública: não exige credencial. A ausência é declarada, não omissão.
Esta rota não exige autenticação. Ela não move dinheiro e não lê nada de conta nenhuma.
Parâmetros
Caminho
| Nome | Tipo | Descrição |
|---|---|---|
keyobrigatório | texto | A chave a reservar, de 1 a 128 caracteres. Você escolhe o valor; a reserva é o que torna o repetir seguro. |
Corpo da requisição
application/json.
| Campo | Tipo | Descrição |
|---|---|---|
amountobrigatório | inteiro | Um valor qualquer, só para compor o corpo cuja assinatura separa repetição de recusa. |
memo | texto | Texto livre e opcional, de até 1024 caracteres. Ele entra na assinatura do corpo como qualquer outro campo. |
{
"amount": 1,
"memo": "exemplo"
}Respostas
200 · sucesso
{
"replayed": true,
"result": {
"amount": 1,
"memo": "exemplo"
}
}Reserva nova, ou repetição do mesmo corpo.
400 · requisição inválida
A chave começa por um início que a Naut reserva, ou contém caractere de controle; nada foi reservado.
409 · conflito
A mesma chave já foi usada com um corpo diferente.
Erros desta rota
| Status | Código | Quando | O que fazer |
|---|---|---|---|
| 400 | IDEMPOTENCY_KEY_RESERVED | A chave 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 gravado. | Escolha outra chave, que não comece por nenhum desses inícios. |
| 400 | IDEMPOTENCY_KEY_INVALID | A chave contém um caractere de controle (por exemplo um byte nulo, %00). A recusa vem antes da reserva: nada foi gravado. | Use uma chave só com caracteres imprimíveis, de até 128 caracteres. |
| 409 | IDEMPOTENCY_FINGERPRINT_MISMATCH | Esta chave já foi reservada antes com um corpo diferente do que você acaba de enviar. A assinatura é do corpo inteiro: mudar um centavo ou o texto do memo já faz dele outro pedido, e é essa recusa que impede uma chave reaproveitada de devolver o resultado de outra operação. | Decida qual dos dois pedidos você quer. Para repetir o primeiro, reenvie o corpo exato dele com esta mesma chave. Para o pedido novo, gere uma chave nova. Repetir com o corpo diferente devolve sempre o mesmo 409. |
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.