Интеграция с биллингом RootPanel
Инструкция по настройке интеграции с биллингом RootPanel https://rootpanel.net/setup.php?help=4vps
Интеграция с биллингом BILLmanager
Инструкция по настройке интеграции с биллингом BillManager 5/6 billmgr-4server.docx (Кликабельно)
Интеграция с биллингом WHMCS
Инструкция по настройке интеграции с биллингом WHMCS whmcs.pdf (Кликабельно)
API ключ
Для взаимодействия с API необходимо получить API ключ в личном кабинете на странице API
Полученный ключ следует передавать в заголовке Authorization при каждом вызове API, указывая тип токена Bearer перед его значением. Пример такого заголовка: Authorization: Bearer d1VsSTrdMTAyEvENudsFpeWdmSdgf2
Баланс
Метод позволяет получить актуальный баланс пользователя
Метод отправки:
GET
URL:
https://4vps.su/api/userBalance

// Результат успешного запроса

{"error":false,"data":{"userBalance":77825}}

// Результат, если неверный ключ авторизации

{"error":true,"errorMessage":"Authentication error","data":false}

Список дата центров
Метод позволяет получить актуальный список дата центров
Метод отправки:
GET
URL:
https://4vps.su/api/getDcList

// Результат успешного запроса

{"error":false,"data":{"dcList":{"1":{"cpu_name":"VPS на базе 2xE5-2680v4","t_name":"AE-","dc_name":"ОАЭ ДЦ1","frequency":"3.3 GHz","flag":"ae","presets":[],"ip_price":"199","core_price":"200","ram_price":"200","disk_price":"200","max_core":"32","max_ram":"64","max_disk":"900","commentParsed":{},"id":1}}}}

Список тарифов
Метод позволяет получить актуальный список тарифов
Метод отправки:
GET
URL:
https://4vps.su/api/getTarifList

// Результат успешного запроса

{"error":false,"data":{"tarifList":{"1":{"clusterInfo":{"cpu_name":"VPS на базе 2xE5-2680v4","t_name":"AE-","dc_name":"ОАЭ ДЦ1","frequency":"3.3 GHz","flag":"ae","presets":[13,14,15,16,17,18,19,20,21,22,23,24,25],"ip_price":"199","core_price":"200","ram_price":"200","disk_price":"200","max_core":"32","max_ram":"64","max_disk":"900","commentParsed":{"cpu_name":"VPS на базе 2xE5-2680v4","t_name":"AE-","dc_name":"ОАЭ ДЦ1","frequency":"3.3 GHz","flag":"ae","presets":[13,14,15,16,17,18,19,20,21,22,23,24,25],"ip_price":"199","core_price":"200","ram_price":"200","disk_price":"200","max_core":"32","max_ram":"64","max_disk":"900"},"id":1},"presets":{"13":{"id":13,"rom":10240,"disks":[{"boot_order":1,"size_mib":10240,"tags":[{"id":1,"name":"nvme"}]}],"ram_mib":1024,"cpu_number":1,"name":"cx01","commentParsed":{"price":420,"cpu_name":"VPS на базе 2xE5-2680v4","frequency":"3.3 GHz","eth":"1Gbit/s"},"osList":[1,2,3,4,5,6,13,14,18,19,20,21,22,23,24,25,26,27],"osNames":{"22":"Alma Linux 8","21":"Astra Linux CE","2":"CentOS 7","18":"CentOS 8 Stream","27":"CentOS 9 Stream","3":"Debian 10","25":"Debian 11","4":"Debian 9","19":"FreeBSD 12","20":"FreeBSD 13","1":"NoOS","24":"Oracle Linux 8","23":"Rocky Linux 8","5":"Ubuntu 16.04","6":"Ubuntu 18.04","13":"Ubuntu 20.04","14":"Ubuntu 22.04","26":"VzLinux 8"},"nameFull":"AE-cx01"}}}}}}

Заказ сервера
Метод позволяет создать новый сервер
Метод отправки:
POST
URL:
https://4vps.su/api/action/buyServer
Параметры запроса:
Параметр
Тип
Описание
tarif
int
Идентификатор тарифа
datacenter
int
Идентификатор дата центра
ostempl
int
Идентификатор образа системы. Например: 10 подходящий список образов перечислен в ответе метода #getImages
name
string
Имя сервера подходящее под условие регулярного выражения ^[0-9A-Za-z-_]{3,125}+$
domain *
string
* необязательный параметр домена сервера, если не заполнять будет указан домен на основе имени сервера и хоста на который сделан запрос
period *
int
* необязательный параметр периода аренды сервера, один из следующих вариантов [720, 2160, 4320, 8640](1 месяц - 720, 3 месяца - 2160, 6 месяцев - 4320, 12 месяцев - 8640)

