# Cài đặt ứng dụng trên điện thoại đám mây

Cài một ứng dụng từ thư viện ứng dụng của nhóm lên cloud phone.
- **Điều kiện tiên quyết**: cloud phone phải đang bật và không bị thành viên khác chiếm giữ. Ứng dụng phải đã có trong thư viện của nhóm hoặc trong danh mục công khai; xác định nó bằng `appVersionId`, hoặc bằng `packageName` cùng `versionCode`. Ứng dụng cũng phải đã được tải lên dịch vụ thiết bị đang phục vụ cloud phone này, nếu không việc cài sẽ thất bại.
- **Giới hạn tần suất**: tối đa một lần cài mỗi cloud phone mỗi giây; lệnh gọi thứ hai nhanh hơn mức đó sẽ bị từ chối.
- **Hoàn tất**: **đã tiếp nhận, chưa hoàn tất.** Phản hồi chỉ xác nhận yêu cầu đã được đưa vào hàng đợi. Hãy hỏi vòng `/cloudphone/app/installedList` để xem ứng dụng đã tới chưa.
- **Thử lại**: an toàn sau khi kiểm tra danh sách đã cài, trong khuôn khổ giới hạn một lần mỗi giây.

Các mã lỗi nghiệp vụ đã ghi nhận: `33005`, `33014`, `33714`. Xem [Error Codes](../Getting%20Started/error-codes.md) để biết ý nghĩa từng mã. Mọi thao tác cũng có thể trả về các mã dùng chung.

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

## Security:

  - `Authorization` (unknown)
    http bearer JWT

## Request fields (application/json):

  - `appVersionId` (string)
    ID phiên bản ứng dụng

  - `id` (string, required)
    ID điện thoại đám mây

  - `packageName` (string)
    Tên gói — chỉ bắt buộc nếu không cung cấp appVersionId

  - `versionCode` (integer)
    Mã phiên bản — chỉ bắt buộc nếu không cung cấp appVersionId

## Response 200:

  - `200` (unknown)
    Thành công. `data` là một giá trị boolean duy nhất.

## Response 200 fields (application/json):

  - `code` (integer)

  - `msg` (string | null)

  - `data` (boolean)

  - `requestId` (string)

