Referência
Erros
Todos os erros vêm no mesmo envelope; tome decisões pelo campo code, não pelo texto da mensagem.
Envelope de erro
{
"error": {
"code": "not_found",
"message": "Order not found.",
"request_id": "83955522c09ff2d1"
}
}Um caminho inexistente também retorna JSON 404 not_found no mesmo envelope; nunca uma página HTML.
Códigos
| HTTP | code | Quando |
|---|---|---|
| 401 | unauthorized | Token ausente, malformado ou inválido. |
| 403 | insufficient_scope | O token não tem o escopo exigido por este endpoint. |
| 403 | tier_required | O recurso solicitado não está incluído no seu plano (por exemplo, escolher seu próprio nome de usuário). |
| 403 | forbidden | Esta operação não é permitida. |
| 404 | not_found | O recurso não foi encontrado ou está oculto porque venceu. |
| 404 | api_disabled | O acesso à API está desativado. |
| 405 | method_not_allowed | Este endpoint não suporta este método HTTP. Os métodos suportados estão no cabeçalho Allow. |
| 400 | invalid_request | Campo inválido, campo ou parâmetro desconhecido, campo exclusivo de outro tipo. |
| 402 | insufficient_balance | O saldo não é suficiente para esta operação. |
| 409 | conflict | Conflito de estado: serviço que não pode ser renovado, requisição idempotente ainda em processamento, nome de usuário já em uso. |
| 429 | rate_limited | O limite de requisições foi excedido. |
| 502 / 503 | service_unavailable | Não foi possível acessar o provedor ou o armazenamento de logs; tente de novo. |
| 500 / 502 | internal_error | Erro inesperado; entre em contato com o suporte informando o request_id. |
details
Se o erro tiver um detalhe legível por máquina, ele vem no campo details: o campo com erro (field), o estoque (available), a quantidade mínima (min_required), o saldo (balance), o valor máximo permitido (max), o motivo do erro (reason) etc. Por exemplo, se o tipo de serviço estiver em manutenção, vem reason: maintenance junto com service_unavailable.
402 insufficient_balance
{
"error": {
"code": "insufficient_balance",
"message": "Insufficient balance for this operation.",
"request_id": "5f1c0a9e7b2d4c61",
"details": { "field": "balance", "balance": 3.2, "min_required": 12.5 }
}
}request_id
Registre o valor de request_id nos seus logs; a equipe de suporte pode buscar por esse ID nos registros do servidor.