Pular para o conteúdo principal

Erros e novas tentativas

As APIs da Alkax utilizam códigos de estado HTTP para o resultado principal e corpos de resposta estruturados para os detalhes legíveis por máquina e por pessoas.

Códigos de estado comuns​

EstadoSignificadoAção do cliente
400Pedido inválido ou falha de validaçãoCorrija o pedido antes de o reenviar
401Credencial em falta, malformada, inválida, expirada ou revogadaSubstitua a credencial
402É necessária uma subscrição pagaAtive ou renove a subscrição do titular do projeto
403Autenticado, mas sem permissãoVerifique os âmbitos, o acesso e a titularidade do tenant
404Recurso não encontrado ou não visível para este tenantVerifique o ID estável; não faça sondagens repetidas
409Conflito de ciclo de vida, duplicação ou idempotênciaLeia o recurso atual e reconcilie
429Limite de frequência ou franquia mensal do plano atingidosRespeite Retry-After, reduza a utilização ou atualize o plano
5xxFalha temporária do servidorRepita um número limitado de vezes com espera exponencial

Padrão seguro de novas tentativas​

  1. Defina um tempo limite para o pedido.
  2. Repita apenas falhas de rede, respostas 429 e resultados 5xx transitórios documentados.
  3. Reutilize a mesma chave de idempotência ao repetir o mesmo pedido lógico de criação.
  4. Adicione espera exponencial com variação aleatória.
  5. Pare após um número limitado de tentativas e apresente a falha para revisão.

Nunca repita uma resposta 400 sem alterar o pedido. Evite criar uma nova chave de idempotência apenas porque a primeira resposta se perdeu; isso pode transformar uma operação pretendida em duas.

Mensagens traduzidas​

Algumas APIs traduzem as mensagens legíveis por pessoas com base em Accept-Language. Não faça a lógica do programa depender de texto traduzido. Guarde antes o estado, o ID estável do recurso e o código de erro legível por máquina.