📋 Базовые понятия
Запросы к серверу осуществляются по протоколу HTTPS, используя методы GET и POST. Полезная нагрузка в запросах передается:
- Как часть пути запроса для простых GET запросов
- В формате JSON для POST запросов
Хост для API запросов
bash
https://api.luckypay.proВо всех запросах должны присутствовать следующие заголовки:
| Заголовок | Значение | Описание |
|---|---|---|
| Content-Type | application/json | Формат данных запроса |
| X-API-Key | API-KEY | Ключ API, например 00000000-0000-4000-8000-000000000000 |
Ограничения на количество запросов
Максимальное число запросов с одного IP адреса - 15 запросов в секунду. При превышении лимита числа запросов будет возвращаться код 429, Too Many Requests.
Формат даты и времени
Все значения даты и времени в запросах и ответах передаются со стандартом UTC в формате ISO 8601 - "ГГГГ-ММ-ДДTЧЧ:ММ:СС" (в ответах возможны дробные доли секунд и суффикс Z).
Пример - "2024-07-04T15:40:20.569613Z"
Опциональные поля
Если значение поля равно null, это поле можно не указывать в запросе.
📅 Фильтры диапазона даты и времени
- Максимальный диапазон: 90 дней
- Максимальная давность данных: 365 дней
- Обязательное условие: при указании
start_dateобязательно указыватьend_dateи наоборот - Если оба поля
null: возвращаются данные за последние 24 часа - При несоблюдении условий: возвращается ошибка валидации (код 422)
HTTP Коды ответов
Успешные ответы:
- 200 - Запрос прошел успешно
- 201 - Запрос прошел успешно, был создан ресурс, возвращенный в теле ответа
Ошибки клиента:
- 400 - Ошибка валидации / некорректный запрос
- 401 - Неверный / отсутствующий API ключ
- 402 - Недостаточный баланс для осуществления Sell ордера
- 403 - Операция не авторизована
- 422 - Ошибка валидации входных данных
- 429 - Лимит запросов / блокировка антифродом
Серверные ошибки:
- 500 - Нет трейдеров / внутренняя ошибка сервера
Особенности кода 422
Ответ с кодом 422 может иметь один из двух форматов:
- Нарушение бизнес-правил: поле
messageсодержит детальное объяснение причин, по которым запрос не может быть выполнен, несмотря на корректный синтаксис. - Ошибка валидации входных данных: ответ имеет вид
{"detail": "Validation Failed.", "error": "..."}(без поляmessage), гдеerrorсодержит описание ошибок валидации.