# Завантажити ядро браузера

Завантажити та встановити ядро(а) браузера. Підтримує пакетне завантаження до 20 ядер за один запит. Тайм-аут для цієї операції може становити до 30 хвилин; рекомендується встановити тайм-аут виклику більше 1805 секунд.\n\nПотрібна версія клієнта MoreLogin **2.61.1** або вище.\n\n### Обробка дублюючих запитів\n\n- Якщо той самий тип браузера та основна версія з'являються кілька разів в одному запиті, пошук і завантаження виконуються лише один раз, але кожен запис отримує свій власний результат.\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)
    Повідомлення для відображення; може змінюватися залежно від мови клієнта. Не використовуйте для програмної перевірки результатів

