Pular para o conteúdo
API e webhooksv1
openapi.yaml
Menu da APIErros

Erros

Todo erro da API vem em application/problem+json (RFC 9457), com um codigo estável para o seu código tratar e um requisicao_id para o suporte. A mensagem é genérica: nunca traz detalhe interno. A exceção é o 405 (método errado numa rota que existe): ele vem do servidor, sem corpo e sem codigo.

JSON
{
  "type": "https://precificador3d.com.br/docs/api/erros/dados_invalidos",
  "title": "Dados inválidos",
  "status": 400,
  "codigo": "dados_invalidos",
  "detail": "Confira os campos indicados.",
  "requisicao_id": "req_01HF8Z3K2M9QX",
  "erros": [
    { "campo": "itens[0].quantidade", "codigo": "fora_da_faixa" }
  ]
}
  • type é o endereço da explicação do erro neste site.
  • erros só vem em validação, um por campo, sem repetir o valor enviado.
  • limite só vem no 429: chave, conta, global ou ip.
  • Toda resposta, de erro ou não, traz o cabeçalho Precificador-Requisicao-Id.

Como tratar

  • 4xx (fora 408, 409 e 429): corrija antes de repetir. Repetir igual dá o mesmo erro.
  • 408: o corpo chegou devagar demais; repita com a mesma Idempotency-Key.
  • 409 e 429: espere os segundos de Retry-After e repita (com a mesma Idempotency-Key, se for POST).
  • 5xx: repita com espera crescente (1 s, 2 s, 4 s…), sempre com a mesma Idempotency-Key.
  • Trate pelo codigo, não pelo texto: o texto pode mudar.

Todos os códigos

StatusCódigoQuando
400dados_invalidosDados inválidos
400campo_desconhecidoCampo desconhecido
400filtro_desconhecidoFiltro desconhecido
400cursor_invalidoCursor inválido
400idempotencia_obrigatoriaIdempotency-Key obrigatória
400chave_na_urlChave na URL
401nao_autenticadoNão autenticado
403escopo_insuficienteEscopo insuficiente
403conta_bloqueadaConta bloqueada
403modulo_desligadoMódulo desligado
403chave_suspensaChave suspensa
404nao_encontradoNão encontrado
405metodo_nao_permitidoMétodo não permitido
408tempo_esgotadoTempo esgotado
409idempotencia_em_andamentoOperação em andamento
409status_mudouO status mudou
409conflitoConflito
413corpo_grande_demaisCorpo grande demais
415tipo_nao_suportadoTipo de conteúdo não suportado
422referencia_invalidaReferência inválida
422saldo_insuficienteSaldo insuficiente
422quantidade_invalidaQuantidade inválida
422idempotencia_conflitoIdempotency-Key reaproveitada
422transicao_invalidaTransição não permitida
422regra_de_negocioRegra de negócio
429limite_excedidoLimite excedido
429cota_mensal_excedidaCota mensal excedida
429concorrencia_excedidaSimultâneas demais
500erro_internoErro interno
503indisponivelIndisponível

Esta página em Markdown · llms.txt