# Быстрый старт

В этом кратком руководстве предполагается, что вы уже установили `ml-cli` (см. [Загрузка и установка](/ru/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: текущая реализация не поддерживает его и немедленно завершает работу.