# Сценарії роботи з ресурсами

Перед записом отримайте ID зі списків. Задайте `ENV_ID`, `PHONE_ID`, `TEAM_APP_ID`, `GROUP_ID`, `FILE_ID` для потрібних ресурсів різних типів. Приклади незалежні, це не єдиний пакетний скрипт.

## Профілі та ядра браузера

```bash
ml-cli env find --keyword Amazon
ml-cli --timeout 30 env open --keyword Amazon --exact
ml-cli --timeout 30 env start --env-id "$ENV_ID" --is-headless false --cdp-evasion true
ml-cli env core-download --core 1:124 --core 2:146
```

`find/open` шукає за назвою, групою, міткою та приміткою; відкриває лише єдиного кандидата. `env start` підтримує `--encrypt-key` для шифрування. Ядра: `1` Chrome, `2` Firefox; 1–20 записів або JSON `Cores`. Версії наведено для прикладу.

`env create-quick` підтримує групу, проксі, облікові дані, регіон і контроль IP. `fingerprint-refresh`: `--browser-type-id`, `--operator-system-id`, `--ua-version`, `--advanced-setting`; `resolution-list`: `--ua`. `set-group/set-remark`: `--env-ids` або `--unique-ids`. `app-hide-accessibility --package-name` повторюється (псевдонім `--package-names`). Див. [Команди](/uk/cli/commands).

## Хмарні телефони

```bash
ml-cli cloudphone find --keyword android-test
ml-cli --timeout 120 cloudphone open --keyword android-test --headless false
ml-cli --timeout 120 cloudphone power-on --id "$PHONE_ID" --headless true --disable-money-saving-mode false
ml-cli --timeout 30 cloudphone close --keyword android-test
```

`headless=false` показує вікно, `true` приховує. Увімкнення підтримує `--disable-money-saving-mode`. Відкриття за назвою/ключем потребує одного збігу. Успішний запит не підтверджує запуск чи трансляцію.

## Застосунки команди

`team-app-list` читає бібліотеку команди, `app-list` — каталог. Використовуйте ID запису команди, не телефона/каталогу. У списку `versionCode` — текст; `--version-code` і JSON `versionCode` потребують цілого i64, не рядка, дробу, назви чи ID версії.

У `team-app-list` типово `pageNo=1`, `pageSize=10`; параметри мають вміщуватися в u32. Візьміть `PACKAGE_NAME` і цілий `VERSION_CODE` з `app-list`. Оновлення — лише для застосунків каталогу, на іншу доступну версію того самого пакета; доступність перевіряє сервер.

```bash
ml-cli cloudphone team-app-list --app-name Facebook --page-no 1 --page-size 10
ml-cli cloudphone app-list --app-name Facebook
ml-cli --fail-on-business-error cloudphone team-app-create --package-name "$PACKAGE_NAME" --version-code "$VERSION_CODE"
ml-cli --fail-on-business-error cloudphone team-app-update-group --id "$TEAM_APP_ID" --is-all false --group-ids "$GROUP_ID"
ml-cli --fail-on-business-error cloudphone team-app-enable --id "$TEAM_APP_ID" --enabled false
ml-cli --fail-on-business-error cloudphone team-app-update-install-setting --id "$TEAM_APP_ID" --install-setting 2
ml-cli --fail-on-business-error cloudphone team-app-update-enable-root --id "$TEAM_APP_ID" --enable-root false
ml-cli --fail-on-business-error cloudphone team-app-update-version --id "$TEAM_APP_ID" --package-name "$PACKAGE_NAME" --version-code "$VERSION_CODE"
ml-cli --fail-on-business-error cloudphone team-app-update-setting --id "$TEAM_APP_ID" --setting-type keep-alive --enabled false
ml-cli --fail-on-business-error cloudphone team-app-operate --id "$TEAM_APP_ID" --operation START --only-started-by-me true
ml-cli --fail-on-business-error cloudphone team-app-delete --id "$TEAM_APP_ID"
```

