# Obtendo uma lista de perfis de telefones na nuvem

Lista os Cloud Phones visíveis para a equipe autenticada, página por página.
- **Efeito**: nenhum. Somente leitura. É seguro repetir com recuo limitado.
- **Observação**: telefones de todos os tipos de dispositivo são retornados. As senhas dos proxies de plataforma e dinâmicos são removidas da resposta.
- **Uso**: este endpoint e `/cloudphone/info` são os sinais de conclusão das operações assíncronas de energia, novo dispositivo em um clique e provisionamento.

Endpoint: POST /cloudphone/page
Version: 2026-09-05
Security: Authorization

## Security:

  - `Authorization` (unknown)
    http bearer JWT

## Request fields (application/json):

  - `bindIp` (boolean)
    Indica se o IP está vinculado: verdadeiro = vinculado, falso = não vinculado
    Example: false

  - `keyword` (string)
    Palavras-chave para filtrar: informações do proxy, nome do grupo, nome da tag, nome do ambiente
    Example: CP-424

  - `pageNo` (integer)
    Página atual
    Example: 1

  - `pageSize` (integer)
    Itens por página
    Example: 100

  - `sort` (array)
    Campos de classificação dinâmica. Atualmente, apenas "envName" é compatível com telefones em nuvem.
    Example: [{"sortDirection":"asc","sortField":"envName"}]

  - `sort.sortDirection` (string, required)
    Direção de classificação
    Enum: "asc", "desc"

  - `sort.sortField` (string, required)
    Campo para ordenar (atualmente, apenas "envName" é suportado)
    Example: envName

## Response 200:

  - `200` (unknown)
    OK

