# Modificar perfil do navegador

Endpoint: POST /api/env/update
Version: 1.0.0

## Request fields (application/json):

  - `browserTypeId` (integer)
    Browser type ID; 1=Chrome, 2=Firefox

  - `operatorSystemId` (integer)
    OS type ID; 1:Windows 2:macOS 3:Android 4:IOS 5:Linux

  - `isEncrypt` (integer)
    Whether to encrypt the profile; 0=No, 1=Yes

  - `startupParams` (array)
    Additional browser startup parameters

  - `accountInfo` (object)

  - `accountInfo.customerUrl` (string)
    URL da plataforma personalizada — obrigatória se platformId=9999, deve ser uma URL válida.

  - `accountInfo.password` (string)
    Senha; comprimento máximo: 50 caracteres

  - `accountInfo.platformId` (integer)
    ID da plataforma; use 9999 para URL personalizada. Consulte /api/system/platform/list.

  - `accountInfo.siteId` (integer)
    ID do site; obtido através da API "Obter Plataformas Configuráveis" (/api/system/platform/list)

  - `accountInfo.username` (string)
    Nome de usuário; comprimento máximo: 64 caracteres

  - `advancedSetting` (object)
    Configuração avançada de impressões digitais e comportamento do navegador.

  - `advancedSetting.ua` (string)
    Personalize o User-Agent (UA) do perfil. Deve seguir o formato padrão de UA.
Disponível através da API “Obter UA do Navegador”.

  - `advancedSetting.time_zone` (object)

  - `advancedSetting.time_zone.switcher` (integer)
    Opção de fuso horário. Padrão: 1. 1 = Corresponder ao IP, 2 = Personalizado.

  - `advancedSetting.time_zone.value` (string)
    Obrigatório quando switcher=2.
ID do fuso horário obtido da API "Obter lista de fusos horários e idiomas".

  - `advancedSetting.web_rtc` (object)

  - `advancedSetting.web_rtc.switcher` (integer)
    Política WebRTC. Padrão: 2. 1 = Privacidade, 2 = Substituição, 3 = Real, 4 = Desativado, 5 = Encaminhamento.

  - `advancedSetting.geo_location` (object)

  - `advancedSetting.geo_location.switcher` (integer)
    Política de geolocalização. Padrão: 1. 1 = Solicitar, 2 = Desativado.

  - `advancedSetting.geo_location.base_on_ip` (boolean)
    Gerar localização com base no IP? Padrão: verdadeiro. verdadeiro = solicitado, falso = manual.

  - `advancedSetting.geo_location.latitude` (number)
    Latitude. Obrigatório se base_on_ip=false.

  - `advancedSetting.geo_location.longitude` (number)
    Longitude. Obrigatório se base_on_ip=false.

  - `advancedSetting.geo_location.accuracy` (number)
    Precisão em metros. Obrigatório se base_on_ip=false.

  - `advancedSetting.language` (object)

  - `advancedSetting.language.switcher` (integer)
    Política de idioma. Padrão: 1. 1 = Corresponder ao IP, 2 = Personalizado.

  - `advancedSetting.language.value` (string)
    Obrigatório quando switcher=2.
IDs de idioma separados por vírgula da API "Obter lista de fusos horários e idiomas".

  - `advancedSetting.resolution` (object)

  - `advancedSetting.resolution.switcher` (integer)
    Política de resolução. Padrão: 1. 1 = Real, 2 = Personalizado.

  - `advancedSetting.resolution.id` (string)
    Obrigatório quando switcher=2.
ID da resolução obtido da API "Obter lista de resoluções".

  - `advancedSetting.font` (object)

  - `advancedSetting.font.switcher` (integer)
    Política de fontes. Padrão: 1. 1 = Real, 2 = Personalizada.

  - `advancedSetting.font.value` (string)
    Nomes de fontes personalizadas separados por vírgulas (obrigatório se switcher=2).

  - `advancedSetting.canvas` (object)

  - `advancedSetting.canvas.switcher` (integer)
    Política do Canvas. Padrão: 1. 1 = Ruído, 2 = Real.

  - `advancedSetting.webgl_image` (object)

  - `advancedSetting.webgl_image.switcher` (integer)
    Política de imagem WebGL. Padrão: 1. 1 = Ruído, 2 = Real.

  - `advancedSetting.webgl_metadata` (object)

  - `advancedSetting.webgl_metadata.switcher` (integer)
    Política de metadados WebGL. Padrão: 3. 1 = Real, 2 = Desativar aceleração de hardware, 3 = Personalizado.

  - `advancedSetting.webgl_metadata.provider` (string)
    String do fornecedor WebGL (por exemplo, "Google Inc.")

  - `advancedSetting.webgl_metadata.render` (string)
    String de renderização WebGL (por exemplo, "ANGLE (...)")

  - `advancedSetting.audio_context` (object)

  - `advancedSetting.audio_context.switcher` (integer)
    Política AudioContext. Padrão: 1. 1 = Ruído, 2 = Realista.

  - `advancedSetting.media_device` (object)

  - `advancedSetting.media_device.switcher` (integer)
    Política do dispositivo de mídia. Padrão: 1. 1 = Ruído, 2 = Real.

  - `advancedSetting.client_rects` (object)

  - `advancedSetting.client_rects.switcher` (integer)
    Política ClientRects. Padrão: 1. 1 = Ruído, 2 = Real.

  - `advancedSetting.speech_voise` (object)

  - `advancedSetting.speech_voise.switcher` (integer)
    Política SpeechVoices. Padrão: 1. 1 = Privacidade, 2 = Real

  - `advancedSetting.hardware_concurrency` (integer)
    Número simulado de núcleos lógicos da CPU.
