# Baixar núcleo do navegador

Baixar e instalar núcleo(s) do navegador. Suporta download em lote de até 20 núcleos por solicitação. O tempo limite para esta operação pode ser de até aproximadamente 30 minutos; os chamadores devem configurar seu tempo limite para mais de 1805 segundos.\n\nRequer versão do cliente MoreLogin **2.61.1** ou superior.\n\n### Tratamento de solicitações duplicadas\n\n- Se o mesmo tipo de navegador e versão principal aparecer várias vezes em uma única solicitação, apenas uma consulta e download será realizada, mas cada entrada receberá seu próprio resultado.\n- Solicitações concorrentes para a mesma versão se juntarão à tarefa em andamento em vez de iniciar um novo download.\n- Se a versão solicitada já estiver instalada com a versão secundária mais recente, o status será `already_installed`.\n- Se uma versão secundária mais antiga estiver instalada, será atualizada para a versão secundária mais recente disponível.\n\n### Referência de códigos de erro\n\n| errorCode | Descrição |\n|---|---|\n| `INVALID_JSON` | Corpo JSON malformado |\n| `INVALID_REQUEST` | Estrutura de solicitação inválida |\n| `BATCH_LIMIT_EXCEEDED` | O array `Cores` excede 20 itens |\n| `UNSUPPORTED_BROWSER_TYPE` | Tipo de navegador não suportado |\n| `INVALID_VERSION` | Formato de versão inválido |\n| `METADATA_LOOKUP_FAILED` | Falha ao consultar metadados do núcleo |\n| `UNSUPPORTED_VERSION` | Versão do núcleo não existe ou não é suportada nesta plataforma |\n| `CLIENT_NOT_READY` | Cliente não pronto |\n| `SDK_NOT_READY` | SDK não inicializado |\n| `INSUFFICIENT_DISK_SPACE` | Espaço em disco insuficiente |\n| `DOWNLOAD_FAILED` | Download falhou |\n| `CHECKSUM_MISMATCH` | Verificação de checksum MD5 falhou |\n| `EXTRACTION_FAILED` | Extração ou instalação falhou |\n| `TIMEOUT` | Tempo limite da operação excedido |\n| `UNKNOWN` | Erro desconhecido |

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

## Request fields (application/json):

  - `Cores` (array, required)
    Lista de núcleos para baixar (1–20 itens)

  - `Cores.BrowserType` (integer, required)
    Tipo de navegador. `1`:Chrome, `2`:Firefox

  - `Cores.Version` (string, required)
    Número da versão principal do núcleo, ex. `"124"`, `"146"`

## Response 200 fields (application/json):

  - `code` (integer, required)
    Código de resposta. `0`:todos bem-sucedidos; `-1`:sucesso parcial; `-2`:todos falharam

  - `msg` (string)
    Mensagem de erro no nível da solicitação; normalmente `null` em caso de sucesso

  - `data` (object, required)

  - `data.total` (integer, required)
    Número total de tarefas solicitadas

  - `data.succeeded` (integer, required)
    Número de tarefas bem-sucedidas (incluindo já instaladas)

  - `data.failed` (integer, required)
    Número de tarefas que falharam

  - `data.results` (array, required)
    Resultado da execução para cada item de entrada, na mesma ordem da solicitação

  - `data.results.index` (integer)
    Índice correspondente no array `Cores` (baseado em 0)

  - `data.results.browserType` (integer)
    Tipo de navegador

  - `data.results.requestedVersion` (string)
    A versão principal solicitada

  - `data.results.resolvedVersion` (string)
    A versão completa real resolvida; retornada em caso de sucesso ou quando os metadados são resolvidos

  - `data.results.status` (string)
    Status da tarefa:`installed`, `already_installed` ou `failed`

  - `data.results.source` (string)
    Fonte de download:`downloaded`, `already_installed` ou `joined_in_flight`

  - `data.results.errorCode` (string)
    Código de classificação de erro estável retornado em caso de falha

  - `data.results.serverCode` (integer)
    Opcional. Código de erro de negócio original do serviço da plataforma

  - `data.results.msg` (string)
    Mensagem de exibição; pode variar conforme o idioma do cliente. Não usar para verificação programática de resultados