// Результат успешного запроса

{"error":false,"data":{"serverid":"190568","password":"ahyBEScvaH848"}}

// Результат если необходима верификация профиля

{'error': True, 'errorMessage': {'redirect': '/Api/verif', 'message': 'Для заказа в этом дц необходима верификация профиля.'}, 'data': False}

// Результат если недостаточно денежных средств

{'error': True, 'errorMessage': {'redirect': '/Api/deposit/80', 'message': 'На вашем балансе недостаточно денежных средств. #BS4'}, 'data': False}

Заказ дополнительного IP-адреса
Метод позволяет заказать дополнительный IP-адрес
Максимально можно заказать 64 IPv4 на 1 VPS(1 IP основной и 63 дополнительно).
Метод отправки:
POST
URL:
https://4vps.su/api/action/buyIp
Параметры запроса:
Параметр
Тип
Описание
serverid
int
Идентификатор сервера
count
int
Количество IP-адресов к покупке

// Результат успешного запроса

{"error":false,"data":"ok"}

// Результат запроса c пропущенными параметрами

{"error":true,"errorMessage":"Не все поля переданы!","data":false}

// Результат запроса если сервер не найден или был удален

{"error":true,"errorMessage":"Сервер не найден!","data":false}

// Результат запроса если сервер имеет максимальное количество IP адресов

{"error":true,"errorMessage":"У вас максимальное количество IP адресов!","data":false}

// Результат запроса если недостаточно денежных средств для покупки дополнительных IP адресов

{"error":true,"errorMessage":"На вашем балансе недостаточно денежных средств!","data":false}

// Результат запроса если сервер не смог обработать запрос

{"error":true,"errorMessage":"Ошибка покупки IP-адреса #1","data":false}

Включить сервер
Метод позволяет включить сервер
Метод отправки:
POST
URL:
https://4vps.su/api/action/power_on
Параметры запроса:
Параметр
Тип
Описание
serverid
int
Идентификатор сервера

// Результат успешного запроса

{"error":false,"data":"ok"}

Выключить сервер
Метод позволяет выключить сервер
Метод отправки:
POST
URL:
https://4vps.su/api/action/shutdown
Параметры запроса:
Параметр
Тип
Описание
serverid
int
Идентификатор сервера

// Результат успешного запроса

{"error":false,"data":"ok"}

Перезагрузить сервер
Метод позволяет перезагрузить сервер
Метод отправки:
POST
URL:
https://4vps.su/api/action/reboot
Параметры запроса:
Параметр
Тип
Описание
serverid
int
Идентификатор сервера

// Результат успешного запроса

{"error":false,"data":"ok"}

Продление
Метод позволяет продлить сервер на месяц
Метод отправки:
POST
URL:
https://4vps.su/api/action/continueServer
Параметры запроса:
Параметр
Тип
Описание
serverid
int
Идентификатор сервера

// Результат успешного запроса

{"error":false,"data":"ok"}

// Результат в случае если у пользователя не хватает денежных средств для продления

{"error":true,"errorMessage":"Недостаточно средств для продления сервера. Не хватает: 123 руб.","data":false}

Удаление
Метод позволяет удалить сервер
Метод отправки:
POST
URL:
https://4vps.su/api/action/deleteServer
Параметры запроса:
Параметр
Тип
Описание
serverid
int
Идентификатор сервера

// Результат успешного запроса

{"error":false,"data":"ok"}

// Результат в случае если сервер не принадлежит вам или был удален

{"error":true,"errorMessage":"Данного сервера нет в базе!","data":false}

Переустановка ОС
Метод позволяет переустановить ОС
Метод отправки:
POST
URL:
https://4vps.su/api/action/reinstall
Параметры запроса:
Параметр
Тип
Описание
serverid
int
Идентификатор сервера
ostempl
int
Идентификатор образа системы. Например: 10 подходящий список образов перечислен в ответе метода #getImages
password
string
Пароль (минимальная длина пароля 6 символов)

// Результат успешного запроса

{"error":false,"data":"ok"}

// Результат в случае если сервер не принадлежит вам или был удален

{"error":true,"errorMessage":"Данного сервера нет в базе!","data":false}

