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

Покупка и жизненный цикл

Заказы и операции​

ИдентификаторЗначениеПолучение результата
api_key_idИнтеграция и её балансGET /balance
api_user_idСтроковый ID вашего клиентаФильтры VPS, аренд и заказов
order_idОплаченная покупка, продление или смена тарифаGET /orders/{order_id}
vm_idVPSGET /vms/{vm_id}
rental_idАренда выделенного сервераGET /dedicated/rentals/{rental_id}
ip_idВыделенный IP-адресGET /ips
operation_idАсинхронная команда VPSGET /vms/{vm_id}/operations/{operation_id}

Покупка списывает баланс интеграции при приёме заказа. Выделение ресурсов затем выполняется асинхронно. Расчёт цены не списывает баланс, не создаёт заказ и не резервирует ресурсы. HTTP 202 подтверждает приём запроса, а не его конечный результат.

Статус заказаЗначение
pendingЗаказ сохранён, ожидает обработки
processingОбрабатывается
completedОплаченное действие завершено; для покупки дедика — завершено резервирование
failedДействие не выполнено; проверьте ошибку и транзакции
refundedСумма заказа возвращена на баланс интеграции
reviewНеопределённый или частичный результат, требующий выяснения

При review или requires_review=true проверьте ресурс и обратитесь в поддержку перед новой платной или разрушительной командой. Ошибка либо неопределённый ответ не доказывают, что ресурс не был создан. Транзакции показывают реальные движения баланса; order_id может быть null при пополнении и других движениях без заказа.

После потери ответа используйте исходный Idempotency-Key и неизменные параметры. Проверяйте существующий заказ вместо новой покупки для восстановления результата. Вебхуки могут повторяться или не дойти, поэтому сохраняйте возможность запросить статус.

Цена и продление VPS​

Цена зависит от локации, платформы, тарифа и доли CPU. Опубликованная месячная цена уже включает наценку интеграции. При покупке/продлении на несколько месяцев применяется текущая скидка за срок; итог получайте через расчёт, а не простым умножением месячной цены.

Сроки — календарные месяцы, а не блоки по 30 суток. Срок нового VPS рассчитывается при создании заказа. Продление увеличивает оплаченный срок либо отсчитывается от текущего времени, если оплата уже истекла. Продлить можно в период ожидания до начала удаления.

Смена тарифа не может уменьшать ресурсы CPU, RAM, диск и включённый трафик. Без cpu_percent сохраняется текущая доля. Доплата — разница цен за остаток оплаченных календарных периодов по текущим ценам тарифов с исходной скидкой каждого периода, включая продления вперёд. Срок оплаты сохраняется. Расчёт возвращает максимальную цену для подтверждения через expected_amount_usd и новую месячную цену.

Cloud-init​

Создание VPS, расчёт цены и переустановка ОС принимают необязательный cloud_init: JSON-объект cloud-config, не строку YAML. Пропустите поле или передайте null для стандартной установки.

{
"cloud_init": {
"packages": ["curl"],
"runcmd": [["sh", "-c", "echo ready > /root/cloud-init-ready"]]
}
}

Лимит объекта — 65536 байт после серверной JSON-сериализации, при которой не-ASCII символы экранируются. Поля users, packages, runcmd и write_files при наличии должны быть массивами. Сеть, hostname и основной доступ задаёт платформа. При создании по-прежнему нужен ровно один из password или ssh_public_key. При повторе покупки или команды передавайте тот же объект cloud-init.

guest_initialization содержит результат установки в деталях VPS, заказе покупки, результате операции переустановки и соответствующих вебхуках:

Статусerror_codeЗначение
succeedednullCloud-init завершился; это не подтверждает работоспособность приложения
failedcloud_init_failedОшибка пользовательской настройки; работающий VPS сохранён
unknownguest_initialization_timeoutИнициализация не подтверждена за 15 минут; VPS с пользовательской настройкой сохранён, если его работа подтверждена

