Инструкция по настройке интеграции с биллингом RootPanel https://rootpanel.net/setup.php?help=4server
Инструкция по настройке интеграции с биллингом BillManager 5/6 billmgr-4server.docx (Кликабельно)
В процессе
Для взаимодействия с 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"}}}}}}или
GET
URL:
https://4vps.su/api/getTarifList/{DC_ID}
Позволяет получить список тарифов в выбранном дата центре
// Результат успешного запроса {"error":false,"data":{"tarifList":{"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 |
Имя сервера |
domain * |
string |
* не обязательный параметр домена сервера, если не заполнять будет указан домен на основе имени сервера и хоста на который сделан запрос |
// Результат успешного запроса {"error":false,"data":{"serverid":"4130","password":"a1mZcDznrF"}} // Результат запроса c пропущенными параметрами {"error":true,"errorMessage":"Не все поля переданы!","data":false} // Результат запроса с неверным тарифом или датацентром ( подходящий список тарифов перечислен в ответе метода #getTarifList в массиве presets ) {"error":true,"errorMessage":"В данном дата-центре приостановлены продажи этого тарифа!","data":false}
Метод позволяет заказать дополнительный 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"}
Метод позволяет получить ссылку на VM-панель
Метод отправки:
POST
URL:
https://4vps.su/api/action/getVmLink
Параментры запроса:
Параметр | Тип | Описание |
serverid |
int |
Идентификатор сервера |
domain * |
string |
* не обязательный параметр кастомного хоста панели, если не заполнять будет указан домен на основе имени сервера и хоста на который сделан запрос. Например: 4server.su |
// Результат успешного запроса {"error":false,"data":{"redirect":"https:\/\/VMHOST.app\/auth\/key\/134-1a46d74e-9c47-8542-3f2f-3355c3714358"}} // Результат в случае если сервер не принадлежит вам или был удален {"error":true,"errorMessage":"Данного сервера нет в базе!","data":false}
Метод позволяет продлить сервер
Метод отправки:
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/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}
Метод позволяет сменить характеристики
Метод отправки:
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
Цены и периодичность можно узнать в методе #getBackupPeriods
Параментры запроса:
Параметр | Тип | Описание |
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-адресов
Метод отправки:
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-адрес
Метод отправки:
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 }
Метод позволяет доступные периоды и цены на резервные копии
Метод отправки:
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"}