# クラウドフォンのプロキシ設定

1 台以上のクラウドフォンにプロキシを紐付けます。
- **前提条件**：`ids` または `uniqueIds` の少なくとも一方を指定します。クラウドフォンは自チームのものである必要がありますが、起動済みである必要は**ありません**。`proxyId` を指定する場合、それが存在しなければ呼び出しは拒否されます。
- **副作用**：`proxyId` を省略または `0` にした場合、接続情報が完全に一致する既存のプロキシが再利用され、**一致するものがなければ自チームに新しいプロキシレコードが作成されます**。プロキシの検査状態はリセットされ、直前のプロキシが記録されます。
- **完了シグナル**：同期的です。**起動済みのクラウドフォンは新しいプロキシを即座に受け取り、再起動は不要です**。電源オフのクラウドフォンは次回起動時に反映します。
- **リトライ**：既存の `proxyId` の再紐付けは冪等ですが、生の接続情報を含む呼び出しを繰り返すと、重複排除が外れるたびに新しいプロキシレコードが作られる可能性があります。

文書化されたビジネスエラー: `33300`, `33303`, `33320`, `14023`。 各コードの意味は [Error Codes](../Getting%20Started/error-codes.md) を参照してください。どの操作でも共通コードが返る場合があります。

Endpoint: POST /api/cloudphone/setProxy
Version: 2026-09-05

## Request fields (application/json):

  - `ids` (array)
    クラウドフォン環境 ID の一覧
    Example: ["1558968155668507"]

  - `uniqueIds` (array)
    クラウドフォン環境の表示連番の一覧（envIds を指定しない場合の対応付けに使用）
    Example: [1001]

  - `proxy` (object)

  - `proxy.proxyId` (string)
    プロキシ設定 ID（0 より大きい場合は既存のプロキシ設定を再利用し、空または 0 以下の場合は後続の詳細パラメータでプロキシ情報を作成/更新します）
    Example: 10002

  - `proxy.proxyIp` (string, required)
    プロキシサーバーの IP アドレス
    Example: 192.168.1.100

  - `proxy.proxyPort` (integer, required)
    プロキシサーバーのポート
    Example: 8080

  - `proxy.proxyName` (string)
    プロキシ設定の名称/説明
    Example: test_proxy_01

  - `proxy.proxyProvider` (integer, required)
    プロキシ種別 0:http, 1:https, 2:socks5
    Example: 2

  - `proxy.username` (string)
    プロキシ認証のユーザー名
    Example: admin

  - `proxy.password` (string)
    プロキシ認証のパスワード
    Example: pwd123

  - `proxy.refreshUrl` (string)
    動的プロキシ IP を更新する API の URL
    Example: http://api.proxy.com/refresh

  - `proxy.country` (string)
    プロキシ所在地の国コード（例: CN、US）
    Example: US

  - `proxy.state` (string)
    プロキシ所在地の都道府県/州
    Example: California

  - `proxy.city` (string)
    プロキシ所在地の市区町村
    Example: Los Angeles

## Response 200:

  - `200` (unknown)
    成功。この操作の `data` は常に null です。結果は `code` で示されます。

## Response 200 fields (application/json):

  - `code` (integer)
    レスポンスコード: 0 = 成功、>0 = エラー

  - `data` (null)

  - `msg` (string | null)
    メッセージ。code > 0 のときに返ります

  - `requestId` (string)
    リクエストの一意な識別子。サポートへの問い合わせ時に提示してください

