# API aberta

A API aberta do MoreLogin oferece uma interface RESTful abrangente e amigável para desenvolvedores, que permite gerenciar programaticamente perfis de navegador, telefones em nuvem e recursos relacionados, possibilitando automação, escalabilidade e controle perfeitos. A API aberta do MoreLogin é executada em sua máquina e pode ser acessada em: https://api.morelogin.com

Version: 1.0.0

## Security

### Authorization

Token for request access token interface response access_token field

Type: http
In: header
Name: Authorization
Scheme: bearer
Bearer Format: JWT

## Download OpenAPI description

[API aberta](https://guide.morelogin.com/_bundle/@l10n/pt/API%20Reference/Cloud%20Phone/open-api.yaml)

## Authorization

### Token de acesso

 - [POST /oauth2/token](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/authorization/paths/~1oauth2~1token/post.md)

### Informações do usuário

 - [GET /oauth2/userinfo](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/authorization/paths/~1oauth2~1userinfo/get.md)

## Cloud Phone Management

### Obtendo uma lista de perfis de telefones na nuvem

 - [POST /cloudphone/page](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/cloud-phone-management/pageusingpost.md)

### Criando um telefone na nuvem

 - [POST /cloudphone/create](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/cloud-phone-management/createusingpost.md)

### Telefone em nuvem para startups

 - [POST /cloudphone/powerOn](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/cloud-phone-management/poweronusingpost.md)

### Desligue o telefone na nuvem

 - [POST /cloudphone/powerOff](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/cloud-phone-management/poweroffusingpost.md)

### Modificar o perfil do telefone na nuvem

 - [POST /cloudphone/edit/batch](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/cloud-phone-management/editbatchusingpost.md)

### Configurar proxy do telefone na nuvem

 - [POST /cloudphone/setProxy](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/cloud-phone-management/setproxy.md): Define as configurações de proxy para um ou mais telefones na nuvem. Suporta a vinculação direta de proxyId ou a adição/modificação de parâmetros de proxy detalhados. O formato do payload da solicitação é idêntico à configuração de proxy do navegador, e as configurações são aplicadas instantaneamente.

### Apagar celular na nuvem

 - [POST /cloudphone/delete/batch](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/cloud-phone-management/deleteusingpost.md)

### Novo telefone na nuvem com um clique

 - [POST /cloudphone/newMachine](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/cloud-phone-management/onenewusingpost.md)

### Detalhes do telefone na nuvem

 - [POST /cloudphone/info](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/cloud-phone-management/infousingpost.md)

### Obter detalhes do telefone na nuvem por AndroidId

 - [POST /cloudphone/queryByAndroidId](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/cloud-phone-management/querybyandroidid.md): Consulta o ID do telefone na nuvem associado a um androidId específico no grupo atual. Retorna o ID do telefone na nuvem se encontrado.

### Habilitar ou desabilitar ROOT global

 - [POST /cloudphone/enableRoot](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/cloud-phone-management/enableroot.md): Habilita ou desabilita a permissão ROOT global no nível do sistema em um único telefone na nuvem.

### Captura de tela do telefone na nuvem

 - [POST /cloudphone/screenCap](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/cloud-phone-management/screencap.md): Obtém a captura de tela em tempo real da instância do telefone na nuvem especificada. Suporta o retorno de uma URL assinada temporária com um timestamp de expiração.

### Captura de tela do telefone em nuvem (resposta base64)

 - [POST /cloudphone/screenCapBase64](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/cloud-phone-management/screencapbase64.md): Obter a captura de tela em tempo real da instância de telefone em nuvem especificada. Atualmente, apenas Android 12 e Android 15 são suportados.

### Lista de marcas e modelos da consulta

 - [POST /cloudphone/brand/models](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/cloud-phone-management/paths/~1cloudphone~1brand~1models/post.md): Consultar a lista de marcas e modelos disponíveis para a versão do Android especificada.

## ADB

### Atualizar o status ADB do telefone na nuvem

 - [POST /cloudphone/updateAdb](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/adb/updateadbusingpost.md)

### Consulta em lote de informações do ADB

 - [POST /cloudphone/batchAdbInfo](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/adb/batchadbinfo.md): Consulta em lote as informações de conexão ADB do telefone na nuvem.
- A lista envIds suporta um máximo de 200 itens.
- Suporta consultas mistas entre os provedores wuin e arm; a API agrupa internamente por provedor e mescla os resultados.
- As informações do ADB estão disponíveis apenas quando o telefone está ligado (envStatus >= 4); não podem ser consultadas quando desligado ou inicializando.

### Executar comando do shell

 - [POST /cloudphone/exeCommand](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/adb/executeshellcommand.md)

## Files

### Obter URL de upload de arquivos

 - [POST /cloudphone/uploadUrl](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/files/get.md): Faça o upload de arquivos temporários por meio desta interface e o sistema os excluirá automaticamente após 7 dias.

### Carregar arquivos

 - [POST /cloudphone/uploadFile](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/files/fileuploadusing.md)

### resultado do uploadFile

 - [POST /cloudphone/uploadFileResult](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/files/fileuploadresult.md)

### Download do arquivo

 - [POST /cloudphone/download](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/files/paths/~1cloudphone~1download/post.md)

### Resultado do download do arquivo

 - [POST /cloudphone/download/result](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/files/paths/~1cloudphone~1download~1result/post.md)

### Conjunto de caixa de chaves

 - [POST /cloudphone/setKeyBox](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/files/paths/~1cloudphone~1setkeybox/post.md)

## Apps

### Instale o aplicativo no celular na nuvem.

 - [POST /cloudphone/app/install](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/apps/paths/~1cloudphone~1app~1install/post.md)

### Obtenha a lista de aplicativos.

 - [POST /cloudphone/app/page](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/apps/paths/~1cloudphone~1app~1page/post.md): Obter lista de aplicativos

### Listar aplicativos da equipe

 - [POST /cloudphone/team/app/page](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/apps/paths/~1cloudphone~1team~1app~1page/post.md): Obtém a lista de aplicativos da equipe.

### Consultar lista de aplicativos instalados

 - [POST /cloudphone/app/installedList](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/apps/paths/~1cloudphone~1app~1installedlist/post.md): Consultar a lista de aplicativos instalados em um telefone na nuvem.

### Iniciar aplicativo

 - [POST /cloudphone/app/start](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/apps/paths/~1cloudphone~1app~1start/post.md): Inicie um aplicativo instalado no telefone em nuvem.

### Reinicie o aplicativo

 - [POST /cloudphone/app/restart](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/apps/paths/~1cloudphone~1app~1restart/post.md)

### Pare o aplicativo

 - [POST /cloudphone/app/stop](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/apps/paths/~1cloudphone~1app~1stop/post.md)

### Desinstalar aplicativo

 - [POST /cloudphone/app/uninstall](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/apps/paths/~1cloudphone~1app~1uninstall/post.md)

### Habilitar ROOT do aplicativo

 - [POST /cloudphone/app/openRoot](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/apps/appopenroot.md): Habilita a permissão ROOT para um pacote de aplicativo específico em um único telefone na nuvem.

### Configurar aplicativo de acessibilidade oculto

 - [POST /cloudphone/app/setHideAccessibilityApp](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/apps/paths/~1cloudphone~1app~1sethideaccessibilityapp/post.md): Compatível apenas com Android 13, Android 14 e Android 15A.

## Schedules

### Obtenha páginas de modelo de mercado

 - [POST /cloudphone/rpa/template/market/page](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/schedules/paths/~1cloudphone~1rpa~1template~1market~1page/post.md): Modelo de mercado de agendamentos de consultas, o nome do modelo suporta consultas aproximadas.

### Obtenha páginas de modelo personalizadas

 - [POST /cloudphone/rpa/template/personal/page](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/schedules/paths/~1cloudphone~1rpa~1template~1personal~1page/post.md): Modelo de mercado de agendamentos de consultas, o nome do modelo suporta consultas aproximadas.

### Obtenha uma lista de horários

 - [POST /cloudphone/rpa/task/page](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/schedules/paths/~1cloudphone~1rpa~1task~1page/post.md)

### Criar um cronograma único

 - [POST /cloudphone/rpa/onceTask/save](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/schedules/paths/~1cloudphone~1rpa~1oncetask~1save/post.md): Salvar telefone na nuvem após tarefa agendada

Especificação de Parâmetros do Modelo

1. __Origem dos Parâmetros__
As chaves dos parâmetros devem ser extraídas do campo parameter retornado pelas seguintes APIs:
- Obter páginas de modelos de mercado
- Obter páginas de modelos pessoais
2. __Estrutura de Dados__
- Enviar parâmetros no formato de objeto JSON: {"key1": "value1", "key2": "value2"}
- Os valores finais dos parâmetros devem ser desserializados de acordo com a lógica de negócios antes do uso
3. __Parâmetros de Tipo Comum__
Para os seguintes tipos de parâmetros, passe os valores diretamente no formato correspondente:
- string: {"name": "John"}
- decimal / número: {"amount": 100.50}
- boolean: {"enabled": true}
4. __Parâmetros de Tipo de Mídia__
Para parâmetros de mídia, como imagem (pic) ou vídeo (video), além das informações básicas, uma chave fixa. O parâmetro "__Extra__" deve ser incluído. Exemplo de formato:
json
{
"__Extra__": {

"pic": {

"name": "pic_name",

"size": 204800
},

"video": {

"name": "video_name",

"size": 204800000
}

},

"pic": "https://get.morelogin.com/prod/cloudPhoneTaskVideo/1556061681934880/1c62314c7e2b4d298abe8d5452d7c050/test.png",

"video": "https://get.morelogin.com/pre/cloudPhoneTaskVideo/1542431036481556/4c4fed83685345ae8f1505fbe0c2f123/baby.mp4"
}

5. __Exemplo de Configuração de Parâmetros__
O exemplo a seguir demonstra como configurar o parâmetro templateParameter ao salvar um plano usando um modelo de mercado:
- __Etapa 1: Recuperar Parâmetros do Modelo__
Chame a API do Modelo de Mercado:
GET /api/cloudphone/rpa/template/market/page
Extraia o campo parameter da resposta, por exemplo:

json
"parameter": "{\"videoDownloadUrl\":{\"type\":\"video\",\"extra\":{\"name\":\"Select Vídeo\",\"tipo\":\"vídeo\",\"obrigatório\":true,\"valorPadrão\":{\"habilitado\":false},\"índice\":1,\"limiteDeTamanho\":{\"valor\":200,\"unidade\":\"MB\"},\"tipoDeFormato\":[\"mp4\",\"mov\"]}},\"descriçãoDoVídeo\":{\"tipo\":\"string\",\"extra\":{\"nome\":\"Vídeo Legenda\",\"tipo\":\"string\",\"obrigatório\":false,\"caractereValido\":{\"habilitado\":true,\"valor\":1000},\"multilinha\":{\"habilitado\":true,\"valor\":3},\"valorPadrão\":{\"habilitado\":false},\"índice\":2}},\"URLDaCapa\":{\"tipo\":\"imagem\",\"extra\":{\"nome\":\"Capa Image\",\"type\":\"image\",\"required\":false,\"defaultValue\":{\"enabled\":false},\"index\":3,\"sizeLimit\":{\"value\":5,\"unit\":\"MB\"},\"formatType\":[\"jpg\",\"png\",\"jpeg\"]}},\"enableAIGC\":{\"type\":\"boolean\",\"extra\":{\"name\":\"AI Label\",\"type\":\"boolean\",\"required\":false,\"defaultValue\":{\"enabled\":false},\"index\":4}},\"productId\":{\"type\":\"string\",\"extra\":{\"name\":\"Product ID\",\"type\":\"string\",\"required\":false,\"charValid\":{\"enabled\":true,\"value\":50},\"placeholder\":\"Product ID only supports digits, with a maximum of 50 caracteres.\",\"valorPadrão\":{\"habilitado\":false},\"índice\":5}},\"títuloDoProduto\":{\"tipo\":\"string\",\"extra\":{\"nome\":\"Título do Produto\",\"tipo\":\"string\",\"obrigatório\":false,\"caractereValível\":{\"habilitado\":true,\"valor\":30},\"valorPadrão\":{\"habilitado\":false},\"índice\":6}},\"obterLeads\":{\"tipo\":\"booleano\",\"extra\":{\"nome\":\"Obter Leads\",\"type\":\"boolean\",\"required\":false,\"defaultValue\":{\"enabled\":false},\"index\":7}},\"comment\":{\"type\":\"string\",\"extra\":{\"name\":\"Comment\",\"type\":\"string\",\"required\":false,\"charValid\":{\"enabled\":true,\"value\":200},\"multiline\":{\"enabled\":true,\"value\":3},\"defaultValue\":{\"enabled\":false},\"index\":8}}}"

- __Etapa 2: Construir o JSON de Parâmetros__
Construa o objeto JSON de acordo com Requisitos dos parâmetros:
json
{
"__Extra__": {

"videoDownloadUrl": {

"name": "video_name.mp4",

"size": 204800000
}

},

"videoDownloadUrl": "https://get.morelogin.com/pre/cloudPhoneTaskVideo/1542431036481556/4c4fed83685345ae8f1505fbe0c2f123/baby.mp4"
}

- __Etapa 3: Escapar a string JSON__
Converta o objeto JSON em um formato de string escapada:
json
"{\"__Extra__\": {\"videoDownloadUrl\": {\"name\": \"video_name.mp4\",\"size\": 204800000}},\"videoDownloadUrl\": \"https://get.morelogin.com/pre/cloudPhoneTaskVideo/1542431036481556/4c4fed83685345ae8f1505fbe0c2f123/baby.mp4\"}"

- __Etapa 4: Chamada à API__
Passe a string escapada como o valor do parâmetro templateParameter para a API de destino.

### Cancelar agendamento

 - [POST /cloudphone/rpa/task/cancel](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/schedules/paths/~1cloudphone~1rpa~1task~1cancel/post.md)

### Registro de execuções de tarefas de consulta de página

 - [POST /cloudphone/rpa/subTask/page](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/schedules/paths/~1cloudphone~1rpa~1subtask~1page/post.md): Modelo de mercado de agendamentos de consultas, o nome do modelo suporta consultas aproximadas.

### Obter a execução de uma tarefa

 - [POST /cloudphone/rpa/subTask/detail/{id}](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/schedules/paths/~1cloudphone~1rpa~1subtask~1detail~1%7Bid%7D/post.md): Modelo de mercado de agendamentos de consultas, o nome do modelo suporta consultas aproximadas.

### Cancelar execução

 - [POST /cloudphone/rpa/subTask/cancel/{id}](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/schedules/paths/~1cloudphone~1rpa~1subtask~1cancel~1%7Bid%7D/post.md)

## Touch

### Toque - Clique

 - [POST /cloudphone/touch/click](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/touch/touchclick.md): Simula um toque único na tela do telefone na nuvem nas coordenadas especificadas.
O sistema de coordenadas usa o canto superior esquerdo da tela como origem (0, 0), com o eixo X se estendendo para a direita e o eixo Y se estendendo para baixo.

### Toque - Duplo clique

 - [POST /cloudphone/touch/doubleClick](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/touch/touchdoubleclick.md): Simula um toque duplo na tela do telefone na nuvem nas coordenadas especificadas.
O sistema de coordenadas usa o canto superior esquerdo da tela como origem (0, 0), com o eixo X se estendendo para a direita e o eixo Y se estendendo para baixo.

### Toque - Pressão longa

 - [POST /cloudphone/touch/longClick](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/touch/touchlongclick.md): Simula uma pressão longa na tela do telefone na nuvem nas coordenadas especificadas.
Use o parâmetro duration para personalizar a duração da pressão (em milissegundos). Se omitido, a duração padrão é usada.
O sistema de coordenadas usa o canto superior esquerdo da tela como origem (0, 0), com o eixo X se estendendo para a direita e o eixo Y se estendendo para baixo.

### Toque - Deslizar

 - [POST /cloudphone/touch/swipe](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/touch/touchswipe.md): Simula um deslizar do dedo das coordenadas iniciais até as coordenadas finais.
Use o parâmetro duration para controlar a velocidade do deslizamento (em milissegundos). Um valor maior resulta em um deslizamento mais lento.
O sistema de coordenadas usa o canto superior esquerdo da tela como origem (0, 0), com o eixo X se estendendo para a direita e o eixo Y se estendendo para baixo.

### Toque - Arrastar

 - [POST /cloudphone/touch/drag](https://guide.morelogin.com/pt/api-reference/cloud-phone/open-api/touch/touchdrag.md): Simula um arrastar do dedo das coordenadas iniciais até as coordenadas finais. Semelhante ao deslizar, mas arrastar é tipicamente usado para mover ícones, elementos de UI, etc.
Use o parâmetro duration para controlar a velocidade do arrasto (em milissegundos). Um valor maior resulta em um arrasto mais lento.
O sistema de coordenadas usa o canto superior esquerdo da tela como origem (0, 0), com o eixo X se estendendo para a direita e o eixo Y se estendendo para baixo.