Padrão: 4. Opções: 0 (real), 2, 3, 4, 6, 8, 10, 12.

  - `advancedSetting.memery_device` (integer)
    Memória simulada do dispositivo (GB).
Padrão: 8. Opções: 0 (real), 2, 4, 6, 8.

  - `advancedSetting.do_not_track` (integer)
    Configuração "Não rastrear". Padrão: 2. 1 = ativado, 2 = desativado.

  - `advancedSetting.bluetooth` (object)

  - `advancedSetting.bluetooth.switcher` (integer)
    Política de Bluetooth. Padrão: 1. 1 = Privacidade, 2 = Autenticidade.

  - `advancedSetting.battery` (object)

  - `advancedSetting.battery.switcher` (integer)
    Política de bateria. Padrão: 1. 1 = Privacidade, 2 = Autenticidade.

  - `advancedSetting.port_scan_protection` (object)

  - `advancedSetting.port_scan_protection.switcher` (integer)
    Proteção contra varredura de portas. Padrão: 1. 1 = Ligado, 2 = Desligado.

  - `advancedSetting.port_scan_protection.value` (string)
    Portas de rede local permitidas para conexão (separadas por vírgulas).

  - `advancedSetting.os_version` (string)
    Versão do sistema macOS (por exemplo, macOS 12, macOS 13, macOS 14).

  - `advancedSetting.web_gpu` (object)

  - `advancedSetting.web_gpu.switcher` (integer)
    Política WebGPU. Padrão: 1. 1 = Correspondência baseada em WebGL, 2 = verdadeiro, 3 = desativado.

  - `advancedSetting.ciphers` (object)

  - `advancedSetting.ciphers.switcher` (integer)
    Política de criptografia TLS. Padrão: 1. 1 = Padrão, 2 = Personalizado.

  - `advancedSetting.ciphers.value` (string)
    Obrigatório quando switcher=2.
Lista de protocolos TLS a serem desativados, separados por vírgula (por exemplo, "TLSv1,TLSv1.1").

  - `advancedSetting.mobile_device` (string)
    ID do modelo do telefone (como string). Obtido através da API "Obter Lista de Modelos de Telefone".
Exemplo: "1826502391344832512"

  - `afterStartupConfig` (object)

  - `afterStartupConfig.afterStartup` (integer)
    Ação após a inicialização. Padrão: 1.
1 = Continuar na última página,
2 = Abrir URLs especificadas,
3 = Abrir URLs + plataforma,
4 = Continuar na última página + plataforma.

  - `afterStartupConfig.autoOpenUrls` (array)
    Lista de URLs válidas para abrir automaticamente (obrigatória para as opções 2 e 3).

  - `browserCore` (integer)
    Kernel version; default:0 (auto-match). Fetch available versions via `/api/env/advanced/ua/versions`.

  - `cookies` (string)
    Cookie string to preload (optional)

  - `envName` (string)
    Environment name

  - `envRemark` (string)
    Environment remark; max length:1500 chars

  - `groupId` (integer)
    Environment group ID; default:ungrouped (0)

  - `groupName` (string)
    Nome do grupo (máximo 50 caracteres). Se fornecido, o sistema primeiro verifica groupId: se um grupo válido for encontrado, ele é usado; caso contrário, pesquisa por groupName. Se um grupo com esse nome existir, ele é referenciado; se não, um novo grupo é criado. Cada equipe é limitada a 1.000 grupos.

  - `proxyId` (integer)
    Proxy ID; default:0

  - `tagIds` (array)
    Tag IDs; default:none

  - `uaVersion` (integer)
    UA preset version; default:0 (all)

  - `disableAudio` (integer)
    Disable audio:0 = off, 1 = on

  - `disableImg` (integer)
    Disable image loading:0 = off, 1 = on

  - `disableVideo` (integer)
    Disable video loading:0 = off, 1 = on

  - `imgLimitSize` (integer)
    Max image size (KB)

  - `envId` (string, required)
    Environment ID

## Response 200 fields (application/json):

  - `code` (integer, required)

  - `msg` (null, required)

  - `data` (null, required)

  - `requestId` (string, required)

