На этой странице перечислены основные коды ошибок, которые возвращает API MoreLogin.
Все ответы API имеют следующий стандартный вид:
{
"code": 0,
"msg": null,
"data": {},
"requestId": "unique-request-id"
}| Поле | Тип | Описание |
|---|---|---|
code | integer | 0 = успех, >0 = ошибка |
msg | string | Сообщение об ошибке (null при успехе) |
data | object | Данные ответа |
requestId | string | Уникальный идентификатор запроса для диагностики |
Коды не выдаются из одного сплошного списка. У каждой продуктовой области свой диапазон, поэтому первые две или три цифры показывают, какая подсистема отклонила запрос:
| Диапазон | Область |
|---|---|
14xxx | Прокси |
15xxx | Группы и метки |
19xxx | Профили браузера |
20xxx | Кошелёк, заказы и тарификация |
21001 | Слишком старая версия клиента |
33xxx | Облачный телефон |
35xxx | Аутентификация API и ограничение частоты |
39xxx | Облачное хранилище |
40xxx | Среды выполнения облачного браузера |
41xxx | Настройка вебхуков |
99xxx | Шлюз и проверка запроса |
Для каждой операции перечислены коды, которые она заведомо может вернуть. См. постпродуктовые матрицы по ссылкам из матрицы повторов и завершения эндпоинтов.
Могут вернуться из любой операции, поскольку исходят из проверки запроса, проверки прав и шлюза, а не из бизнес-логики.
| Код | Описание | Что делать |
|---|---|---|
0 | Успех | — |
21001 | Слишком старая версия клиента | Обновите десктопный клиент MoreLogin |
35000 | Слишком частые запросы к API | Повторяйте подходящие операции с отступом и дрожанием; см. Ограничение частоты |
99000 | Неизвестная системная ошибка | Повторите позже и сообщите requestId в поддержку |
99001 | Недопустимые параметры запроса | Проверьте формат тела запроса и обязательные поля |
99002 | Нет прав на операцию | Проверьте права своей учётной записи |
99003 | Исключение в запросе | Внесите нужную бизнес-правку согласно msg |
99004 | Тело запроса слишком большое | Уменьшите тело запроса |
99005 | Такой запрос уже выполняется | Дождитесь завершения текущего запроса и повторите |
99006 | Некорректный запрос | Проверьте HTTP-метод, заголовки и тело |
99007 | IP запроса не в списке разрешённых | Добавьте IP вызывающей стороны в список разрешённых |
99008 | Превышена квота запросов для IP или устройства | Снизьте количество запросов с этого IP или устройства |
99009 | Слишком много запросов | Отступите с дрожанием и повторите |
99011 | Метка времени запроса истекла | Отправьте заново с текущей меткой времени |
99012 | Требуется право на расходы | Используйте аккаунт владельца команды или выдайте право на расходы |
| Код | Описание | Что делать |
|---|---|---|
20002 | The original monthly order was cancelled | Create a new monthly purchase for eligible Cloud Phones |
20003 | The original monthly order was refunded | Create a new monthly purchase for eligible Cloud Phones |
20004 | The original monthly order does not exist | Verify the Cloud Phone purchase state and contact support with requestId if it persists |
20008 | The original monthly order is not completed or its status cannot be confirmed | Check the order and Cloud Phone state before retrying |
20055 | A Cloud Phone does not exist, was deleted, or does not belong to the team | Verify every Cloud Phone ID and team ownership |
20068 | A pending monthly payment order already exists | Complete or cancel the pending order before using the activation API |
20070 | A concurrent Cloud Phone purchase is already in progress | Wait for the in-flight purchase to settle, then read state before retrying |
20071 | A selected monthly SKU is unavailable or has no active 30-day price | Query the monthly SKU endpoint again and choose an available product |
33420 | Paid and unpaid Cloud Phones cannot be activated in the same batch | Separate Cloud Phones by purchase state and submit compatible batches |
33421 | Paid Cloud Phones from different purchase orders cannot be mixed | Submit one activation batch per original purchase order |
33422 | Payment succeeded but activation is incomplete or cannot yet be confirmed | Inspect data.results and each Cloud Phone's expiry state; do not pay again blindly |
33300 | Облачный телефон не существует | Проверьте ID облачного телефона и что он принадлежит вашей команде |
33301 | Облачный телефон не включён | Включите его и дождитесь работоспособного состояния |
33308 | Используется другим участником, выключить нельзя | Повторите, когда другой участник освободит его |
33309 | Используется другим участником, подключиться нельзя | Повторите, когда другой участник освободит его |
33315 | Задолженность на счёте, облачный телефон заморожен | Пополните кошелёк |
33316 | Недостаточно доступных профилей | Обновите тариф |
33317 | Право на профиль было отозвано | Попросите администратора выдать доступ |
33318 | Недостаточно средств для запуска | Пополните кошелёк |
33321 | Профиль недоступен | Перед повтором проверьте состояние профиля |
33322 | Идёт проверка прокси | Опрашивайте, пока проверка не завершится |
33323 | Профиль запускается | Дождитесь окончания запуска, повторно не отправляйте |
33324 | Профиль уже запущен | Ничего делать не нужно |
33325 | Профиль деактивирован | Активируйте его перед использованием |
33331 | Идёт смена устройства в один клик, выключить нельзя | Дождитесь завершения |
33332 | Идёт перезагрузка, выключить нельзя | Дождитесь завершения |
33333 | Идёт сброс, выключить нельзя | Дождитесь завершения |
33338–33345 | Страна, часовой пояс, язык, долгота или широта отсутствуют либо недопустимы | См. таблицу стран и часовых поясов |
33346 | SKU снят с продажи | Выберите другой skuId |
33347 | Модель требует последнюю версию клиента для Windows | Обновите десктопный клиент MoreLogin |
33367 | Идёт обслуживание, включить нельзя | Сроки восстановления смотрите в системных уведомлениях |
33376 | Месячная тарификация истекла | Продлите подписку |
33398–33400 | Долгота, широта или высота вне диапазона | Долгота −180…180, широта −90…90, высота −50000…100000 |
33401 | Облачный телефон не поддерживает эту операцию | Используйте поддерживаемую модель |
33407 | Превышена квота пакета параллельных запусков | Дождитесь свободного слота или увеличьте квоту |
33408 | Недопустимый формат номера телефона | Начните с +, код страны 1–3 цифры без 86, всего 8–14 цифр |
33418 | Файл для трансляции не существует либо недопустим | Загрузите с uploadType=2 и используйте возвращённый fileId |
33419 | Формат файла для трансляции не поддерживается | Загрузите MP4 через /cloudphone/uploadFile |
33005 | Не удалось установить приложение | Повторите и проверьте свободное место на устройстве |
33014 | Слишком частые операции | Отступите и повторите |
33714 | Приложение не существует или снято с публикации | Обновите библиотеку приложений |
33814 | Шаблон RPA не существует | Запросите список шаблонов заново и используйте актуальный templateId |
33818 | Недопустимый формат параметра шаблона RPA | Передавайте templateParameter как экранированную JSON-строку |
33303 | Не удалось создать облачный телефон | Перед повтором запросите /cloudphone/page; не отправляйте слепо |
33320 | Прокси, привязанный к этому облачному телефону, удалён | Привяжите прокси заново через /cloudphone/setProxy |
33326 | Используется другим участником, заменить устройство нельзя | Повторите, когда другой участник освободит его |
33350 | На части облачных телефонов не удалось включить ADB | Эти телефоны не запущены либо не поддерживают ADB; перечитайте состояние и повторите только для них |
33507 | Файл на устройстве не существует | Проверьте путь; запрос на скачивание сначала обходит родительский каталог |
Операции установки и управления питанием могут дополнительно вернуть код, сопоставленный Сервисом, из диапазонов 33001–33033, 33500–33520, 33700–33724 или 33900–33910. Какой из них достижим, зависит от Сервиса, обслуживающего устройство, поэтому в операциях они не перечисляются по отдельности.
| Код | Описание | Что делать |
|---|---|---|
19001 | Профиль с таким именем уже существует | Выберите уникальное имя или опустите envName, чтобы имя сгенерировалось |
19002 | Создание профиля не удалось на стороне сервиса | Перед повтором подтвердите через /env/page |
19004 | Недопустимый формат user agent | Передайте разбираемый advancedSetting.ua |
19005 | Недопустимый формат cookie | Передавайте cookies как экранированную строку JSON-массива |
19039 | Профиль не найден | Проверьте envId / uniqueId и что профиль принадлежит вашей команде |
19063 | Достигнут лимит количества профилей | Удалите профили или обновите тариф |
19064 | Нет прав на эту группу | Попросите администратора выдать доступ к группе |
19065 | Нет прав на этот профиль | Попросите администратора выдать доступ к профилю |
19099 | Недостаточно доступных профилей, использование ограничено | Обновите тариф |
19100 | Недопустимый ID платформы | Используйте platformId из /system/platform/list |
19101 | Недопустимый ID сайта | Используйте siteId из /system/platform/list |
19102 | URL пользовательской платформы не может быть пустым | Передавайте platformUrl, когда platformId равен 9999 |
19103 | Недопустимый формат URL автозапуска | Передавайте корректные абсолютные URL в afterStartupConfig |
19104 | Недопустимый ID группы | Используйте группу, существующую в вашей команде |
19105 | Недопустимый ID метки | Используйте метки, существующие в вашей команде |
19106 | Недопустимый ID прокси | Используйте прокси, существующий в вашей команде, либо опустите proxyId |
19107 | Недопустимая версия ядра браузера | Выберите версию из /env/advanced/ua/versions |
19108 | Недопустимая версия user agent | Выберите версию из /env/advanced/ua/versions |
19109 | Версия user agent не совпадает с самим user agent | Согласуйте uaVersion с advancedSetting.ua либо передайте только одно из них |
19110 | Недопустимый формат пользовательского URL | Передайте корректный абсолютный URL |
19111 | Firefox поддерживает только Windows и macOS | Выберите Windows или macOS либо перейдите на Chrome |
19112 | Ключ шифрования не задан, включить шифрование профиля нельзя | Настройте ключ шифрования команды либо передайте isEncrypt=0 |
19141 | Не более 100 символов, только цифры, буквы и пробелы | Сократите accountInfo.otpSecret и уберите прочие символы |
19142 | Профили со сквозным шифрованием изменить нельзя | Для зашифрованных профилей используйте клиент MoreLogin |
19143 | Версия клиента слишком старая для этого ядра | Обновите десктопный клиент MoreLogin |
19147 | Превышен суточный лимит создания | Обновите тариф, чтобы поднять лимит |
19149 | Не выбран тип кеша | Укажите хотя бы один класс кеша для очистки |
19159 | Операционная система не совпадает с расширенными настройками | При обновлении ОС менять нельзя; оставьте advancedSetting.os как сохранено |
19160 | Тип браузера не совпадает с расширенными настройками | При обновлении браузер менять нельзя; оставьте advancedSetting.vendor как сохранено |
19175 | Координаты вне зоны обслуживания | Выберите координаты в пределах поддерживаемой зоны |
19193 | Владелец общего доступа запретил редактирование этого профиля | Попросите владельца разрешить редактирование |
| Код | Описание | Что делать |
|---|---|---|
39001 | Информация об облачном хранилище не найдена | Проверьте, что облачное хранилище выделено команде |
39011 | Файл не найден | Проверьте ID файла |
39014 | URL доступа к файлу пуст | Зарегистрируйте загрузку заново |
39037 | Недопустимый параметр расширения файла | Передайте поддерживаемое расширение |
39041 | Достигнута квота хранилища | Удалите файлы, чтобы освободить место |
39044 | Дублирующееся имя файла | Переименуйте файл |
39045 | Слишком много неподтверждённых предподписанных загрузок | Сначала завершите или отмените неподтверждённые загрузки |
39046 | Файл не был загружен успешно | Загрузите файл на предподписанный URL до вызова complete |
39047 | Срок облачного хранилища истёк | Продлите облачное хранилище |
39048 | Метка облачного хранилища не найдена | Используйте метку из /cloudstorage/tag/all |
39049 | ID меток не могут быть пустыми | Передайте хотя бы одну метку; пустой список отклоняется |
39050 | Имя файла длиннее 60 символов | Сократите имя |
39051 | Размер файла должен быть больше 0 Б и меньше 2 ГБ | Разделите или сожмите файл |
| Код | Описание | Что делать |
|---|---|---|
14003 | Не удалось обновить прокси либо прокси не существует | Проверьте ID прокси |
14017 | Прокси нельзя удалить | Неистёкший прокси облачной платформы удалить нельзя; дождитесь истечения срока |
14023 | Тип прокси не существует | Используйте поддерживаемое значение сервиса |
14024 | Прокси не существует | Проверьте ID прокси |
14519 | Динамические прокси изменить нельзя | Управляйте динамическими прокси вне эндпоинтов прокси |
20018 | Не удалось получить цену товара | Повторите позже и сообщите requestId в поддержку |
20029 | Счёт кошелька недоступен | Проверьте кошелёк команды |
20032 | Не удалось запросить баланс | Повторите позже и сообщите requestId в поддержку |
20041 | Недостаточно средств | Пополните кошелёк |
Возвращаются эндпоинтами /cloudbrowser/start, /cloudbrowser/stop и /cloudbrowser/connect. Коды, возникающие после отправки запроса на запуск, проявляются в /cloudbrowser/page, а не в ответе на запуск.
| Код | Описание | Что делать |
|---|---|---|
40001 | Облачный браузер уже запущен | Ничего делать не нужно; подключитесь к существующему запуску |
40002 | В текущем состоянии облачный браузер остановить нельзя | Перечитайте /cloudbrowser/page и повторите |
40003 | Проверка прокси не удалась | Убедитесь, что привязанный прокси достижим |
40006 | Операция облачного браузера не удалась | Повторите; если не удалась архивация, смотрите cloudBrowserArchiveStatus |
40008 | Запущенный облачный браузер не найден | Сначала запустите его либо перечитайте /cloudbrowser/page |
40009 | Нельзя подключиться к запуску другого участника | Попросите этого участника освободить его |
40010 | Не удалось подключиться к облачному браузеру | Повторите; токен доступа к рабочему столу не был выпущен |
40015 | К профилю не привязан прокси | Сначала привяжите прокси через /env/setProxy/batch |
40016 | Не удалось отправить запрос на запуск | Повторите |
40020 | Облачный браузер останавливается | Дождитесь завершения остановки |
40021 | Облачный браузер уже запускается | Не отправляйте повторно; опрашивайте /cloudbrowser/page |
40023 | Профиль используется | Сначала закройте другую сессию |
40024 | Облачный браузер не запустился вовремя | Запустите его снова |
40025 | Привязанный прокси больше не существует | Привяжите прокси заново |
40026 | Привязанный прокси истёк | Продлите или замените прокси |
40027 | Привязанный прокси ещё выделяется | Повторите после завершения выделения |
40028 | Локальные прокси не поддерживаются | Используйте нелокальный прокси |
40029 | Этот тип прокси не поддерживается | Используйте поддерживаемый тип прокси |
40037 | Профили со сквозным шифрованием не могут использовать облачный браузер | Используйте незашифрованный профиль |
Возвращаются эндпоинтами настройки вебхуков, когда URL обратного вызова отклонён.
| Код | Описание | Что делать |
|---|---|---|
41001 | URL обратного вызова должен быть корректным HTTPS-адресом | Передайте HTTPS-URL длиной не более 1024 символов, без данных пользователя и фрагмента, с корректным портом, и убедитесь, что все адреса, в которые он разрешается, маршрутизируются в интернете |
| Код | Описание | Что делать |
|---|---|---|
12002 | Команда не существует | Команда участника была удалена; обратитесь в поддержку |
35002 | Аутентификация API не удалась | Проверьте client_id (API ID) и client_secret (API-ключ) |
35005 | У запроса нет прав на операцию | Участник отключён либо IP вызывающей стороны не проходит списки разрешённых и запрещённых IP Open API |
| Статус | Описание |
|---|---|
200 | Запрос обработан (бизнес-результат смотрите в поле code) |
401 | Не авторизовано — токен доступа недействителен или истёк |
403 | Запрещено — недостаточно прав |
429 | Слишком много запросов — превышен лимит частоты |
500 | Внутренняя ошибка сервера — обратитесь в поддержку |
Текущий шлюз приложения обозначает собственный отказ по лимиту частоты бизнес-кодом 35000 и не выставляет HTTP 429 явно. Пограничный прокси или будущая версия шлюза всё же может вернуть 429, поэтому клиентам следует обрабатывать оба варианта.
| Категория сбоя | Повторять? | Требуемое поведение клиента |
|---|---|---|
| Ошибка валидации, прав, баланса или неподдерживаемой возможности | Нет | Исправьте запрос, права, баланс или выбранный ресурс, и только затем повторяйте |
Ограничение частоты (35000) | Да, с условиями | Отступайте с дрожанием; проверяйте code в теле, даже когда HTTP-статус равен 200 |
| Временный сбой сервера или Сервиса | Да, с условиями | Чтение повторять можно; для записи сначала запросите состояние ресурса или задачи |
| Асинхронная операция принята | Не отправляйте повторно сразу | Опрашивайте документированный эндпоинт состояния до успеха, ошибки или таймаута |
| Результат неизвестен после сетевого таймаута | Сначала проверьте состояние | Не повторяйте слепо создание, покупку, регистрацию загрузки или создание расписания |
В публичном API сейчас нет общего заголовка ключа идемпотентности. Поэтому запросы состояния для конкретного эндпоинта — часть безопасного восстановления для запросов, меняющих состояние.
Для асинхронных операций ответ с code: 0 может означать «принято», а не «завершено». Ориентируйтесь на документацию операции: её поле состояния и конечные состояния.
Полный список операций см. в матрице повторов и завершения эндпоинтов, а порядок опроса и конечные состояния — в Асинхронных операциях.
Совет: обращаясь в поддержку, всегда указывайте
requestIdиз ответа — это ускорит разбор.