# Придбання й активація Cloud Phone на місяць

Купує та активує від 1 до 10 місячних Cloud Phone на 30 днів.
- **Попередження**: **операція реально списує кошти з балансу команди.**
- **Дозвіл**: потрібне право **Керування витратами/платежами**, інакше повертається `99012`.
- **Спочатку створіть**: використайте [`/cloudphone/create`](./open-api.yaml#operation/createUsingPOST); створення дає неактивні записи й не списує кошти.
- **Вибір**: ID мають бути унікальними, належати команді та використовувати активні 30-денні продукти. Різні місячні SKU можна змішувати. Несумісні стани чи замовлення, очікувані клієнтські замовлення та паралельні покупки відхиляють увесь запит.
- **Списання й відновлення**: перевірка та списання виконуються цілком. Для одного оплаченого замовлення право відновлюється без повторного списання. Local API, Open API і клієнт мають спільний стан замовлення.
- **Завершення**: підтверджує 30 днів для всіх; не вмикає телефони й автоподовження.
- **Непідтверджена активація**: при `33422` `data.results` лишається повним і впорядкованим. Перевірте `status`, `expireTime`, `errorCode`.
- **Повтор**: після таймауту запитайте [`/cloudphone/info`](./open-api.yaml#operation/infoUsingPOST) або [`/cloudphone/page`](./open-api.yaml#operation/pageUsingPOST).

Помилки: `20002`, `20003`, `20004`, `20008`, `20041`, `20055`, `20068`, `20070`, `20071`, `33420`, `33421`, `33422`, `99001`, `99002`, `99012`. Див. [Error Codes](../Getting%20Started/error-codes.md).

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

## Security:

  - `Authorization` (unknown)
    http bearer JWT

## Request fields (application/json):

  - `ids` (array, required)
    One to ten distinct positive Cloud Phone IDs, encoded as strings to preserve 64-bit precision

## Response 200:

  - `200` (unknown)
    Request processed; inspect `code`, and inspect `data.results` when returned

## Response 200 fields (application/json):

  - `code` (integer, required)
    Business result code; `0` indicates success
    Example: 0

  - `msg` (string | null, required)
    Error message; null when successful
    Example: null

  - `requestId` (string, required)
    Request ID for troubleshooting
    Example: 1d4f3ea968664593860b94b35d4ebf5e

  - `data` (object)

  - `data.orderId` (string, required)
    Paid balance-order ID

  - `data.orderStatus` (integer, required)
    Order status; 1 means completed
    Enum: 1

  - `data.results` (array, required)
    One result per requested ID, in request order

  - `data.results.id` (string, required)
    Cloud Phone ID

  - `data.results.status` (string, required)
    Activation result
    Enum: "ACTIVATED", "FAILED", "UNKNOWN"

  - `data.results.expireTime` (string | null)
    Unix time in milliseconds; present for a successful activation

  - `data.results.errorCode` (integer | null)
    Business error code for a failed item