Створення — лише з каталогу, повертає `data.id`, без завантаження APK. За `isAll=false` потрібні групи; за `true` можна пропустити/null. Політика `1` перезаписує, `2` пропускає. Видалення запису зберігає застосунки й дані пристроїв.

Налаштування: `permission/keep-alive/auto-start/hide` або `PERMISSION/KEEP_ALIVE/AUTO_START/HIDE`. Операції: `start/stop/restart/uninstall` або верхній регістр. Прапорці та JSON приймають ці точні форми й надсилають верхній регістр. Інші значення відхиляються. Пропуск/null `onlyStartedByMe` — false; відсутність/null `enabled` — помилка.

```bash
ml-cli --fail-on-business-error cloudphone team-app-update-setting --json-data '{"id":"123456","settingType":"KEEP_ALIVE","enabled":true}' --enabled false
```

Версія/налаштування повертають `data=null`: збереження, не виконання на пристрої. Версія, дозволи й автозапуск застосовуються під час старту; активність/приховування можуть надсилатися асинхронно. Пакетне `data=true` не гарантує успіх кожного пристрою. CLI не вмикає телефони, не повторює запис і не опитує автоматично. Видалення може стерти дані застосунку, зберігаючи попереднє встановлення. Перевірте `team-app-list` і пристрої окремо.

## Хмарне сховище

```bash
ml-cli cloud-storage info
ml-cli cloud-storage list --keyword video --page-no 1 --page-size 20
ml-cli cloud-storage presign --file-name video.mp4
```

Завантаження: presign, PUT файлу на `presignedUrl`, потім `complete --id` з отриманим ID. Передайте видані заголовки. Complete — лише після успішного PUT. За блокування мережі/пісочниці отримайте доступ або попросіть користувача завантажити локально. Не публікуйте тимчасові URL.

```bash
curl -f -L -X PUT --upload-file ./video.mp4 "$PRESIGNED_URL"
ml-cli cloud-storage complete --id "$UPLOAD_ID"
```

```powershell
curl.exe -f -L -X PUT --upload-file .\video.mp4 "$env:PRESIGNED_URL"
ml-cli cloud-storage complete --id "$env:UPLOAD_ID"
```

```bash
ml-cli cloud-storage labels
ml-cli cloud-storage label-create --label-name automation --color "#2F80ED"
ml-cli cloud-storage label-update --label-id "$LABEL_ID" --label-name automation-ready --color "#27AE60"
ml-cli cloud-storage file-labels --file-id "$FILE_ID"
ml-cli cloud-storage add-labels --file-id "$FILE_ID" --tag-id "$LABEL_ID"
ml-cli cloud-storage set-labels --file-id "$FILE_ID" --tag-id "$LABEL_ID"
ml-cli cloud-storage label-delete --label-id "$LABEL_ID"
ml-cli cloud-storage delete --file-id "$FILE_ID"
```

RPA використовує `morelogin://cloudfile?ids=<fileId>`, кілька ID розділяються комами. Зберігайте `__Extra__`. Планування й запити: `schedule template-market/template-personal/list/create-once-task/cancel/subtask-list/subtask-detail/subtask-cancel`.

## Хмарні браузери

```bash
ml-cli cloud-browser list --page-no 1 --page-size 10
ml-cli --timeout 30 cloud-browser start --env-id "$ENV_ID"
ml-cli cloud-browser connect --env-id "$ENV_ID"
ml-cli cloud-browser stop --env-id "$ENV_ID" --force false
```

Ці команди керують віддаленими браузерами, а `env start/open` — локальними профілями. У start/stop/connect власні параметри та JSON; перед використанням ID/порту вивчіть довідку.

## Групи, мітки, проксі та метадані

```bash
ml-cli group list
ml-cli tag list
ml-cli proxy list
ml-cli env set-group --help
ml-cli env set-proxy --help
ml-cli env set-remark --help
```

Відповіді можуть містити `groupName` (null без групи), `tagInfos` (порожньо без міток), `envRemark`. ID міток — рядки. Таблиця виділяє ці поля; JSON зберігає вкладеність. Прапорці створення, редагування й видалення див. у [Командах](/uk/cli/commands).