Обработка ошибок
Правильно написанное приложение должно корректно обрабатывать ошибки, возвращаемые API. API xRocket Exchange использует стандартные коды состояния HTTP для обозначения успеха или неудачи запроса. При возникновении ошибки API вернет соответствующий код состояния HTTP и тело ответа в формате JSON, содержащее конкретные сведения об ошибке.
Коды состояния HTTP
API использует следующие коды состояния:
| Код | Значение | Описание |
|---|---|---|
200 | OK | Запрос был успешным. |
400 | Bad Request | Запрос содержит ошибки (например, отсутствующий параметр или неверный символ). Обратитесь к справочнику API для получения списка допустимых торговых пар. |
401 | Unauthorized | Аутентификация не удалась или отсутствует (неверный Bearer Token). Убедитесь, что ваш токен правильно указан в заголовке Authorization: Bearer <токен>. |
403 | Forbidden | У аутентифицированного пользователя нет разрешения на доступ к этому ресурсу. |
404 | Not Found | Запрошенный метод (endpoint) или ресурс не существует. |
429 | Too Many Requests | Вы превысили лимиты частоты запросов API. Реализуйте задержку или стратегию "экспоненциальной задержки" ("exponential back-off") в своем коде, чтобы замедлить запросы. |
500 | Internal Server Error | Произошла общая ошибка сервера с нашей стороны. |
503 | Service Unavailable | Сервер временно недоступен из-за обслуживания или перегрузки. |
Структура ответа с ошибкой
При возникновении ошибки API обычно возвращает объект JSON с согласованной структурой, которая поможет вам отладить проблему:
{
"type": "/api/problems/client_data_validation",
"title": "Client data validation error",
"status": 400,
"detail": "A human-readable description of the error.",
"instance": "/api/problems/instances/ada06f0c-8ca8-457a-9906-4feb8c999169",
"kind": "validation"
}
Лимиты частоты запросов (Rate Limits)
Для обеспечения справедливого использования и стабильности системы мы применяем лимиты частоты запросов к нашим конечным точкам API.
Если вы превысите лимиты частоты запросов, вы получите код состояния HTTP 429 Too Many Requests. Заголовки ответа предоставят подробную информацию о том, когда вы сможете повторить запрос (например, заголовок Retry-After). Ваше приложение должно перехватывать эту ошибку и приостанавливать запросы до истечения указанного времени.
- Проверьте аутентификацию: Большинство проблем связано с ошибками аутентификации. Дважды проверьте формат вашего заголовка
Authorization: Bearer <ВАШ_ТОКЕН>. - Проверьте
Content-Type: Убедитесь, что для всех POST-запросов установлен заголовокContent-Type: application/json. - Используйте тестовую сеть (Testnet): Всегда тестируйте новую логику в среде Testnet перед развертыванием в основной сети (Mainnet).