USDTLowFee

Коды ошибок и обработка

Понимание и обработка ошибок API

Формат ответа с ошибкой

Все ответы с ошибками используют единый формат:

{
  "error": {
    "code": "ERROR_CODE",
    "message": "Человекочитаемое сообщение об ошибке",
    "details": "Дополнительный контекст (опционально)"
  }
}

💡 Используйте error.code в качестве стабильного условия ветвления (message может изменяться)

Коды статуса HTTP

200 OK

Запрос выполнен успешно

200

201 Created

Ресурс успешно создан

201

400 Bad Request

Параметры запроса недействительны

400
{
  "code": "INVALID_REQUEST",
  "message": "Неверный формат запроса"
}

401 Unauthorized

Не авторизован или недействительный API-ключ

401
{
  "code": "UNAUTHORIZED",
  "message": "Недействительный или истекший API-ключ"
}

403 Forbidden

Недостаточный баланс аккаунта или прав доступа

403
{
  "code": "INSUFFICIENT_BALANCE",
  "message": "Баланс аккаунта недостаточен"
}

404 Not Found

Ресурс не найден

404
{
  "code": "ORDER_NOT_FOUND",
  "message": "Заказ не найден"
}

409 Conflict

Конфликт ресурсов

409
{
  "code": "ADDRESS_EXISTS",
  "message": "Адрес уже существует"
}

429 Too Many Requests

Превышен лимит частоты запросов для API-ключа

429
{
  "code": "RATE_LIMITED",
  "message": "Превышен лимит частоты запросов"
}

500 Internal Server Error

Внутренняя ошибка сервера

500
{
  "code": "INTERNAL_ERROR",
  "message": "Произошла непредвиденная ошибка"
}

503 Service Unavailable

Сервис временно недоступен (на обслуживании)

503
{
  "code": "SERVICE_UNAVAILABLE",
  "message": "Сервис временно недоступен"
}

Распространенные коды ошибок

Error Code Status Description Solution
UNAUTHORIZED 401 API-ключ недействителен, истек или отозван Проверьте правильность API-ключа, при необходимости создайте новый
INSUFFICIENT_BALANCE 403 Недостаточный баланс аккаунта Пополните баланс аккаунта
INVALID_ADDRESS 400 Неверный формат TRON-адреса Проверьте, является ли адрес действительным TRON-адресом (начинается с T)
INVALID_ENERGY_AMOUNT 400 Неверное количество энергии Количество энергии должно быть положительным целым числом, рекомендуется 65000 для переводов USDT
INVALID_DURATION 400 Неверная длительность аренды Используйте допустимые длительности: 1H, 1D, 3D, 7D, 14D, 30D
ORDER_NOT_FOUND 404 Заказ не существует Проверьте правильность ID заказа
ADDRESS_EXISTS 409 Адрес уже существует Проверьте, не был ли адрес уже добавлен, или используйте существующий адрес
RATE_LIMITED 429 Превышен лимит частоты запросов для API-ключа (в настоящее время применяется только к POST /v1/wallet/recharges) Реализуйте повтор с экспоненциальной задержкой или уменьшите частоту вызовов

Как обрабатывать

Error Handling
401 UNAUTHORIZED Проверить/сменить API-ключ
403 INSUFFICIENT_BALANCE Пополнить баланс или уменьшить сумму запроса
409 ADDRESS_EXISTS Переключиться на запрос/идемпотентную обработку
429 RATE_LIMITED Повтор с задержкой (следуйте Retry-After если есть, иначе экспоненциальная задержка)
5xx Повтор + логирование контекста запроса

Рекомендации по повторам

  • • максимум повторов: 3
  • • задержка: экспоненциальная (1с, 2с, 4с...)
  • • повторять только 429/5xx
  • • не повторять 4xx (ошибки клиента)