Регламент передачи данных с пасек

Как правильно отправлять информацию с ульев в BeeDataMaster

Основные требования

  • Метод: POST
  • URL: https://beedatamaster.com/api/data
  • Заголовок: Content-Type: application/json
  • Аутентификация: X-API-Key: ваш_ключ (выдаётся после регистрации пасеки)
  • Рекомендуемая частота: каждые 5–15 минут
  • Максимум: 1 запрос в минуту на улей, 100 запросов/мин на ключ

Структура JSON-пакета

{
  "api_key":      "ваш_ключ_из_кабинета",                  // обязательно
  "hive_id":      "pas-001-uuid-abcdef123",               // обязательно
  "timestamp":    "2026-02-18T14:30:00Z",                 // обязательно, UTC ISO 8601
  "measurements": {
    "temperature_inside": 34.5,                           // °C, обязательно
    "humidity_inside":    62.3,                           // %, обязательно
    "weight":             41.78,                          // кг (вес всего улья), обязательно
    "temperature_outside": 11.2,                          // °C, желательно
    "activity_level":     68,                             // 0–100 %, желательно
    "battery":            3.92,                           // Вольт, желательно
    "custom": {                                           // любые доп. поля
      "sound_db": 48.1,
      "entrance_count": 145
    }
  }
}

Минимальный рабочий пример

{
  "api_key": "xyz789-abc123-def456",
  "hive_id": "my-ul-005",
  "timestamp": "2026-02-18T14:30:00Z",
  "measurements": {
    "temperature_inside": 35.1,
    "humidity_inside": 59.8,
    "weight": 39.40
  }
}

Ответ сервера

Успех (201 Created или 200 OK):

{
  "status": "ok",
  "received_at": "2026-02-18T14:30:05.123Z",
  "record_id": "rec-uuid-987654321"
}

Ошибка (примеры):

{
  "status": "error",
  "message": "Missing field: temperature_inside"   // или "Invalid api_key" и т.д.
}