Documentação da API v1 · Conheça a Naut
v1

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

NomeTipoDescrição
keyobrigatóriotextoA 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.

CampoTipoDescrição
amountobrigatóriointeiroUm valor qualquer, só para compor o corpo cuja assinatura separa repetição de recusa.
memotextoTexto 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

StatusCódigoQuandoO que fazer
400IDEMPOTENCY_KEY_RESERVEDA 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.
400IDEMPOTENCY_KEY_INVALIDA 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.
409IDEMPOTENCY_FINGERPRINT_MISMATCHEsta 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.