Saltar para o conteúdo principal

Formato de erro

Todos os erros retornam uma resposta JSON com um campo detail:
{
  "detail": "Insufficient balance"
}
Alguns erros incluem um code estruturado para tratamento programático:
{
  "detail": {
    "error": {
      "code": "INSUFFICIENT_BALANCE",
      "message": "Not enough TRX balance"
    }
  }
}

Códigos de Status HTTP

CódigoSignificado
200Sucesso
400Requisição inválida — parâmetros incorretos
401Não autorizado — chave de API ausente ou inválida
403Proibido — chave desabilitada ou ação não permitida
404Não encontrado
409Conflito — requisição duplicada ou conflito de recurso
422Erro de validação — verifique o corpo da requisição
429Limite de taxa excedido
500Erro do servidor

Códigos de erro comuns

CódigoDescrição
INSUFFICIENT_BALANCESaldo da conta insuficiente para esta operação
ADDRESS_ALREADY_ACTIVESmart Mode já está ativo para este endereço
ORDER_NOT_FOUNDID do pedido não existe
INVALID_ADDRESSEndereço TRON inválido
RATE_LIMITEDMuitas requisições, tente novamente após o período de espera
PASSKEY_REQUIREDSaque requer verificação por passkey
2FA_REQUIREDSaque requer código 2FA

Estratégia de retry

Para erros 429 e 5xx, implemente backoff exponencial:
import time
import requests

def api_call_with_retry(url, **kwargs):
    for attempt in range(3):
        resp = requests.get(url, **kwargs)
        if resp.status_code == 429 or resp.status_code >= 500:
            time.sleep(2 ** attempt)
            continue
        return resp
    raise Exception("Max retries exceeded")