# Локальний API хмарного телефону

Керуйте екземплярами хмарних телефонів через локальний API MoreLogin. Базова URL-адреса: http://127.0.0.1:40000. Локальний API працює на вашому комп'ютері разом із настільним додатком MoreLogin. Усі запити повинні надходити з того самого комп'ютера.

Version: 1.0.0

## Servers

MoreLogin  Local endpoint
```
http://127.0.0.1:40000
```

## Security

## Download OpenAPI description

[Локальний API хмарного телефону](https://guide.morelogin.com/_bundle/@l10n/uk/API%20Reference/Cloud%20Phone/local-api.yaml)

## Cloud Phone Management

### Отримання списку профілів хмарних телефонів

 - [POST /api/cloudphone/page](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/cloud-phone-management/pageusingpost.md)

### Створення профілю хмарного телефону

 - [POST /api/cloudphone/create](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/cloud-phone-management/createusingpost.md)

### Стартап-хмарний телефон

 - [POST /api/cloudphone/powerOn](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/cloud-phone-management/poweronusingpost.md)

### Вимкніть хмарний телефон

 - [POST /api/cloudphone/powerOff](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/cloud-phone-management/poweroffusingpost.md)

### Змінення профілю хмарного телефону

 - [POST /api/cloudphone/edit/batch](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/cloud-phone-management/editbatchusingpost.md)

### Налаштування проксі хмарного телефону

 - [POST /api/cloudphone/setProxy](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/cloud-phone-management/setproxy.md): Налаштування параметрів проксі для одного або кількох хмарних телефонів. Підтримується безпосереднє прив'язування proxyId або додавання/зміна детальних параметрів проксі. Формат даних запиту ідентичний конфігурації проксі браузера, налаштування застосовуються миттєво.

### Видалити профіль хмарного телефону

 - [POST /api/cloudphone/delete/batch](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/cloud-phone-management/deleteusingpost.md)

### Новий хмарний телефон одним клацанням миші

 - [POST /api/cloudphone/newMachine](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/cloud-phone-management/onenewusingpost.md)

### Деталі хмарного телефону

 - [POST /api/cloudphone/info](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/cloud-phone-management/infousingpost.md)

### Отримання відомостей про хмарний телефон за AndroidId

 - [POST /api/cloudphone/queryByAndroidId](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/cloud-phone-management/querybyandroidid.md): Запит ID хмарного телефону, пов'язаного з певним androidId в поточній команді. Повертає ID хмарного телефону, якщо його знайдено.

### Увімкнення або вимкнення глобального ROOT

 - [POST /api/cloudphone/enableRoot](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/cloud-phone-management/enableroot.md): Увімкнення або вимкнення глобальних прав ROOT на рівні системи на одному хмарному телефоні.

### Знімок екрана хмарного телефону

 - [POST /api/cloudphone/screenCap](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/cloud-phone-management/screencap.md): Отримання знімка екрана в реальному часі для вказаного екземпляра хмарного телефону. Підтримується повернення тимчасового підписаного URL-адреса з часом закінчення терміну дії.

### Знімок екрану хмарного телефону (відповідь base64)

 - [POST /api/cloudphone/screenCapBase64](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/cloud-phone-management/screencapbase64.md): Отримати знімок екрану в реальному часі вказаного екземпляра хмарного телефону. Наразі підтримуються лише Android 12 та Android 15.

### Запит щодо списку марок та моделей

 - [POST /api/cloudphone/brand/models](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/cloud-phone-management/paths/~1api~1cloudphone~1brand~1models/post.md): Запит списку доступних брендів та моделей для заданої версії Android

## ADB

### Оновити стан ADB хмарного телефону

 - [POST /api/cloudphone/updateAdb](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/adb/updateadbusingpost.md)

### Пакетний запит інформації ADB

 - [POST /api/cloudphone/batchAdbInfo](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/adb/batchadbinfo.md): Пакетний запит інформації про підключення ADB хмарного телефону.
- Список envIds підтримує максимум 200 елементів.
- Підтримуються змішані запити для провайдерів wuin та arm; API всередині групує за провайдером і об'єднує результати.
- Інформація ADB доступна лише тоді, коли телефон увімкнено (envStatus >= 4); її не можна запитати, коли він вимкнений або завантажується.

### Виконати команду оболонки

 - [POST /api/cloudphone/exeCommand](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/adb/executeshellcommand.md)

## Files

### Завантаження файлів

 - [POST /api/cloudphone/uploadFile](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/files/fileuploadusing.md)

### Отримати тимчасову URL-адресу файлу для завантаження

 - [POST /api/cloudphone/upload/file/signedUrl](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/files/paths/~1api~1cloudphone~1upload~1file~1signedurl/post.md): Завантажте тимчасові файли через цей інтерфейс, і система автоматично видалить їх через 7 днів

### Завантажте файл для URL-адреси

 - [POST /api/cloudphone/upload/file](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/files/paths/~1api~1cloudphone~1upload~1file/post.md)

### Результат завантаження файлу

 - [POST /api/cloudphone/upload/file/result](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/files/paths/~1api~1cloudphone~1upload~1file~1result/post.md)

### Завантаження файлу

 - [POST /api/cloudphone/download](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/files/paths/~1api~1cloudphone~1download/post.md)

### Результат завантаження файлу

 - [POST /api/cloudphone/download/result](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/files/paths/~1api~1cloudphone~1download~1result/post.md)

### Встановити скриньку з ключами

 - [POST /api/cloudphone/setKeyBox](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/files/paths/~1api~1cloudphone~1setkeybox/post.md)

## Apps

### Встановіть додаток на хмарний телефон

 - [POST /api/cloudphone/app/install](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1app~1install/post.md)

### Отримати список програм APP

 - [POST /api/cloudphone/app/page](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1app~1page/post.md): Отримати список програм APP

### Список додатків команди

 - [POST /api/cloudphone/team/app/page](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1team~1app~1page/post.md): Отримання списку додатків команди.

### Запит списку встановлених програм

 - [POST /api/cloudphone/app/installedList](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1app~1installedlist/post.md): Запит списку встановлених програм на хмарному телефоні

### Запустити програму

 - [POST /api/cloudphone/app/start](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1app~1start/post.md): Запустіть встановлену програму на хмарному телефоні

### Перезапустіть ПРОГРАМУ

 - [POST /api/cloudphone/app/restart](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1app~1restart/post.md)

### Зупинити ПРОГРАМУ

 - [POST /api/cloudphone/app/stop](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1app~1stop/post.md)

### Видалити ПРОГРАМУ

 - [POST /api/cloudphone/app/uninstall](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1app~1uninstall/post.md)

### Увімкнення ROOT для додатка

 - [POST /api/cloudphone/app/openRoot](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/apps/appopenroot.md): Увімкнення прав ROOT для конкретного пакета додатка на одному хмарному телефоні.

### Приховати додаток для спеціальних можливостей

 - [POST /api/cloudphone/app/setHideAccessibilityApp](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1app~1sethideaccessibilityapp/post.md): Підтримує лише Android 13, Android 14 та Android 15A

## Schedules

### Отримати шаблони сторінок ринку

 - [POST /api/cloudphone/rpa/template/market/page](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1template~1market~1page/post.md): Шаблон ринку розкладів запитів, назва шаблону підтримує нечіткий запит

### Отримати особисті шаблони сторінок

 - [POST /api/cloudphone/rpa/template/personal/page](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1template~1personal~1page/post.md): Шаблон ринку розкладів запитів, назва шаблону підтримує нечіткий запит

### Отримати список розкладів

 - [POST /api/cloudphone/rpa/task/page](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1task~1page/post.md)

### Створення одноразового розкладу

 - [POST /api/cloudphone/rpa/onceTask/save](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1oncetask~1save/post.md): Зберегти хмарний телефон після запланованого завдання.

Специфікація параметра templateParameter
1. __Джерело параметра__
Ключі параметрів мають бути вилучені з поля parameter, що повертається такими API:
- Отримати сторінки шаблонів ринку
- Отримати сторінки персональних шаблонів
2. __Структура даних__
- Надсилати параметри у форматі об'єкта JSON: {"key1": "value1", "key2": "value2"}
- Кінцеві значення параметрів мають бути десеріалізовані відповідно до бізнес-логіки перед використанням
3. __Параметри загального типу__
Для наступних типів параметрів передайте значення безпосередньо у відповідному форматі:
- рядок: {"name": "John"}
- десяткове / число: {"amount": 100.50}
- логічний: {"enabled": true}
4. __Параметри типу медіа__
Для медіа-параметрів, таких як зображення (pic) або відео (video), окрім основної інформації, необхідно включити фіксований ключ __Extra__". Приклад формату:
json
{
"__Extra__": {
"pic": {
"name": "pic_name",
"size": 204800
},
"video": {
"name": "video_name",
"size": 204800000
}
},
"pic": "https://get.morelogin.com/prod/cloudPhoneTaskVideo/1556061681934880/1c62314c7e2b4d298abe8d5452d7c050/test.png",
"video": "https://get.morelogin.com/pre/cloudPhoneTaskVideo/1542431036481556/4c4fed83685345ae8f1505fbe0c2f123/baby.mp4"
}

5. __Приклад налаштування параметра__
У наступному прикладі показано, як налаштувати параметр templateParameter під час збереження плану за допомогою шаблону ринку:
- __Крок 1: Отримання параметрів шаблону__
Виклик API шаблону ринку:
GET /api/cloudphone/rpa/template/market/page
Витягніть поле parameter з відповіді, наприклад:

json
"parameter": "{\"videoDownloadUrl\":{\"type\":\"video\",\"extra\":{\"name\":\"Select Відео", "тип": "відео", "обов'язкове": "правда", "значення за замовчуванням": "увімкнено": "false", "індекс": 1, "ліміт розміру": "значення": 200, "одиниця": "МБ"}, "тип формату": [mp4", "mov"]}}, "опис відео": "тип": "рядок", "додаткове": "ім'я": "Відео" Підпис\",\"тип\":\"рядок\",\"обов'язковий\":false,\"допустимий символ\":{\"увімкнено\":true,\"значення\":1000},\"багаторядковий\":{\"увімкнено\":true,\"значення\":3},\"значення за замовчуванням\":{\"увімкнено\":false},\"індекс\":2}},\"управління_обкладинкою\":{\"тип\":\"зображення\",\"додатковий\":{\"назва\":\"Обкладинка Зображення\", "тип\":\"зображення\", "обов'язкове\":false, "значення за замовчуванням\":{\"увімкнено\":false}, "індекс\":3, "ліміт розміру\":{\"значення\":5, "одиниця\":\"МБ\"}, "тип формату\":[\"jpg\",\"png\",\"jpeg\"]}}, "enableAIGC\":{\"тип\":\"логічне\",\"додаткове\":{\"назва\":\"Мітка ШІ\",\"тип\":\"логічне\",\"обов'язкове\":false, "значення за замовчуванням\":{\"увімкнено\":false},\"індекс\":4}}, "ідентифікатор_продукту\":{\"тип\":\"рядок\",\"додаткове\":{\"назва\":\"Продукт ID\",\"type\":\"string\",\"required\":false,\"charValid\":{\"enabled\":true,\"value\":50},\"placeholder\":\"Ідентифікатор продукту підтримує лише цифри, максимум 50 символів.\",\"defaultValue\":{\"enabled\":false},\"index\":5}},\"productTitle\":{\"type\":\"string\",\"extra\":{\"name\":\"Назва продукту\",\"type\":\"string\",\"required\":false,\"charValid\":{\"enabled\":true,\"value\":30},\"defaultValue\":{\"enabled\":false},\"index\":6}},\"getLeads\":{\"type\":\"boolean\",\"extra\":{\"name\":\"Отримати Leads\",\"type\":\"boolean\",\"required\":false,\"defaultValue\":{\"enabled\":false},\"index\":7}},\"comment\":{\"type\":\"string\",\"extra\":{\"name\":\"Comment\",\"type\":\"string\",\"required\":false,\"charValid\":{\"enabled\":true,\"value\":200},\"multiline\":{\"enabled\":true,\"value\":3},\"defaultValue\":{\"enabled\":false},\"index\":8}}}"


- __Крок 2: Створення параметра JSON__
Створіть об'єкт JSON відповідно до вимог до параметра:
json
{
"__Extra__": {
"videoDownloadUrl": {
"name": "video_name.mp4",
"size": 204800000
}
},
"videoDownloadUrl": "https://get.morelogin.com/pre/cloudPhoneTaskVideo/1542431036481556/4c4fed83685345ae8f1505fbe0c2f123/baby.mp4"
}

- __Крок 3: Екранування рядка JSON__
Конвертуйте об'єкт JSON у формат екранованого рядка:
json
"{\"__Extra__\": {\"videoDownloadUrl\": {\"name\": \"video_name.mp4\",\"size\": 204800000}},\"videoDownloadUrl\": \"https://get.morelogin.com/pre/cloudPhoneTaskVideo/1542431036481556/4c4fed83685345ae8f1505fbe0c2f123/baby.mp4\"}"

- __Крок 4: Виклик API__
Передайте екранований рядок як значення параметра templateParameter до цільового API.

### Скасувати розклад

 - [POST /api/cloudphone/rpa/task/cancel](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1task~1cancel/post.md)

### Запис виконання завдань запитів сторінок

 - [POST /api/cloudphone/rpa/subTask/page](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1subtask~1page/post.md): Шаблон ринку розкладів запитів, назва шаблону підтримує нечіткий запит

### Отримати виконання завдання

 - [POST /api/cloudphone/rpa/subTask/detail/{id}](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1subtask~1detail~1%7Bid%7D/post.md): Шаблон ринку розкладів запитів, назва шаблону підтримує нечіткий запит

### Скасувати виконання

 - [POST /api/cloudphone/rpa/subTask/cancel/{id}](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1subtask~1cancel~1%7Bid%7D/post.md)

## Touch

### Дотик - Натискання

 - [POST /api/cloudphone/touch/click](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/touch/touchclick.md): Імітує одиночне натискання на екран хмарного телефону за вказаними координатами.
Система координат використовує лівий верхній кут екрана як початок координат (0, 0), вісь X спрямована вправо, вісь Y — вниз.

### Дотик - Подвійне натискання

 - [POST /api/cloudphone/touch/doubleClick](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/touch/touchdoubleclick.md): Імітує подвійне натискання на екран хмарного телефону за вказаними координатами.
Система координат використовує лівий верхній кут екрана як початок координат (0, 0), вісь X спрямована вправо, вісь Y — вниз.

### Дотик - Тривале натискання

 - [POST /api/cloudphone/touch/longClick](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/touch/touchlongclick.md): Імітує тривале натискання на екран хмарного телефону за вказаними координатами.
Використовуйте параметр duration для налаштування тривалості натискання (в мілісекундах). Якщо не вказано, використовується значення за замовчуванням.
Система координат використовує лівий верхній кут екрана як початок координат (0, 0), вісь X спрямована вправо, вісь Y — вниз.

### Дотик - Свайп

 - [POST /api/cloudphone/touch/swipe](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/touch/touchswipe.md): Імітує свайп пальцем від початкових координат до кінцевих координат.
Використовуйте параметр duration для керування швидкістю свайпу (в мілісекундах). Більше значення призводить до повільнішого свайпу.
Система координат використовує лівий верхній кут екрана як початок координат (0, 0), вісь X спрямована вправо, вісь Y — вниз.

### Дотик - Перетягування

 - [POST /api/cloudphone/touch/drag](https://guide.morelogin.com/uk/api-reference/cloud-phone/local-api/touch/touchdrag.md): Імітує перетягування пальцем від початкових координат до кінцевих координат. Подібно до свайпу, але перетягування зазвичай використовується для переміщення іконок, елементів UI тощо.
Використовуйте параметр duration для керування швидкістю перетягування (в мілісекундах). Більше значення призводить до повільнішого перетягування.
Система координат використовує лівий верхній кут екрана як початок координат (0, 0), вісь X спрямована вправо, вісь Y — вниз.

