Tratamento de Erros
Tudo o que você precisa saber para debugar sua integração: lista de status HTTP, dicionário de error_codes e como utilizar o request_id para suporte.
Nossa API usa códigos de status HTTP padrão para indicar o sucesso ou falha de uma requisição. Quando uma chamada falha, nós sempre retornamos um corpo JSON padronizado que fornece detalhes sobre o que deu errado.
A melhor prática para sua integração é:
- Verificar o código de status HTTP (o "o quê").
- Analisar (parse) o corpo da resposta JSON (o "porquê").
- Implementar sua lógica de retry (nova tentativa) ou de tratamento com base no error_code que fornecemos.
Atenção aos Erros Específicos: Os códigos e mensagens de erro podem variar conforme o endpoint. Consulte sempre a seção de respostas de cada recurso para tratar as exceções corretamente.
1. Estrutura da Resposta de um Erro
Qualquer chamada que não resulte em um 2xx (Sucesso) retornará um objeto JSON com a seguinte estrutura. Nós nunca retornamos uma string HTML ou um erro genérico.
Exemplo de Resposta de Erro (ex: 400 Bad Request)
{
"code": "REQUEST_VALIDATION_ERROR",
"message": "Some fields are not valid",
"details": [
{
"target": "field",
"message": "error description"
}
]
}1.1. Campos do Objeto de Erro
Mantemos um modelo de retorno onde buscamos fornecer informações para que seja possível entender o erro de acordo com cada endpoint e suas especificidades. Veja abaixo os campos retornados:
| Campo | Descrição |
|---|---|
code | O código de status HTTP de erro retornado. Pode ser: 2xx, 4xx ou 5xx |
key | Para erros de objeto de API, uma string curta da lista do lado direito, descrevendo o tipo de erro que ocorreu. |
message | Uma mensagem legível que fornece uma breve descrição do erro. |
details | Uma mensagem legível que fornece mais detalhes sobre o erro. |
2. Códigos de Status HTTP
| Código | Status | Descrição |
|---|---|---|
200 ou 201 | OK | Sua solicitação foi concluída com sucesso, seja consulta (GET) ou envio (POST) de informação. |
400 | Bad Request | Indica que a solicitação não pode ser concluída ou contém alguma informação incorreta/inválida. Verifique o detalhamento do erro no retorno |
401 | Invalid Token | Token de acesso utilizado está inválido ou expirado. |
403 | Forbidden | Você autenticou, mas não tem permissão para acessar o recurso. |
404 | Not found | Rota não foi encontrada ou existe alguma informação incorreta. |
500 | Internal Server Error | Ocorreu um erro interno na aplicação |
Updated about 14 hours ago