Erros
Quando dá erro, success vem false, message explica o que houve e o código HTTP diz o que fazer.
{
"success": false,
"message": "Créditos insuficientes.",
"errors": { "balance": 12 }
}- Decida pelo código HTTP. Ele é o que diz o tipo do erro.
- Mostre ou registre a
message. Ela explica o que aconteceu. Quase sempre vem em português; os detalhes de campo emerrorspodem vir em inglês. - Leia
errorspara os detalhes. Pode vir vazio, e pode trazer campos além dos descritos aqui (como umstatus_codenumérico, que serve só para o suporte).
Códigos HTTP
| HTTP | Significa | O que fazer |
|---|---|---|
400 | Pedido mal formado. | Confira o JSON enviado. |
401 | Token ausente, inválido, apagado ou vencido. | Confira o cabeçalho Authorization. Se o token foi apagado, crie outro no painel. |
402 | Saldo insuficiente para gerar as keys. | Nada foi cobrado. errors.balance traz o seu saldo; compre créditos e tente de novo. |
403 | O token não tem a permissão da rota, ou a key não é sua. | errors.required_scope diz a permissão que falta. Crie um token com ela. |
404 | Rota, produto ou key não encontrado. | Confira o id e o endereço. |
409 | Idempotency-Key repetida com pedido diferente, ou o primeiro pedido ainda está rodando. | Pedido novo: use um código novo. Mesmo pedido: espere alguns segundos e repita. |
422 | Dados inválidos ou faltando. | A message diz o que corrigir; em erro de campo, errors traz a lista por campo. |
429 | Limite de chamadas atingido. | Espere os segundos do cabeçalho Retry-After e tente de novo. Veja os limites. |
500 | Erro do nosso lado. | Repita com a mesma Idempotency-Key. Se continuar, fale com o suporte. |
Erro de campo (422)
Quando um campo vem errado, errors traz cada campo com a lista de problemas dele:
{
"success": false,
"message": "Dados inválidos.",
"errors": {
"quantity": ["The quantity field must not be greater than 50."]
}
}Repetir ou não repetir
| Repita | Não repita |
|---|---|
Erro de rede, timeout, 500 — com a mesma Idempotency-Key. | 400, 401, 402, 403, 404, 422 — corrija antes. |
409 de pedido ainda rodando — depois de alguns segundos. | 409 de código usado em outro pedido — crie um código novo. |
429 — depois de esperar. |