{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-@l10n/pt/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Fluxos de recursos"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"fluxos-de-recursos","__idx":0},"children":["Fluxos de recursos"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Antes de escrever, obtenha IDs reais nas listas. Defina ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ENV_ID"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PHONE_ID"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TEAM_APP_ID"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GROUP_ID"]}," e ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["FILE_ID"]}," para seus recursos; são tipos diferentes. Os exemplos são receitas independentes."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"perfis-e-núcleos","__idx":1},"children":["Perfis e núcleos"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"ml-cli env find --keyword Amazon\nml-cli --timeout 30 env open --keyword Amazon --exact\nml-cli --timeout 30 env start --env-id \"$ENV_ID\" --is-headless false --cdp-evasion true\nml-cli env core-download --core 1:124 --core 2:146\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["find/open"]}," busca por nome, grupo, tag ou observação; só abre com um candidato único. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["env start"]}," aceita ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--encrypt-key"]}," para perfis criptografados. Núcleos: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["1"]}," Chrome, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["2"]}," Firefox; 1–20 entradas ou JSON ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Cores"]},". As versões são exemplos."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["env create-quick"]}," inclui grupo, proxy, credenciais, localização e monitoramento IP. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fingerprint-refresh"]}," aceita ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--browser-type-id"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--operator-system-id"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--ua-version"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--advanced-setting"]},"; ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["resolution-list"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--ua"]},". ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["set-group/set-remark"]}," aceita ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--env-ids"]}," ou ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--unique-ids"]},". ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["app-hide-accessibility --package-name"]}," é repetível (alias ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--package-names"]},"). Veja ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt/cli/commands"},"children":["Comandos"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"telefones-na-nuvem","__idx":2},"children":["Telefones na nuvem"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"ml-cli cloudphone find --keyword android-test\nml-cli --timeout 120 cloudphone open --keyword android-test --headless false\nml-cli --timeout 120 cloudphone power-on --id \"$PHONE_ID\" --headless true --disable-money-saving-mode false\nml-cli --timeout 30 cloudphone close --keyword android-test\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["headless=false"]}," mostra a janela; ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}," a oculta. A inicialização aceita ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--disable-money-saving-mode"]},". Abrir por nome ou palavra-chave exige correspondência única. Sucesso da solicitação não confirma inicialização nem streaming."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"aplicativos-da-equipe","__idx":3},"children":["Aplicativos da equipe"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["team-app-list"]}," consulta a biblioteca da equipe; ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["app-list"]},", o catálogo. Use o ID do registro da equipe, não do telefone nem do catálogo. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["versionCode"]}," da lista é texto; ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["--version-code"]}," e JSON ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["versionCode"]}," exigem inteiros i64, não strings, decimais, nomes ou IDs de versão."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["team-app-list"]}," usa ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pageNo=1"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pageSize=10"]}," por padrão; a paginação deve caber em u32. Obtenha ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PACKAGE_NAME"]}," e ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["VERSION_CODE"]}," inteiro em ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["app-list"]},". Atualizar versão aceita apenas aplicativos do catálogo e outra versão disponível do mesmo pacote; o servidor valida a disponibilidade."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"ml-cli cloudphone team-app-list --app-name Facebook --page-no 1 --page-size 10\nml-cli cloudphone app-list --app-name Facebook\nml-cli --fail-on-business-error cloudphone team-app-create --package-name \"$PACKAGE_NAME\" --version-code \"$VERSION_CODE\"\nml-cli --fail-on-business-error cloudphone team-app-update-group --id \"$TEAM_APP_ID\" --is-all false --group-ids \"$GROUP_ID\"\nml-cli --fail-on-business-error cloudphone team-app-enable --id \"$TEAM_APP_ID\" --enabled false\nml-cli --fail-on-business-error cloudphone team-app-update-install-setting --id \"$TEAM_APP_ID\" --install-setting 2\nml-cli --fail-on-business-error cloudphone team-app-update-enable-root --id \"$TEAM_APP_ID\" --enable-root false\nml-cli --fail-on-business-error cloudphone team-app-update-version --id \"$TEAM_APP_ID\" --package-name \"$PACKAGE_NAME\" --version-code \"$VERSION_CODE\"\nml-cli --fail-on-business-error cloudphone team-app-update-setting --id \"$TEAM_APP_ID\" --setting-type keep-alive --enabled false\nml-cli --fail-on-business-error cloudphone team-app-operate --id \"$TEAM_APP_ID\" --operation START --only-started-by-me true\nml-cli --fail-on-business-error cloudphone team-app-delete --id \"$TEAM_APP_ID\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Criar aceita apenas aplicativos do catálogo e retorna ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data.id"]},"; não envia APK personalizado. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["isAll=false"]}," exige grupos não vazios; com ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]}," podem ser omitidos/null. Política ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["1"]}," sobrescreve, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["2"]}," ignora. Excluir preserva aplicativos e dados do dispositivo."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Configurações: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["permission/keep-alive/auto-start/hide"]}," ou ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PERMISSION/KEEP_ALIVE/AUTO_START/HIDE"]},". Operações: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["start/stop/restart/uninstall"]}," ou maiúsculas. Flags e JSON aceitam essas grafias exatas e enviam maiúsculas. Outros valores são rejeitados. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["onlyStartedByMe"]}," omitido/null vale false; ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["enabled"]}," ausente/null é rejeitado."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"ml-cli --fail-on-business-error cloudphone team-app-update-setting --json-data '{\"id\":\"123456\",\"settingType\":\"KEEP_ALIVE\",\"enabled\":true}' --enabled false\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Versão/configuração retorna ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data=null"]},": confirma salvamento, não execução. Versão, permissões e início automático aplicam-se na inicialização; persistência/ocultação também podem ser enviadas de forma assíncrona. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data=true"]}," em lote não garante sucesso individual. A CLI não liga, repete nem consulta automaticamente. Desinstalar pode apagar dados do dispositivo e preserva a pré-instalação. Verifique com ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["team-app-list"]}," e no dispositivo."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"armazenamento-na-nuvem","__idx":4},"children":["Armazenamento na nuvem"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"ml-cli cloud-storage info\nml-cli cloud-storage list --keyword video --page-no 1 --page-size 20\nml-cli cloud-storage presign --file-name video.mp4\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Envie em três etapas: presign, PUT binário para ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["presignedUrl"]},", depois ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["complete --id"]}," com o ID recebido. Inclua os headers retornados. Complete apenas após PUT bem-sucedido. Se rede/sandbox bloquear PUT, obtenha acesso ou peça execução local. Não publique URLs temporárias."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -f -L -X PUT --upload-file ./video.mp4 \"$PRESIGNED_URL\"\nml-cli cloud-storage complete --id \"$UPLOAD_ID\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"powershell","header":{"controls":{"copy":{}}},"source":"curl.exe -f -L -X PUT --upload-file .\\video.mp4 \"$env:PRESIGNED_URL\"\nml-cli cloud-storage complete --id \"$env:UPLOAD_ID\"\n","lang":"powershell"},"children":[]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"ml-cli cloud-storage labels\nml-cli cloud-storage label-create --label-name automation --color \"#2F80ED\"\nml-cli cloud-storage label-update --label-id \"$LABEL_ID\" --label-name automation-ready --color \"#27AE60\"\nml-cli cloud-storage file-labels --file-id \"$FILE_ID\"\nml-cli cloud-storage add-labels --file-id \"$FILE_ID\" --tag-id \"$LABEL_ID\"\nml-cli cloud-storage set-labels --file-id \"$FILE_ID\" --tag-id \"$LABEL_ID\"\nml-cli cloud-storage label-delete --label-id \"$LABEL_ID\"\nml-cli cloud-storage delete --file-id \"$FILE_ID\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["RPA aceita ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["morelogin://cloudfile?ids=<fileId>"]}," e vários IDs separados por vírgulas. Preserve ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["__Extra__"]}," nos parâmetros. Para agendamento e consultas use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["schedule template-market/template-personal/list/create-once-task/cancel/subtask-list/subtask-detail/subtask-cancel"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"navegadores-na-nuvem","__idx":5},"children":["Navegadores na nuvem"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"ml-cli cloud-browser list --page-no 1 --page-size 10\nml-cli --timeout 30 cloud-browser start --env-id \"$ENV_ID\"\nml-cli cloud-browser connect --env-id \"$ENV_ID\"\nml-cli cloud-browser stop --env-id \"$ENV_ID\" --force false\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Esses comandos gerenciam runtimes remotos; ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["env start/open"]}," controla perfis locais. Start/stop/connect têm contratos próprios; consulte a ajuda antes de reutilizar IDs ou portas."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"grupos-tags-proxies-e-metadados","__idx":6},"children":["Grupos, tags, proxies e metadados"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"ml-cli group list\nml-cli tag list\nml-cli proxy list\nml-cli env set-group --help\nml-cli env set-proxy --help\nml-cli env set-remark --help\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["As respostas podem incluir ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["groupName"]}," (null sem grupo), ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tagInfos"]}," (vazio sem tags) e ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["envRemark"]},". IDs de tags são strings. A tabela prioriza esses campos; JSON preserva a estrutura. Flags de criação, edição e exclusão estão em ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt/cli/commands"},"children":["Comandos"]},"."]}]},"headings":[{"value":"Fluxos de recursos","id":"fluxos-de-recursos","depth":1},{"value":"Perfis e núcleos","id":"perfis-e-núcleos","depth":2},{"value":"Telefones na nuvem","id":"telefones-na-nuvem","depth":2},{"value":"Aplicativos da equipe","id":"aplicativos-da-equipe","depth":2},{"value":"Armazenamento na nuvem","id":"armazenamento-na-nuvem","depth":2},{"value":"Navegadores na nuvem","id":"navegadores-na-nuvem","depth":2},{"value":"Grupos, tags, proxies e metadados","id":"grupos-tags-proxies-e-metadados","depth":2}],"frontmatter":{"seo":{"title":"Fluxos de recursos"}},"lastModified":"2026-10-20T08:43:16.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/pt/cli/workflows","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}