# Início rápido

Este início rápido pressupõe que você já instalou o `ml-cli` (consulte [Download e instalação](/pt/cli#download--installation)) e que o cliente MoreLogin está sendo executado localmente.

## 1. Verifique o serviço

Confirme se o `httpServer` local está acessível:

```bash
ml-cli status
```

Se MoreLogin não estiver em execução, a CLI falhará durante a resolução da porta.

## 2. Autenticar

Se o endpoint exigir autenticação, faça login primeiro:

```bash
ml-cli login --api-id your-api-id --api-key your-api-key
```

Você também pode fornecer o token por meio de uma variável de ambiente:

```bash
export ML_API_KEY=your-token
ml-cli env list
```

## 3. Listar perfis de navegador

Listar ambientes de navegador:

```bash
ml-cli env list
ml-cli env list --page-no 1 --page-size 20
ml-cli env list --env-name test
```

## 4. Inicie um perfil de navegador

Você pode iniciar um ambiente por `id`, `envId` ou `uniqueId/sn`:

```bash
ml-cli env start --id 1001
ml-cli env start --env-id 1868548141708648448
ml-cli env start --unique-id SN001
```

## 5. Crie e atribua um proxy

Crie um proxy primeiro:

```bash
ml-cli proxy create \
  --proxy-name local-http \
  --proxy-ip 127.0.0.1 \
  --proxy-port 7890 \
  --proxy-type 0 \
  --proxy-provider 0
```

Em seguida, atribua-o a um ambiente:

```bash
ml-cli env set-proxy \
  --env-ids 1001 \
  --proxy-ip 127.0.0.1 \
  --proxy-port 7890 \
  --proxy-type 0 \
  --proxy-provider 0 \
  --proxy-name local-http
```

## 6. Trabalhe com telefones em nuvem

Listar telefones na nuvem:

```bash
ml-cli cloudphone list
```

Crie um telefone na nuvem:

```bash
ml-cli cloudphone create --sku-id 10004 --quantity 1
```

Buscar detalhes:

```bash
ml-cli cloudphone info --id 123456
```

## 7. Agendamentos de consulta

Liste modelos de agendamento e tarefas:

```bash
ml-cli schedule template-market --page-no 1 --page-size 20
ml-cli schedule list --page-no 1 --page-size 20
```

Crie uma tarefa única:

```bash
ml-cli schedule create-once-task \
  --cloud-phone-id 123456 \
  --schedule-name once-task-demo \
  --template-id 888 \
  --template-parameter '{}'
```

## 8. Use `--json-data`

Para endpoints com muitos campos, passar JSON bruto geralmente é mais rápido:

```bash
ml-cli env create-advanced \
  --json-data '{"browserTypeId":1,"operatorSystemId":1,"envName":"cli-adv-test"}'
```

Sinalizadores CLI e `--json-data` podem ser combinados. Sinalizadores explícitos substituem chaves correspondentes da carga JSON:

```bash
ml-cli env set-proxy \
  --env-ids 1001 \
  --json-data '{"proxy":{"proxyProvider":"0","proxyIp":"1.1.1.1"}}' \
  --proxy-ip 127.0.0.1
```

## 9. Canalize para `jq`

A CLI imprime JSON bruto, que funciona bem com pipelines de shell:

```bash
ml-cli status | jq '.status'
ml-cli env processes | jq '.data[].pid'
```

## 10. Casos de falha comuns

- `Could not detect MoreLogin port`: MoreLogin não está em execução, o IPC não está disponível ou nenhum `--port` foi fornecido
- falha comercial com código de saída `0`: a solicitação HTTP foi bem-sucedida, mas a resposta JSON contém um erro no nível do aplicativo
- `ml-cli env arrange` no Linux: a implementação atual não oferece suporte e sai imediatamente