Skip to main content

Erros

A API Pública usa códigos HTTP padrão para indicar sucesso ou falha. Todas as respostas de erro seguem o mesmo formato JSON.

Formato de erro

{
  "detail": "Mensagem descritiva do erro"
}
Para erros de validação (422), o formato inclui detalhes dos campos:
{
  "detail": [
    {
      "loc": ["body", "nome"],
      "msg": "Campo obrigatório",
      "type": "value_error.missing"
    }
  ]
}

Tabela de códigos

CódigoStatusDescriçãoQuando ocorre
200OKRequisição bem-sucedidaOperação executada com sucesso
201CreatedRecurso criadoPOST que cria novo recurso
400Bad RequestRequisição malformadaJSON inválido, parâmetros incorretos
401UnauthorizedNão autenticadoAPI Key ausente, inválida ou revogada
403ForbiddenSem permissãoPlano sem api_access habilitado
404Not FoundRecurso não encontradoID inexistente ou recurso de outra empresa
422Unprocessable EntityErro de validaçãoCampos obrigatórios ausentes ou formato inválido
429Too Many RequestsRate limit excedidoMais de 60 req/min por API Key
500Internal Server ErrorErro internoErro inesperado no servidor

Exemplos por código

401 — API Key inválida

{
  "detail": "API Key inválida ou não fornecida"
}

403 — Plano sem acesso

{
  "detail": "Seu plano não inclui acesso à API Pública. Faça upgrade para continuar."
}

404 — Recurso não encontrado

{
  "detail": "Cliente não encontrado"
}

422 — Erro de validação

{
  "detail": [
    {
      "loc": ["body", "nome"],
      "msg": "Campo obrigatório",
      "type": "value_error.missing"
    }
  ]
}

429 — Rate limit excedido

{
  "detail": "Rate limit excedido. Tente novamente em alguns segundos."
}

500 — Erro interno

{
  "detail": "Erro interno do servidor. Tente novamente mais tarde."
}

Boas práticas de tratamento

Sempre verifique o código HTTP antes de processar a resposta. Implemente retry apenas para erros 429 e 5xx.
  1. 401/403: verifique se a API Key está correta e se o plano possui api_access
  2. 404: confirme que o ID existe e pertence à sua empresa
  3. 422: valide os dados antes de enviar; confira campos obrigatórios e formatos
  4. 429: implemente backoff exponencial; respeite o header Retry-After
  5. 500: tente novamente após alguns segundos; se persistir, entre em contato com o suporte