# ブラウザカーネルのダウンロード

ブラウザカーネルをダウンロードしてインストールします。1リクエストあたり最大20個のカーネルのバッチダウンロードをサポートします。この操作のタイムアウトは最大約30分です。呼び出し側のタイムアウトは1805秒以上に設定してください。\n\nMoreLoginクライアントバージョン **2.61.1** 以上が必要です。\n\n### 重複リクエストの処理\n\n- 同一リクエスト内で同じブラウザタイプとメジャーバージョンが複数回出現した場合、検索とダウンロードは1回のみ実行されますが、各エントリにはそれぞれの結果が返されます。\n- 同じバージョンへの同時リクエストは、新しいダウンロードを開始する代わりに進行中のタスクに参加します。\n- リクエストされたバージョンが最新のマイナーバージョンで既にインストールされている場合、ステータスは `already_installed` になります。\n- 古いマイナーバージョンがインストールされている場合、利用可能な最新のマイナーバージョンに更新されます。\n\n### エラーコードリファレンス\n\n| errorCode | 説明 |\n|---|---|\n| `INVALID_JSON` | JSON形式エラー |\n| `INVALID_REQUEST` | リクエスト構造エラー |\n| `BATCH_LIMIT_EXCEEDED` | `Cores` 配列が20項目を超過 |\n| `UNSUPPORTED_BROWSER_TYPE` | サポートされていないブラウザタイプ |\n| `INVALID_VERSION` | バージョン形式エラー |\n| `METADATA_LOOKUP_FAILED` | カーネルメタデータの照会に失敗 |\n| `UNSUPPORTED_VERSION` | カーネルバージョンが存在しないか、このプラットフォームではサポートされていません |\n| `CLIENT_NOT_READY` | クライアント未準備 |\n| `SDK_NOT_READY` | SDK未初期化 |\n| `INSUFFICIENT_DISK_SPACE` | ディスク容量不足 |\n| `DOWNLOAD_FAILED` | ダウンロード失敗 |\n| `CHECKSUM_MISMATCH` | MD5チェックサム検証失敗 |\n| `EXTRACTION_FAILED` | 解凍またはインストール失敗 |\n| `TIMEOUT` | 操作タイムアウト |\n| `UNKNOWN` | 不明なエラー |

Endpoint: POST /api/env/core/download
Version: 1.0.0

## Request fields (application/json):

  - `Cores` (array, required)
    ダウンロードするカーネルのリスト（1〜20項目）

  - `Cores.BrowserType` (integer, required)
    ブラウザタイプ。`1`：Chrome、`2`：Firefox

  - `Cores.Version` (string, required)
    カーネルメジャーバージョン番号（例：`"124"`、`"146"`）

## Response 200 fields (application/json):

  - `code` (integer, required)
    レスポンスコード。`0`：全て成功；`-1`：部分成功；`-2`：全て失敗

  - `msg` (string)
    リクエストレベルのエラーメッセージ；成功時は通常 `null`

  - `data` (object, required)

  - `data.total` (integer, required)
    リクエストされたタスクの合計数

  - `data.succeeded` (integer, required)
    成功したタスク数（既にインストール済みを含む）

  - `data.failed` (integer, required)
    失敗したタスク数

  - `data.results` (array, required)
    各入力項目の実行結果（リクエストと同じ順序）

  - `data.results.index` (integer)
    `Cores` 配列内の対応するインデックス（0始まり）

  - `data.results.browserType` (integer)
    ブラウザタイプ

  - `data.results.requestedVersion` (string)
    リクエストされたメジャーバージョン

  - `data.results.resolvedVersion` (string)
    実際に解決された完全バージョン；成功時またはメタデータ解決時に返される

  - `data.results.status` (string)
    タスクステータス：`installed`、`already_installed`、または `failed`

  - `data.results.source` (string)
    ダウンロードソース：`downloaded`、`already_installed`、または `joined_in_flight`

  - `data.results.errorCode` (string)
    失敗時に返される安定したエラー分類コード

  - `data.results.serverCode` (integer)
    オプション。プラットフォームサービスから返される元のビジネスエラーコード

  - `data.results.msg` (string)
    表示メッセージ；クライアント言語によって異なる場合があります。プログラムによる結果判定には使用しないでください