## Response 200 fields (application/json):

  - `code` (integer, required)
    Código de resultado retornado: 0: Normal. Outros códigos são exceções.

  - `msg` (string | null, required)
    mensagem de erro

  - `data` (object, required)

  - `data.current` (string, required)

  - `data.dataList` (array, required)

  - `data.dataList.abnormalStatus` (integer)
    Status anormal: 0 - Sem anormalidades; 1 - Não ativado; 2 - Fora do contrato; 3 - Vendido em excesso; 4 - Desativado.

  - `data.dataList.adbInfo` (object)

  - `data.dataList.adbInfo.adbIp` (string, required)
    IP do ADB

  - `data.dataList.adbInfo.adbPassword` (string, required)
    senha de conexão adb

  - `data.dataList.adbInfo.adbPort` (string, required)
    porta adb

  - `data.dataList.adbInfo.remark` (string, required)
    Informações sobre observações de falha

  - `data.dataList.adbInfo.success` (integer, required)
    Aquisição bem-sucedida: 1 = Sim, 0 = Não

  - `data.dataList.billingType` (integer)
    Cobrança: 0 - Gratuito; 1 - Assinatura flexível; 2 - Mensal

  - `data.dataList.createDate` (string)

  - `data.dataList.createMember` (integer)

  - `data.dataList.createMemberName` (string)

  - `data.dataList.enableAdb` (boolean)

  - `data.dataList.envName` (string)
    Nome do telefone na nuvem

  - `data.dataList.envRemark` (string)
    Observações do perfil

  - `data.dataList.envStatus` (integer)
    Status do perfil: 0 - Novo 1 - Falha na criação 2 - Parado 3 - Iniciando 4 - Iniciando 5 - Reinicialização em andamento

  - `data.dataList.expireTime` (string)
    tempo de expiração

  - `data.dataList.groupId` (string)

  - `data.dataList.groupName` (string | null)
    Nome do grupo. Null quando o telefone na nuvem não pertence a nenhum grupo

  - `data.dataList.id` (string)

  - `data.dataList.androidId` (string)
    android id do telefone na nuvem

  - `data.dataList.gaid` (string)
    gaid do telefone na nuvem

  - `data.dataList.lastConnectDate` (string)

  - `data.dataList.lastConnectMemberId` (string)

  - `data.dataList.lastConnectMemberName` (string)

  - `data.dataList.lastStartDate` (string)

  - `data.dataList.lastStartMemberId` (string)

  - `data.dataList.lastStartMemberName` (string)

  - `data.dataList.proxy` (object)

  - `data.dataList.proxy.country` (string, required)

  - `data.dataList.proxy.countryCode` (string, required)

  - `data.dataList.proxy.createDate` (string, required)

  - `data.dataList.proxy.delFlag` (integer, required)
    1 - excluído 2 - não excluído

  - `data.dataList.proxy.expiryTime` (string, required)

  - `data.dataList.proxy.exportIp` (string, required)

  - `data.dataList.proxy.groupId` (string, required)

  - `data.dataList.proxy.id` (string, required)

  - `data.dataList.proxy.providerCode` (string, required)

  - `data.dataList.proxy.proxyAreaCode` (string, required)

  - `data.dataList.proxy.proxyCatagoryType` (integer, required)
    Tipo de proxy: 0: grupo de sites 1: plataforma em nuvem 2: IP próprio 3: VPS 4: máquina virtual

  - `data.dataList.proxy.proxyCheckStatus` (integer, required)
    Status da detecção: 0: detecção pendente; 1: detecção bem-sucedida; 2: falha na detecção; 3: erro desconhecido.

  - `data.dataList.proxy.proxyInfo` (string, required)

  - `data.dataList.proxy.state` (string | null)
    Estado ou província do proxy. Prioriza a localização detectada do IP de saída e depois a configurada; pode ser null ou uma string vazia.
    Example: California

  - `data.dataList.proxy.city` (string | null)
    Cidade do proxy. Prioriza a localização detectada do IP de saída e depois a configurada; pode ser null ou uma string vazia.
    Example: Los Angeles

  - `data.dataList.proxy.proxyIp` (string, required)

  - `data.dataList.proxy.proxyName` (string, required)

  - `data.dataList.proxy.proxyPort` (integer | null, required)
    Porta de conexão do proxy; não é deduzida do nome. Pode ser null se indisponível.
    Example: 1080

  - `data.dataList.proxy.proxyRegionCode` (string, required)

  - `data.dataList.proxy.proxyStatus` (integer, required)
    0-Normal 1-Alocação pendente 2-Atualizando 3-Expirado

  - `data.dataList.proxy.proxySub` (object, required)

  - `data.dataList.proxy.proxySub.activeRecordId` (string, required)

  - `data.dataList.proxy.proxySub.businessId` (string, required)

  - `data.dataList.proxy.proxySub.createMember` (integer, required)

  - `data.dataList.proxy.proxySub.endTime` (string, required)

  - `data.dataList.proxy.proxySub.id` (string, required)

  - `data.dataList.proxy.proxySub.nextBillingTime` (string, required)

  - `data.dataList.proxy.proxySub.startTime` (string, required)

  - `data.dataList.proxy.proxySub.subPayMethod` (string, required)

  - `data.dataList.proxy.proxySub.subStatus` (integer, required)
    Status da assinatura: 0 - Pendente, 1 - Assinado, 2 - Cancelado

  - `data.dataList.proxy.proxySub.subType` (integer, required)
    Tipo de assinatura: 1 agente, 2 pacotes

  - `data.dataList.proxy.proxySub.teamId` (string, required)

  - `data.dataList.proxy.proxyType` (integer, required)
    Tipo de proxy: 0-http 1-https 2-socks5 4-Oxylabs 5-Proxys.io 6-GeoSurf 9-Oxylabsauto 10-Trogan 11-Shadowsocks 12-vmess

  - `data.dataList.proxy.proxyTypeCode` (string, required)

  - `data.dataList.proxy.regionKey` (string, required)

  - `data.dataList.proxy.releaseTime` (string, required)
    Tempo de liberação: tempo de exclusão, se excluído; tempo de expiração, se expirado.

  - `data.dataList.proxy.uniqueId` (integer, required)

  - `data.dataList.proxyStatus` (integer)
    Status do Proxy: 0 - Não detectado; 1 - Detectando; 2 - Detecção falhou; 3 - Detecção bem-sucedida.

  - `data.dataList.supportAdb` (boolean)

  - `data.dataList.tagInfos` (array)
    Detalhes das etiquetas. Array vazio quando nenhuma etiqueta está atribuída

  - `data.dataList.tagInfos.id` (string, required)
    ID da etiqueta

  - `data.dataList.tagInfos.tagName` (string, required)
    Nome da etiqueta

  - `data.dataList.updateDate` (string)

  - `data.dataList.updateMember` (integer)

  - `data.pages` (string, required)

  - `data.total` (string, required)

  - `requestId` (string, required)
    ID da solicitação de operação

