# Obtendo uma lista de perfis de telefones na nuvem

Endpoint: POST /api/cloudphone/page
Version: 1.0.0

## 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 fields (application/json):

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

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

  - `data` (object, required)

  - `data.current` (integer, 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)
    ADB info is only available when the phone is powered on (envStatus >= 4); it cannot be queried when powered off or booting

  - `data.dataList.adbInfo.adbIp` (string, required)
    adb ip

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

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

  - `data.dataList.adbInfo.command` (string | null)
    ADB SSH tunnel connection command

  - `data.dataList.adbInfo.expireTime` (string | null)
    ADB connection expiration time

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

  - `data.dataList.adbInfo.success` (integer, required)
    Obtido com sucesso: 1 = Sim, 0 = Não

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

  - `data.dataList.createDate` (string)
    Creation time

  - `data.dataList.createMember` (integer)
    Creator member ID

  - `data.dataList.createMemberName` (string)
    Creator member name

  - `data.dataList.enableAdb` (boolean)
    Whether to enable ADB

  - `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` (integer)
    tempo de expiração

  - `data.dataList.groupId` (integer)
    Group ID

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

  - `data.dataList.id` (integer)
    Cloud phone ID

  - `data.dataList.androidId` (string)
    cloud phone android id

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

  - `data.dataList.lastConnectDate` (string)
    Last connection time

  - `data.dataList.lastConnectMemberId` (integer)
    Last connected member ID

  - `data.dataList.lastConnectMemberName` (string)
    Last connected member name

  - `data.dataList.lastStartDate` (string)
    Last boot time

  - `data.dataList.lastStartMemberId` (integer)
    Last boot member ID

  - `data.dataList.lastStartMemberName` (string)
    Last boot member name

  - `data.dataList.proxy` (object)

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

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

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

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

  - `data.dataList.proxy.expiryTime` (integer, required)
    Expiration time

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

  - `data.dataList.proxy.groupId` (integer, required)
    Group ID

  - `data.dataList.proxy.id` (integer, required)
    ID

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

  - `data.dataList.proxy.proxyAreaCode` (string, required)
    Proxy location area code

  - `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)
    Proxy details string

  - `data.dataList.proxy.proxyIp` (string, required)
    Proxy server IP address

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

  - `data.dataList.proxy.proxyPort` (integer, required)
    Proxy server port

  - `data.dataList.proxy.proxyRegionCode` (string, required)
    Proxy location region code

  - `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` (integer, required)
    Active subscription record ID

  - `data.dataList.proxy.proxySub.businessId` (string, required)
    Proxy service business ID

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

  - `data.dataList.proxy.proxySub.endTime` (integer, required)
    End time

  - `data.dataList.proxy.proxySub.id` (integer, required)
    Subscription ID

  - `data.dataList.proxy.proxySub.nextBillingTime` (integer, required)
    Next billing/payment time

  - `data.dataList.proxy.proxySub.startTime` (integer, required)
    Start time of validity

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

  - `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` (integer, required)
    Team ID

  - `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)
    Proxy protocol type code

  - `data.dataList.proxy.regionKey` (string, required)
    Cloud platform region key

  - `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)
    Display sort sequence ID

  - `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)
    Whether ADB is supported: 0 = no, 1 = yes

  - `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)
    Update time

  - `data.dataList.updateMember` (integer)
    Updater member ID

  - `data.pages` (integer, required)

  - `data.total` (integer, required)

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

