Перейти к содержимому

Создание облачного профиля телефона

Request

Покупает и подготавливает один или несколько облачных телефонов.

  • Предварительные условия: в тарифе должна остаться ёмкость, а суточная квота создания не должна быть исчерпана. country, timezone и language проверяются по списку, который поддерживает выбранный Сервис, поэтому неподдерживаемая комбинация отклоняется, а не подгоняется незаметно. Координаты ограничены ±180 по долготе и ±90 по широте. Номер телефона отбрасывается, если выбранный SKU его не поддерживает. Месячные SKU можно создавать через API, если они возвращены /api/cloudphone/monthly/skus; текущий период — 30 дней.
  • Эффект: создаёт записи облачных телефонов. SKU с поминутной оплатой становятся доступными после подготовки; месячные создаются неактивными. Создание не списывает средства: месячные телефоны оплачиваются только через /api/cloudphone/monthly/activate, а поминутные начинают расходовать баланс или квоту после включения.
  • Завершение: принято, но не завершено. Инстанс Сервиса ещё не готов, и слишком раннее включение отклоняется. Опрашивайте /api/cloudphone/info или /api/cloudphone/page, пока envStatus не сообщит, что телефон выключен. Для месячного SKU перед включением также выполните /api/cloudphone/monthly/activate.
  • Повтор: не идемпотентен и не сериализуется. Ключа идемпотентности нет. Не повторяйте слепо после таймаута: сначала запросите состояние.

Задокументированные бизнес-ошибки: 19064, 20018, 33338, 33339, 33340, 33341, 33342, 33343, 33344, 33345, 33398, 33399, 33400, 33408. Значения кодов см. в Error Codes. Любая операция может дополнительно вернуть общие коды.

Bodyapplication/jsonrequired
skuIdstringrequired

Модель облачного телефона

Модель облачного телефонаSKU ID (skuId)
Android 1210002
Android 1310013
Android 1410005
Android 1510004
Android 15A10014
Android 1610015
Android 1710105

Поддерживаемые регионы и соответствие часовых поясов см. в таблице стран и часовых поясов

quantityinteger, [ 1 .. 10 ]required

Количество создаваемых облачных телефонов. Диапазон значений: [1-10]

envRemarkstring, <= 1500 characters

Примечание к профилю (не более 1500 символов)

groupIdstring

ID группы. Для «без группы» укажите "0".

groupNamestring, <= 50 characters

Название существующей группы либо название новой группы, которая будет создана, если совпадений нет.

automaticGeoboolean

Подбирать ли географическое положение автоматически. По умолчанию: true

automaticLanguageboolean

Подбирать ли язык автоматически. По умолчанию: true

automaticLocationboolean

Подбирать ли местоположение (часовой пояс, страну) автоматически. По умолчанию: true

countrystring

Код страны (например us). Полный список см. в таблице стран и часовых поясов

timezonestring

Часовой пояс, например America/New_York

languagestring

Язык, например en-US

altitudenumber

Высота над уровнем моря

latitudenumber

Широта. Пример: 22.309182

longitudenumber

Долгота. Пример: 114.176817

speednumber, <= 400

Скорость перемещения

bearingnumber, <= 360

Направление перемещения

accuracynumber, <= 100

Горизонтальная точность

phoneNumberstring

Собственный номер телефона. Требования к формату: должен начинаться со знака +, код страны — от 1 до 3 цифр (кроме 86), общая длина — от 8 до 14 цифр, допустимы только + и цифры.

brandstring

Бренд устройства. Его можно запросить через интерфейс https://guide.morelogin.com/api-reference/open-api/open-api/cloud-phone/paths/~1cloudphone~1brand~1models/post.

modelIdnumber

ID модели устройства. Его можно запросить через интерфейс https://guide.morelogin.com/api-reference/open-api/open-api/cloud-phone/paths/~1cloudphone~1brand~1models/post.

proxyIdstring

ID прокси

tagsArray of strings

Названия меток. Пустые значения игнорируются.

curl -i -X POST \
  http://127.0.0.1:40000/api/cloudphone/create \
  -H 'Content-Type: application/json' \
  -d '{
    "skuId": "1661515884160372",
    "quantity": 1
  }'

Responses

OK

Bodyapplication/json
codeintegerrequired
msgstring or nullrequired
dataArray of strings

Это идентификатор облачного телефона (Cloud Phone IDS).

requestIdstringrequired
errorobject
Response
{ "code": 0, "msg": null, "data": [ "string" ], "requestId": "0d8b6f1c-9f4e-4d02-9d1a-7c3f5a1b2c3d", "error": {} }