# Локальный 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/ru/API%20Reference/Cloud%20Phone/local-api.yaml)

## Cloud Phone Management

### Получение списка облачных профилей телефонов

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

### Создание облачного профиля телефона

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

### Стартап облачного телефона

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

### Выключите облачный телефон

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

### Изменить профиль телефона в облаке

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

### Настроить прокси облачного телефона

 - [POST /api/cloudphone/setProxy](https://guide.morelogin.com/ru/api-reference/cloud-phone/local-api/cloud-phone-management/setproxy.md): Set proxy settings for one or more cloud phones. Supports binding proxyId directly, or adding/modifying detailed proxy parameters. The request payload format is identical to browser proxy configuration, and settings are synchronized to channel providers in real-time.

### Удалить облачный профиль телефона

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

### Новый облачный телефон в один клик

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

### Подробная информация о телефоне в облаке

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

### Get Cloud Phone Details By AndroidId

 - [POST /api/cloudphone/queryByAndroidId](https://guide.morelogin.com/ru/api-reference/cloud-phone/local-api/cloud-phone-management/querybyandroidid.md): Query the cloud phone ID associated with a specific androidId under the current team. Returns the single cloud phone ID if found.

### Включить или отключить глобальный ROOT

 - [POST /api/cloudphone/enableRoot](https://guide.morelogin.com/ru/api-reference/cloud-phone/local-api/cloud-phone-management/enableroot.md): Enable or disable the global system-level ROOT permission on a single cloud phone.

### Снимок экрана облачного телефона

 - [POST /api/cloudphone/screenCap](https://guide.morelogin.com/ru/api-reference/cloud-phone/local-api/cloud-phone-management/screencap.md): Get the real-time screen capture of the specified cloud phone instance. Supports returning a temporary signed URL with an expiration timestamp.

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

 - [POST /api/cloudphone/brand/models](https://guide.morelogin.com/ru/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/ru/api-reference/cloud-phone/local-api/adb/updateadbusingpost.md)

### Batch Query ADB Info

 - [POST /api/cloudphone/batchAdbInfo](https://guide.morelogin.com/ru/api-reference/cloud-phone/local-api/adb/batchadbinfo.md): Batch query cloud phone ADB connection info.
- The envIds list supports a maximum of 200 items
- Supports mixed queries across wuin and arm providers; the API internally groups by provider and merges results
- ADB info is only available when the phone is powered on (envStatus >= 4); it cannot be queried when powered off or booting

### Выполнить команду оболочки

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

## Files

### Загрузка файлов

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

### Получить временный URL-адрес загружаемого файла

 - [POST /api/cloudphone/upload/file/signedUrl](https://guide.morelogin.com/ru/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/ru/api-reference/cloud-phone/local-api/files/paths/~1api~1cloudphone~1upload~1file/post.md)

### Результат загрузки файла

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

### Загрузка файла

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

### Результат загрузки файла

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

### Установить Keybox

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

## Apps

### Установите приложение на облачный телефон.

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

### Получить список приложений

 - [POST /api/cloudphone/app/page](https://guide.morelogin.com/ru/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/ru/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1team~1app~1page/post.md): Получение списка приложений команды.

### Запрос списка установленных приложений

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

### Запустить приложение

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

### Перезапустите приложение

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

### Остановить приложение

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

### Удалите приложение

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

### Включить ROOT для приложения

 - [POST /api/cloudphone/app/openRoot](https://guide.morelogin.com/ru/api-reference/cloud-phone/local-api/apps/appopenroot.md): Enable ROOT permission for a specific app package on a single cloud phone.

### Скрыть приложение для людей с ограниченными возможностями

 - [POST /api/cloudphone/app/setHideAccessibilityApp](https://guide.morelogin.com/ru/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/ru/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/ru/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/ru/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/ru/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1oncetask~1save/post.md): Сохраните запланированное задание в облачном хранилище телефона.

Спецификация параметров шаблона

1. __Источник параметров__
Ключи параметров должны быть извлечены из поля parameter, возвращаемого следующими API:
- Получение страниц шаблонов рынка
- Получение страниц персональных шаблонов
2. __Структура данных__
- Передавайте параметры в формате объекта JSON: {"key1": "value1", "key2": "value2"}
- Окончательные значения параметров должны быть десериализованы в соответствии с бизнес-логикой перед использованием
3. __Общие типы параметров__
Для следующих типов параметров передавайте значения непосредственно в соответствующем формате:
- строка: {"name": "John"}
- десятичное число: {"amount": 100.50}
- логическое значение: {"enabled": true}
4. __Параметры типа медиафайлов__
Для параметров медиафайлов, таких как изображение (pic) или видео (video), в дополнение к основной информации необходимо включить фиксированный ключ "__Дополнительные__". Пример формата:
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 Video\",\"type\":\"video\",\"required\":true,\"defaultValue\":{\"enabled\":false},\"index\":1,\"sizeLimit\":{\"value\":200,\"unit\":\"MB\"},\"formatType\":[\"mp4\",\"mov\"]}},\"videoDescription\":{\"type\":\"string\",\"extra\":{\"name\":\"Video Caption\",\"type\":\"string\",\"required\":false,\"charValid\":{\"enabled\":true,\"value\":1000},\"multiline\":{\"enabled\":true,\"value\":3},\"defaultValue\":{\"enabled\":false},\"index\":2}},\"coverUrl\":{\"type\":\"image\",\"extra\":{\"name\":\"Cover Image\",\"type\":\"image\",\"required\":false,\"defaultValue\":{\"enabled\":false},\"index\":3,\"sizeLimit\":{\"value\":5,\"unit\":\"MB\"},\"formatType\":[\"jpg\",\"png\",\"jpeg\"]}},\"enableAIGC\":{\"type\":\"boolean\",\"extra\":{\"name\":\"AI Label\",\"type\":\"boolean\",\"required\":false,\"defaultValue\":{\"enabled\":false},\"index\":4}},\"productId\":{\"type\":\"string\",\"extra\":{\"name\":\"Product 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\":\"Get 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/ru/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/ru/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/ru/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/ru/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/ru/api-reference/cloud-phone/local-api/touch/touchclick.md): Имитирует одиночное нажатие на экран облачного телефона по указанным координатам.
Система координат использует левый верхний угол экрана как начало координат (0, 0), ось X направлена вправо, ось Y — вниз.

### Касание - Двойное нажатие

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

### Касание - Длительное нажатие

 - [POST /api/cloudphone/touch/longClick](https://guide.morelogin.com/ru/api-reference/cloud-phone/local-api/touch/touchlongclick.md): Имитирует длительное нажатие на экран облачного телефона по указанным координатам.
Используйте параметр duration для настройки продолжительности нажатия (в миллисекундах). Если не указан, используется значение по умолчанию.
Система координат использует левый верхний угол экрана как начало координат (0, 0), ось X направлена вправо, ось Y — вниз.

### Касание - Свайп

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

### Касание - Перетаскивание

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

