# Швидкий старт

Цей швидкий початок передбачає, що ви вже встановили `ml-cli` (див. [Завантаження та встановлення](/uk/cli#download--installation)) і що клієнт MoreLogin запущено локально.

## 1. Перевірте Сервіс

Підтвердьте, що локальний `httpServer` доступний:

```bash
ml-cli status
```

Якщо MoreLogin не запущено, CLI не вийде під час вирішення порту.

## 2. Автентифікувати

Якщо кінцева точка вимагає автентифікації, спочатку увійдіть:

```bash
ml-cli login --api-id your-api-id --api-key your-api-key
```

Ви також можете надати маркер через змінну середовища:

```bash
export ML_API_KEY=your-token
ml-cli env list
```

## 3. Список профілів браузера

Список середовищ браузера:

```bash
ml-cli env list
ml-cli env list --page-no 1 --page-size 20
ml-cli env list --env-name test
```

## 4. Запустіть профіль браузера

Ви можете запустити середовище за допомогою `id`, `envId` або `uniqueId/sn`:

```bash
ml-cli env start --id 1001
ml-cli env start --env-id 1868548141708648448
ml-cli env start --unique-id SN001
```

## 5. Створіть і призначте проксі

Спочатку створіть проксі:

```bash
ml-cli proxy create \
  --proxy-name local-http \
  --proxy-ip 127.0.0.1 \
  --proxy-port 7890 \
  --proxy-type 0 \
  --proxy-provider 0
```

Потім призначте його середовищу:

```bash
ml-cli env set-proxy \
  --env-ids 1001 \
  --proxy-ip 127.0.0.1 \
  --proxy-port 7890 \
  --proxy-type 0 \
  --proxy-provider 0 \
  --proxy-name local-http
```

## 6. Робота з хмарними телефонами

Список хмарних телефонів:

```bash
ml-cli cloudphone list
```

Створіть хмарний телефон:

```bash
ml-cli cloudphone create --sku-id 10004 --quantity 1
```

Отримати деталі:

```bash
ml-cli cloudphone info --id 123456
```

## 7. Графіки запитів

Список шаблонів розкладу та завдань:

```bash
ml-cli schedule template-market --page-no 1 --page-size 20
ml-cli schedule list --page-no 1 --page-size 20
```

Створіть одноразове завдання:

```bash
ml-cli schedule create-once-task \
  --cloud-phone-id 123456 \
  --schedule-name once-task-demo \
  --template-id 888 \
  --template-parameter '{}'
```

## 8. Використовуйте `--json-data`

Для кінцевих точок із багатьма полями передача необробленого JSON часто швидше:

```bash
ml-cli env create-advanced \
  --json-data '{"browserTypeId":1,"operatorSystemId":1,"envName":"cli-adv-test"}'
```

Прапори CLI та `--json-data` можна комбінувати. Явні позначки замінюють відповідні ключі з корисного навантаження JSON:

```bash
ml-cli env set-proxy \
  --env-ids 1001 \
  --json-data '{"proxy":{"proxyProvider":"0","proxyIp":"1.1.1.1"}}' \
  --proxy-ip 127.0.0.1
```

## 9. Конвеєр до `jq`

CLI друкує необроблений JSON, який добре працює з конвеєрами оболонки:

```bash
ml-cli status | jq '.status'
ml-cli env processes | jq '.data[].pid'
```

## 10. Типові випадки несправностей

- `Could not detect MoreLogin port`: MoreLogin не працює, IPC недоступний або `--port` не надано
- бізнес-збій із кодом виходу `0`: запит HTTP виконано успішно, але відповідь JSON містить помилку на рівні програми
- `ml-cli env arrange` у Linux: поточна реалізація не підтримує його та негайно завершує роботу