# クイックスタート

このクイック スタートでは、`ml-cli` がすでにインストールされており ([ダウンロードとインストール](/ja/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
```

1 回限りのタスクを作成します。

```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 レスポンスにアプリケーション レベルのエラーが含まれています
- Linux 上の `ml-cli env arrange`: 現在の実装ではサポートされていないため、すぐに終了します