# Android ID からクラウドフォンの詳細を取得

端末が報告する Android ID からクラウドフォンを検索します。
- **副作用**：なし。読み取り専用。バックオフを入れれば安全にリトライできます。クラウドフォンは起動している必要はありません。
- **返却**：`/cloudphone/info` と同じ詳細構造です。
- **境界ケース**：`androidId` が空の場合、バリデーションエラーではなく `data` が null の成功が返ります。また複数のクラウドフォンが同じ Android ID を持つ場合、そのうち 1 台が任意に返されます。

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

## Request fields (application/json):

  - `androidId` (string, required)
    クラウドフォンの androidId
    Example: 8f7e6d5c4b3a2f1e

## Response 200:

  - `200` (unknown)
    OK

## Response 200 fields (application/json):

  - `code` (integer, required)
    Example: 0

  - `msg` (string | null, required)
    Example: null

  - `data` (object, required)

  - `data.id` (string, required)
    クラウドフォン ID

  - `data.androidId` (string)
    クラウドフォンの android id

  - `data.gaid` (string)
    クラウドスマホの gaid

  - `data.envName` (string, required)
    クラウドフォン名

  - `data.groupId` (string, required)
    グループ ID

  - `data.groupName` (string | null)
    グループ名。クラウドフォンがグループに属していない場合は Null

  - `data.skuId` (string, required)
    製品 SKU ID

  - `data.tagInfos` (array, required)
    タグの詳細。タグが割り当てられていない場合は空の配列

  - `data.tagInfos.id` (string, required)
    タグID

  - `data.tagInfos.tagName` (string, required)
    タグ名

  - `data.billingType` (integer, required)
    課金方式：1 = 従量課金（オンデマンド）、2 = 月額

  - `data.proxyStatus` (integer, required)
    プロキシステータス：0 = 未検査、1 = 検査中、2 = 検査失敗、3 = 検査成功

  - `data.settings` (object, required)
    高度な指紋設定

  - `data.settings.automaticGeo` (boolean, required)

  - `data.settings.automaticLocation` (boolean, required)

  - `data.settings.automaticLanguage` (boolean, required)

  - `data.settings.longitude` (number | null, required)

  - `data.settings.latitude` (number | null, required)

  - `data.device` (object, required)
    端末ハードウェア情報

  - `data.device.server` (string | null, required)

  - `data.device.countryName` (string, required)

  - `data.device.rom` (integer, required)

  - `data.device.wifiBssid` (string | null, required)

  - `data.device.bluetoothMac` (string, required)

  - `data.proxy` (object, required)
    プロキシ設定

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

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

  - `data.proxy.state` (string | null)
    プロキシの州または都道府県。出口 IP の検出地域を優先し、なければ設定地域を使用します。null または空文字列の場合があります。
    Example: California

  - `data.proxy.city` (string | null)
    プロキシの都市。出口 IP の検出地域を優先し、なければ設定地域を使用します。null または空文字列の場合があります。
    Example: Los Angeles

  - `data.proxy.proxyPort` (integer | null)
    プロキシ接続ポート。プロキシ名から推測しません。取得できない場合は null になります。
    Example: 1080

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

  - `data.lastStartMemberId` (string, required)
    最終起動メンバー ID

  - `data.lastStartMemberName` (string | null, required)
    最終起動メンバー名

  - `data.lastStartDate` (string, required)
    最終起動日時

  - `data.lastConnectMemberId` (string, required)
    最終接続メンバー ID

  - `data.lastConnectMemberName` (string | null, required)
    最終接続メンバー名

  - `data.lastConnectDate` (string, required)
    最終接続日時

  - `data.envStatus` (integer, required)
    環境ステータス：0 = 新規、1 = 作成失敗、2 = 電源オフ、3 = 起動中、4 = 起動済み、5 = リセット中、6 = 再起動中、7 = ワンクリック新端末の処理中

  - `data.abnormalStatus` (integer, required)
    異常ステータス：0 = 正常、1 = 未アクティベート、2 = 未払い、3 = 在庫超過、4 = 無効化

  - `data.expireTime` (string, required)
    有効期限

  - `data.envRemark` (string, required)
    環境の備考

  - `data.createMember` (string, required)
    作成者メンバー ID

  - `data.updateMember` (string, required)
    更新者メンバー ID

  - `data.updateDate` (string, required)
    更新日時

  - `data.createDate` (string, required)
    作成日時

  - `data.createMemberName` (string | null, required)
    作成者メンバー名

  - `requestId` (string, required)
    Example: 4d0f4fa68613441e9a11446a6437bb5a