Смена тарифа
Метод позволяет сменить тариф
Метод отправки:
POST
URL:
https://4vps.su/api/action/changeTarif
Параметры запроса:
Параметр
Тип
Описание
serverid
int
Идентификатор сервера
preset
int
Идентификатор тарифа

// Результат успешного запроса

{"error":false,"data":"ok"}

// Результат в случае если на этот тариф нельзя сменить, доступные тарифы для смены можно посмотреть в методе #getAvailableUpgradePresets

{"error":true,"errorMessage":"Ошибка, нельзя сменить на этот тарифный план!","data":false}

// Результат в случае если нет доступного для улучшения тарифа или тариф был изменен через конфигуратор

{"error":true,"errorMessage":"У вас максимальный тарифный план или вы меняли тариф в конфигураторе!","data":false}

// Результат в случае если у пользователя не хватает денежных средств для смены тарифы

{"error":true,"errorMessage":"Недостаточно средств для смены тарифа. Не хватает: 123 руб.","data":false}

// Результат в случае если сервер не принадлежит вам или был удален

{"error":true,"errorMessage":"Данного сервера нет в базе!","data":false}

Смена характеристик
Метод позволяет сменить характеристики
Цены и максимальные характеристики можно получить в методе: #getDcList
Метод отправки:
POST
URL:
https://4vps.su/api/action/changeSpec
Параметры запроса:
Параметр
Тип
Описание
serverid
int
Идентификатор сервера
cpu_count
int
Количество дополнительных ядер
ram_count
int
Количество дополнительных ГБ озу
rom_count
int
Количество дополнительного диска ( должно быть кратно 10 ГБ )

// Результат успешного запроса

{"error":false,"data":"ok"}

// Результат в случае если не выбраны характеристики

{"error":true,"errorMessage":"Вы не можете сменить характеристики этого сервера!","data":false}

// Результат в случае если сервер уже имеет максимальные характеристики

{"error":true,"errorMessage":"Сервер уже имеет максимальные характеристики!","data":false}

// Результат в случае если у сервера устаревший кластер в котором не продается больше смена характеристик

{"error":true,"errorMessage":"Не удалось получить информацию о кластере!","data":false}

// Результат в случае если у пользователя не хватает денежных средств для изменения характеристик

{"error":true,"errorMessage":"Недостаточно средств для смены характеристик. Не хватает: 123 руб.","data":false}

// Результат в случае если сервер не принадлежит вам или был удален

{"error":true,"errorMessage":"Данного сервера нет в базе!","data":false}

Резервные копии
Метод позволяет купить услугу резервного копирования
Метод отправки:
POST
URL:
https://4vps.su/api/action/buyBackup
Параметры запроса:
Параметр
Тип
Описание
serverid
int
Идентификатор сервера
period
int
Идентификатор периодичности резервного копирования

// Результат успешного запроса

{"error":false,"data":"ok"}

// Результат в случае если произошла ошибка при создании бекап задачи

{"error":true,"errorMessage":"Ошибка добавления в планировщик копирования!","data":false}

// Результат в случае если сервер уже имеет максимальные характеристики

{"error":true,"errorMessage":"Недостаточно средств для добавления в планировщик резервного копирования. Не хватает: 123 руб.","data":false}

// Результат в случае если у сервера неверный период резервного копирования

{"error":true,"errorMessage":"Неверный период резервного копирования!","data":false}

// Результат в случае если сервер не принадлежит вам или был удален

{"error":true,"errorMessage":"Данного сервера нет в базе!","data":false}

Мои серверы
Метод позволяет получить список арендованных серверов
Метод отправки:
GET
URL:
https://4vps.su/api/myservers

// Результат успешного запроса

{
    "error": false,
    "data":
    {
        "serverlist":
        [
            {
                "id": 4140, // id сервера
                "parent": "4server", // id проекта
                "s4": null,
                "sid": 1723, // id сервера в vmmanager
                "uid": 40, // id владельца
                "tid": 13, // id тарифа
                "name": "MyFirstServer", // имя сервера
                "price": 420, // цена в рублях
                "dc": 7, // id датцентра
                "image": "Alma Linux 8", // текущая ОС
                "mem": 1, // кол-во озу в ГБ
                "cpu": 1, // кол-во ядер
                "disk": 10, // кол-во диска в ГБ
                "ipv4": "185.143.223.29", // основной ip - адрес
                "status": "active", // текущий статус
                "tname": "USA-cx01", // имя текущего тарифа ( если тариф изменен конфигуратором добавляется окончание "-custom")
                "time": 1664275501, // временная метка unixtime момента аренды сервера
                "expired": 1666781101, // временная метка unixtime момента истечения срока аренды сервера
                "notified": null, // параметр отображающий что пользователю ушло оповещение о необходимости продлить сервер
                "autoprolong": 1, // параметр отображающий что включено или выключено автопродление
                "deleted": 0 // системный параметр отображающий что сервер удален * в случае если удален сервер его не будет в выдаче
            }
        ]
    }
}
                        

