Справочник по API

API сервера предназначен для двух основных задач:

  1. Взаимодействие с аппаратными датчиками.

  2. Предоставление агрегированных данных для панели мониторинга.

Аутентификация

API является открытым. Аутентификация или авторизация по токенам отсутствует. Сервер идентифицирует каждое устройство по его уникальному IP-адресу.

Ограничение скорости (Rate Throttling)

Для защиты от злоупотреблений и чрезмерной нагрузки на API действует система ограничения скорости запросов.

  • Эндпоинт отправки данных (POST /api/sensor/data/): Имеет динамическое ограничение, которое настраивается в админ-панели (Таймаут на стороне сервера). Если устройство превышает лимит, оно получит ответ 429 Too Many Requests.

  • Остальные эндпоинты: Имеют глобальное ограничение в 100 запросов в минуту с одного IP-адреса.

Визуальный интерфейс API (Swagger)

Проект использует стандарт OpenAPI для автоматической генерации интерактивной документации. Она доступна по адресу /api/docs/ и позволяет не только просматривать все эндпоинты, но и отправлять тестовые запросы прямо из браузера.

Интерфейс Swagger UI для API

Last updated