# Device & Desktop API [← Главная](../index.md) Управление десктопами (установками приложения) и устройствами (подключёнными Android телефонами). --- ## Desktop Desktop — это одна установка ARCDeskProject. Каждый desktop содержит список устройств. ### GET `/api/v1/desktop/` 🔒 Получить все десктопы профиля. ### POST `/api/v1/desktop/` 🔒 Зарегистрировать новый десктоп. **Тело запроса:** ```json { "blue_token": "string", "name": "Мой компьютер", "contact": "string", "app_version": "1.0.0" } ``` **Ответ** содержит `id` (UUID) и `unique_name`. ### PATCH `/api/v1/desktop/{desktop_id}` 🔒 Обновить данные десктопа (версию, session_time и т.д.). --- ## Device Device — физическое Android-устройство, подключённое к десктопу через ADB. ### GET `/api/v1/device/{desktop_id}` 🔒 Получить все устройства десктопа. ### POST `/api/v1/device/` 🔒 Зарегистрировать новое устройство. **Тело запроса:** ```json { "desktop_id": "uuid", "status": "ONLINE", "name": "Pixel 6", "screen_width": 1080, "screen_height": 2400, "battery": 85 } ``` **`DeviceStatus`:** `"ONLINE"` | `"OFFLINE"` **Ответ** содержит `id` (UUID) — сохраняется как `api_id` в таблице `devices`. ### PATCH `/api/v1/device/{device_id}` 🔒 Обновить статус, battery, update_time устройства. ```json { "status": "ONLINE", "battery": 72, "update_time": 1700000000 } ``` ### POST `/api/v1/device/add_screenshot/{device_id}` 🔒 Загрузить скриншот экрана устройства. **Тип запроса:** `multipart/form-data` | Поле | Тип | Описание | |------|-----|----------| | `file` | binary | JPEG-скриншот | **Ответ:** ```json { "success": true, "data": { "id": "uuid", "device_id": "uuid", "screenshot_url": "https://...", "taken_at": "2024-01-01T12:00:00" } } ``` --- ## Связь с кодом проекта | API | Метод в коде | |-----|-------------| | `POST /api/v1/desktop/` | `NetworkService::loginAndSetup()` | | `POST /api/v1/device/` | `NetworkService::createDevice()` | | `PATCH /api/v1/device/{id}` | `NetworkService::updateDevice()` | | `POST /api/v1/device/add_screenshot/{id}` | `NetworkService::postDeviceScreenshot()` |