Поле может быть null, если результата нет. В деталях VPS отображается результат последней установки. Заказ может быть completed, а операция переустановки — succeeded, при инициализации failed или unknown: проверяйте оба результата. Ошибка пользовательской настройки сама по себе не отменяет покупку и не возвращает оплату. Инфраструктурные ошибки по-прежнему означают ошибку создания.

Содержимое cloud-init и вывод выполнения не передаются в публичных параметрах заказа и партнёрских вебхуках.

Rescue​

Включение Rescue: PUT /vms/{vm_id}/rescue, заголовок Idempotency-Key и JSON:

{
"api_key_id": 1,
"password": "Temporary-Rescue-2026!"
}

Временный пароль обязателен: 5–128 символов, без CR, LF и NUL. VPS должен быть оплачен и иметь не менее 2048 МиБ RAM. Rescue перезагружает VPS в среду восстановления, сохраняя диски и сеть. После успешной операции подключайтесь как root по SSH к IP VPS, порт 22, с переданным паролем. Правила firewall продолжают действовать.

Включение и выключение возвращают HTTP 202 с ID операции в data.id. Проверяйте статус операции. Успешный результат содержит vm_id, status и rescue; поле rescue также доступно в деталях VPS:

{
"active": true,
"access": "ssh",
"requires_review": false,
"operation_id": 501,
"operation_status": "succeeded"
}

active означает сохранённый контекст Rescue, а не гарантию текущей доступности SSH. access принимает ssh, console или null. Всё состояние может быть null, если оно не получено. При активном Rescue недоступны смена тарифа, переустановка ОС и сброс пароля основной ОС.

Выключение Rescue: DELETE /vms/{vm_id}/rescue?api_key_id=1 с отдельным Idempotency-Key; тело и пароль не нужны. Восстанавливается загрузка обычной ОС, оплаченный VPS запускается. При истёкшей оплате или приостановке VPS остаётся выключенным. Выход доступен и из состояния error, если контекст Rescue сохранён.

При ошибке проверяйте error_code и requires_review. rescue_not_ready означает, что готовность Rescue не подтверждена: проверьте VPS и выйдите из Rescue. При rescue_memory_required нужен тариф с достаточным объёмом RAM; при rescue_iso_missing или rescue_not_configured обратитесь в поддержку. Потерянный запрос повторяйте с исходным ключом и параметрами.

Трафик и IPv4​

Дополнительный трафик VPS и отдельно оплачиваемые IPv4 имеют фиксированные цены без наценки интеграции и скидок за срок.

  • Трафик: целое количество единиц по 1024⁴ байт, только для текущего периода трафика. Расчёт возвращает expected_period_id и period_ends_at; передайте ID периода в покупку, чтобы отклонить устаревший расчёт. Остаток дополнительного трафика не переносится.
  • Покупка IPv4: один дополнительный адрес на VPS, оплаченный на 30 суток независимо от срока VPS. Не более 10 IPv4 на VPS, включая основной.
  • Продление IPv4: 30 суток от более позднего из текущего времени и paid_until, по текущей фиксированной цене. Доступно для оплачиваемых дополнительных или сохранённых IPv4; включённый основной IPv4 и IPv6 отдельно не продлеваются.
  • Сохранённые адреса: GET /ips?api_key_id=1&attachment=unattached. Сохранение адреса продолжает его оплату даже без VPS.

Чтобы перенести дополнительный IPv4, снимите его с keep_ip=true, затем назначьте совместимому VPS того же клиента (api_user_id). Адрес должен оставаться оплаченным и свободным. Назначение не покупает адрес и не продлевает срок. Проверяйте guest_configuration_required и при необходимости меняйте сеть внутри гостевой ОС.

Снятие с keep_ip=false освобождает адрес. DELETE /ips/{ip_id} освобождает сохранённый IPv4 без привязки к VPS. Основной IPv4 нельзя снять с существующего VPS.