// Результат в случае если у вас нет серверов

{"error":false,"data":{"serverlist":[]}}

Информация о тарифе
Метод позволяет получить информацию о тарифе
Метод отправки:
GET
URL:
https://4vps.su/api/getTarifInfo/{TARIF_ID}/{DC_ID}
Параметры запроса:
Параметр
Тип
Описание
{TARIF_ID}
int
Идентификатор тарифа
{DC_ID}
int
Идентификатор дата центра

// Результат успешного запроса

{"error":false,"data":{"tarifInfo":{"id":13,"rom":10240,"disks":[{"boot_order":1,"size_mib":10240,"tags":[{"id":1,"name":"nvme"}]}],"ram_mib":1024,"cpu_number":1,"name":"cx01","commentParsed":{"price":"420","cpu_name":"VPS \u043d\u0430 \u0431\u0430\u0437\u0435 2xE5-2680v4","frequency":"3.3 GHz","eth":"1Gbit\/s"},"osList":[1,2,3,4,5,6,13,14,18,19,20,21,22,23,24,25,26,27],"osNames":{"22":"Alma Linux 8","21":"Astra Linux CE","2":"CentOS 7","18":"CentOS 8 Stream","27":"CentOS 9 Stream","3":"Debian 10","25":"Debian 11","4":"Debian 9","19":"FreeBSD 12","20":"FreeBSD 13","1":"NoOS","24":"Oracle Linux 8","23":"Rocky Linux 8","5":"Ubuntu 16.04","6":"Ubuntu 18.04","13":"Ubuntu 20.04","14":"Ubuntu 22.04","26":"VzLinux 8"},"nameFull":"AE-cx01"}}}

// Результат в случае если неверный тариф или датацентр

{"error":false,"data":{"tarifInfo":[]}}

Получение списка образов
Метод позволяет получить список образов
Метод отправки:
GET
URL:
https://4vps.su/api/getImages/{TARIF_ID}/{DC_ID}
Параметры запроса:
Параметр
Тип
Описание
{TARIF_ID}
int
Идентификатор тарифа
{DC_ID}
int
Идентификатор дата центра

// Результат успешного запроса

{"error":false,"data":{"images":{"22":"Alma Linux 8","21":"Astra Linux CE","2":"CentOS 7","18":"CentOS 8 Stream","27":"CentOS 9 Stream","3":"Debian 10","25":"Debian 11","4":"Debian 9","19":"FreeBSD 12","20":"FreeBSD 13","1":"NoOS","24":"Oracle Linux 8","23":"Rocky Linux 8","5":"Ubuntu 16.04","6":"Ubuntu 18.04","13":"Ubuntu 20.04","14":"Ubuntu 22.04","26":"VzLinux 8"}}}

// Результат в случае если неверный тариф или датацентр

{"error":false,"data":{"images":[]}}

Список дополнительных IP-адресов
Метод позволяет получить список дополнительных IP-адресов
Метод отправки:
GET
URL:
https://4vps.su/api/iplist/{SERVER_ID}
Параметры запроса:
Параметр
Тип
Описание
{SERVER_ID}
int
Идентификатор сервера

// Результат успешного запроса

{"error":false,"data":{"iplist":[{"id":1,"name":"1.2.3.4"},{"id":2,"name":"1.2.3.4"}]}}

// Результат в случае если нет дополнительных айпи

{"error":false,"data":{"iplist":[]}}

// Результат в случае если сервер не найден или уже удален

{"error":true,"errorMessage":"\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u043e\u0438\u0441\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0432 \u0431\u0430\u0437\u0435.","data":false}

Удаление дополнительного IP-адреса
Метод позволяет удалить дополнительный IP-адрес
Метод отправки:
POST
URL:
https://4vps.su/api/action/deleteIp
Параметры запроса:
Параметр
Тип
Описание
serverid
int
Идентификатор сервера
ipid
int
Идентификатор ip

// Результат успешного запроса

{"error":false,"data":"ok"}

