# Configurar proxy del teléfono en la nube

Vincula un proxy a uno o varios Cloud Phones.
- **Requisitos previos**: indica al menos uno de `ids` o `uniqueIds`. Los teléfonos deben pertenecer a tu equipo; **no** hace falta que estén encendidos. Si indicas un `proxyId`, debe existir; de lo contrario la llamada se rechaza.
- **Efecto**: cuando `proxyId` se omite o es `0`, se reutiliza un proxy existente con datos de conexión idénticos y **se crea un registro de proxy nuevo en tu equipo si no hay ninguna coincidencia**. El estado de comprobación del proxy se restablece y se recuerda el proxy anterior.
- **Finalización**: sincrónica. **Los teléfonos encendidos reciben el nuevo proxy de inmediato: no hace falta reiniciarlos**; los apagados lo aplican en el siguiente arranque.
- **Reintentos**: volver a vincular un `proxyId` existente es idempotente, pero repetir una llamada que lleve datos de conexión en bruto puede crear otro registro de proxy cada vez que falle la deduplicación.

Errores de negocio documentados: `33300`, `33303`, `33320`, `14023`. Consulte [Error Codes](../Getting%20Started/error-codes.md) para el significado de cada código. Cualquier operación puede devolver además los códigos comunes.

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

## Security:

  - `Authorization` (unknown)
    http bearer JWT

## Request fields (application/json):

  - `ids` (array)
    Lista de ID de entornos de teléfonos en la nube
    Example: ["1558968155668507"]

  - `uniqueIds` (array)
    Lista de números de secuencia mostrados de los entornos de teléfonos en la nube (se usa como correspondencia si no se indican envIds)
    Example: [1001]

  - `proxy` (object)

  - `proxy.proxyId` (string)
    ID de configuración de proxy (si el valor es mayor que 0, se reutiliza una configuración de proxy existente; si está vacío o <=0, se usan los parámetros detallados siguientes para crear/actualizar el proxy)
    Example: 10002

  - `proxy.proxyIp` (string, required)
    Dirección IP del servidor proxy
    Example: 192.168.1.100

  - `proxy.proxyPort` (integer, required)
    Puerto del servidor proxy
    Example: 8080

  - `proxy.proxyName` (string)
    Nombre/descripción de la configuración del proxy
    Example: test_proxy_01

  - `proxy.proxyProvider` (integer, required)
    Tipo de proxy 0:http, 1:https, 2:socks5
    Example: 2

  - `proxy.username` (string)
    Usuario de autenticación del proxy
    Example: admin

  - `proxy.password` (string)
    Contraseña de autenticación del proxy
    Example: pwd123

  - `proxy.refreshUrl` (string)
    URL de la API para actualizar la IP del proxy dinámico
    Example: http://api.proxy.com/refresh

  - `proxy.country` (string)
    Código de país de la ubicación del proxy (por ejemplo, CN, US)
    Example: US

  - `proxy.state` (string)
    Estado/Provincia de la ubicación del proxy
    Example: California

  - `proxy.city` (string)
    Ciudad de la ubicación del proxy
    Example: Los Angeles

## Response 200:

  - `200` (unknown)
    Correcto. `data` es siempre null en esta operación; el resultado lo transmite `code`.

## Response 200 fields (application/json):

  - `code` (integer)
    Código de respuesta: 0 = correcto, >0 = error

  - `data` (null)

  - `msg` (string | null)
    Mensaje; se rellena si code > 0

  - `requestId` (string)
    Identificador único de la solicitud; indíquelo al contactar con soporte