Аренда выделенного сервера​

  1. Получите тарифы дедиков, доступность, варианты дисков и скидки за срок.
  2. Рассчитайте, затем купите аренду с plan_id, os_id, disk_layout, ID клиента и паролем либо публичным SSH-ключом. Физический сервер выбирает платформа.
  3. Сохраните order_id, затем rental_id. order.completed подтверждает резерв, а не готовность.
  4. Дождитесь dedicated.issued либо статуса аренды active. Получите адреса и доступы в деталях аренды. Срок аренды начинается с выдачи.

Статусы аренды: preparing → active → overdue → cleaning → completed. Отменённая до выдачи аренда может завершиться как cancelled. cleaning означает начавшуюся очистку/освобождение; не обещайте продление на этом этапе.

Дополнительные IPv4 из extra_ipv4_count оплачиваются в составе аренды по фиксированной цене. Для итоговой суммы используйте расчёт продления дедика. Отдельный процесс покупки и продления VPS-адресов через /ips не является оплатой адресов аренды дедика.

Если администратор отменил аренду до выдачи, исходная покупка возвращается один раз на баланс интеграции; приходят order.refunded и dedicated.released. Обычное окончание срока или освобождение уже выданной услуги не означает автоматический возврат.

Автопродление и окончание оплаты​

auto_renew по умолчанию false. Настройку можно передать при покупке или изменить через PATCH для VPS, аренды либо отдельно оплачиваемого IPv4. Само изменение флага не списывает деньги. У каждой услуги своя настройка.

УслугаСрок продленияЦена
VPSКак в последней оплаченной покупке/продленииТекущая цена тарифа, наценка интеграции и текущая скидка за срок
Аренда дедикаКак в последней оплаченной покупке/продленииТекущая цена аренды, наценка, скидка за срок и стоимость дополнительных IPv4
Отдельный IPv430 сутокТекущая фиксированная цена IPv4

При включённом автопродлении Cloud API пытается продлить услугу с баланса интеграции по предупреждению за час до окончания оплаты. Если срок истёк, повторная попытка происходит по последнему предупреждению за час до удаления/освобождения. Недостаточный баланс не продлевает услугу. Пополнение баланса само по себе не запускает немедленную повторную попытку; при необходимости продлите вручную.

Неоплаченные VPS и платные IPv4 приостанавливаются; период ожидания — 24 часа. Без оплаты они удаляются/освобождаются. Аренда дедика переходит в overdue, а после ожидания — в очистку/освобождение. Обработка асинхронная: дедлайн не гарантирует завершение очистки ровно в эту секунду.

Предупреждения приходят партнёру через Вебхуки, включая vm.deleting_soon, ip.releasing_soon и dedicated.releasing_soon, даже при выключенном автопродлении или недостатке средств. Предупреждение не подтверждает успешное продление: проверяйте итоговый оплаченный срок.

Команды VPS и удаление​

Команды возвращают операцию: queued → running → succeeded / failed. Проверяйте операцию и текущее состояние ресурса; HTTP 202 — только приём запроса. Штатные shutdown/reboot отличаются от принудительных stop/reset. Переустановка удаляет данные системного диска; wipe_extra_disks=true также разрешает удаление дополнительных дисков.

Для изменения firewall сначала прочитайте правила и revision. Передавайте ревизию с каждой командой, при конфликте перечитывайте настройки. Перестановка требует полного набора ID правил по одному разу. Системная блокировка SMTP остаётся под управлением платформы.

При удалении VPS обязательно передайте keep_ips:

  • true: сохранить IPv4, включая бывший основной, как отдельно оплачиваемые адреса. Проверьте held_ips результата операции и список адресов для сроков и настроек оплаты.
  • false: освободить адреса вместе с VPS.

Удаление, освобождение адреса и неиспользованный срок не создают пропорциональный возврат. Сохраните нужные данные до удаления или переустановки.

© 2026 AdaptGroup LLC. All rights reserved.
30 N Gould St Ste R, Sheridan, WY 82801, USA
Back to top