// Результат в случае если IP-адрес не найден или уже удален

{"error":true,"errorMessage":"Возможно этот IP-адрес не Ваш, обратитесь в службу поддержки.","data":false}

Список сообщений
Метод позволяет получить список сообщений
Метод отправки:
GET
URL:
https://4vps.su/api/getMessages

// Результат успешного запроса

{
    "error": false,
    "data":
    {
        "messagesList":
        [
            {
                "id": 25592,
                "title": "Данные сервера MyFirstServer!",
                "content": IPv4: <b>Отображается на странице с сервером</b><br>Логин для Windows Server 2012/2016/2019/2022: <b>Administrator</b><br>Логин для Windows 10/11: <b>Admin</b><br>Логин для Linux: <b>root</b><br><br>Пароль: <b>AOhmhP5MDZ</b><br><br>-----------------------<br>Хотите +5 дней к аренде сервера за отзыв? Если да, то оставьте отзыв на <a href="https://poiskvps.ru/viewtopic.php?f=2&t=858">https://poiskvps.ru/viewtopic.php?f=2&t=858</a> и <br><a href="https://vps.today/companies/4server-su">https://vps.today/companies/4server-su</a> (внизу)<br> Затем создайте тикет, где укажите свой Ник и Почту ,с которых писали отзыв.,
                "time": 123123123 // временная метка unixtime когда пришло это сообщение
            }
        ]
    }
}

Получение информации о сервере
Метод позволяет получить информацию о сервере
Метод отправки:
GET
URL:
https://4vps.su/api/getServerInfo/{SERVER_ID}
Параметры запроса:
Параметр
Тип
Описание
{SERVER_ID}
int
Идентификатор сервера

// Результат успешного запроса

{
    "error": false,
    "data":
    {
        "serverInfo": {}, // информация о сервере по аналогии с методом #myservers
        "dcInfo": {}, // информация о датацентре этого сервера по аналогии с методом #getDcList
        "ipPrice": 199, // цена дополнительного IP-адреса
        "ipList": [] // список айпи если он есть по аналогии с методом #iplist
    }
}
                            

Автоматическое продление
Метод позволяет включить или выключить автоматическое продление
Метод отправки:
POST
URL:
https://4vps.su/api/action/autoprolong
Параметры запроса:
Параметр
Тип
Описание
serverid
int
Идентификатор сервера

// Результат успешного запроса

{
    "error": false,
    "data": true // true или false в зависимости от того включили или выключили автопродление
}
                            

Доступные для смены тарифы
Метод позволяет получить доступные для смены тарифы
Метод отправки:
POST
URL:
https://4vps.su/api/action/getAvailableUpgradePresets
Параметры запроса:
Параметр
Тип
Описание
serverid
int
Идентификатор сервера

// Результат успешного запроса

{
    "error": false,
    "data":
    {
        "14":
        {
            "id": 14,
            "name": "cx11",
            "nameFull": "AE-cx11",
            "price": "550",
            "cpu_number": 1,
            "ram_mib": 2000,
            "rom_mib": 20480,
            "ram": 2,
            "rom": 20
        },
        "15": {},
        "16": {},
        "17": {},
        "18": {},
        "19": {},
        "20": {},
        "21": {},
        "22": {},
        "23": {},
        "24": {},
        "25": {}
    }
}
                            

// Результат если сервер был изменен в конфигураторе

{
    "error": true,
    "errorMessage": "Ошибка для вашего сервера нет доступных тарифов для смены тарифа или вы использовали конфигуратор.",
    "data": false
}
                            

Доступные периоды и цены на резервные копии
Метод позволяет доступные периоды и цены на резервные копии
В возвращаемом массиве ключ - идентификатор периода резервного копирования, значение - цена
Пояснение к ключам
  1. Ежедневно
  2. Еженедельно
  3. Ежемесячно
Метод отправки:
GET
URL:
https://4vps.su/api/action/getBackupPeriods

// Результат успешного запроса

{
    "error": false,
    "data": {
        "1": 300, // period 1, price 300
        "2": 200,
        "3": 100
    }
}

Удаление услуги резервного копирования
Метод позволяет отменить услугу резервного копирования
Метод отправки:
POST
URL:
https://4vps.su/api/action/deleteBackup
Параметры запроса:
Параметр
Тип
Описание
serverid
int
Идентификатор сервера
period
int
Идентификатор периодичности резервного копирования

// Результат успешного запроса

{"error":false,"data":"ok"}