|
API RU VDS
Ниже представлена старая версия API, которая больше не получает новых обновлений и поддержки. Документация с примерами к актуальной версии API v2 расположена по адресу: https://ruvds.com/api-docs.
Используя API RU VDS, Вы можете создать собственный бизнес White-label, получив весь список функций доступный у Вас в личном кабинете.
Все запросы к API зашифрованы SSL и отправляются наиболее привычным и удобным способом – обычным HTTP GET или POST-запросом с ответом в формате JSON.
Функции API
Перед тем как отправить какой-либо запрос необходимо получить авторизационный SessionToken. Он может быть как пожизненный, так и сроком действия на 1 сутки.
Разрабатывайте приложения таким образом, чтобы никому из клиентов никогда не передавался Ваш SessionToken. Он должен быть известен только серверной части Вашего приложения и никогда клиентской.
SessionToken действителен до времени своей экспирации, если не будет изменен логин или пароль аккаунта – в таком случае все выданные ранее SessionToken перестают действовать.
Адрес: https://ruvds.com/api/logon/
Параметры запроса:
username – Ваш логин или email
password – пароль от Вашего аккаунта
endless – значение 1 для получения бессрочного токена и 0 для получения на 1 сутки
Пример запроса:
https://ruvds.com/api/logon/?key=KEY&username=LOGIN&password=PASSWORD&endless=0
Пример ответа:
{
"rejectReason": 0,
"sessionToken": "af85eb943daeb116eb351ec4b9b45983facfa97e37776c3a03538194245dc853",
"expire": "19032016164537"
}
Поля ответа:
rejectReason – числовое значение (код ошибки)
errMessage – текстовое описание ошибки, если возникла
sessionToken – авторизационный токен для дальнейшей работы
expire – дата и время (UTC) истечения срока действия токена (формат ddMMyyyyHHmmss), если NULL, то бессрочный
Коды ошибок:
0 – запрос выполнен успешно
1 – не указан логин/email
2 – не указан пароль
3 – неверная связка логин+пароль
5 – внутренняя ошибка системы
6 – не указан ключ API
7 – неверный ключ API
8 – превышено количество попыток авторизации
13 – в аккаунте клиента запрещены авторизации с чужими ключами API
Функция позволяет получить информацию о доступном балансе на сайте с детализацией поступлений и списаний.
Адрес: https://ruvds.com/api/balance/
Параметры запроса:
sessionToken – токен, полученный при авторизации
details – значение 1 для получения подробных деталей поступлений и списаний, 0 - только текущий баланс
Пример запроса:
https://ruvds.com/api/balance/?sessionToken=YOURTOKEN&details=0
Пример ответа:
{
"rejectReason": 0,
"amount": 50,
"currency": 1,
"details":
{
"income": 350,
"debited": 300,
"items":
[
{
"type": 2,
"dt": "12012016133846",
"amount": 300,
"currency": 1,
"description": "Оплата сервера RU36118 (период с 07.02.2016 по 07.03.2016)",
},
{
"type": 1,
"dt": "12022016164537",
"amount": 350,
"currency": 1,
"description": "Пополнение баланса банковской картой Visa/MasterCard",
}
]
}
}
Поля ответа:
rejectReason – числовое значение (код ошибки)
errMessage – текстовое описание ошибки, если возникла
amount – сумма доступного баланса
currency – валюта, по которой пересчитан баланс (1 - RUB, 2 - UAH, 3 - USD, 4 - EUR)
details – детализация, если была запрошена:
income – сумма всех поступлений
debited – сумма всех списаний
items – детализация поступлений/списаний:
type – 1 - поступление средств, 2 - списание
dt – дата и время операции (UTC, формат ddMMyyyyHHmmss)
amount – сумма
currency – валюта операции
description – текстовое описание
Коды ошибок:
0 – запрос выполнен успешно
1 – неверный авторизационный токен
2 – не указан авторизационный токен
100 – внутренняя ошибка системы
Запрос возвращает список дата-центров и информацию о доступных на данный момент услугах, тарифах, конбинациях тарифов по каждому из них.
Создание северов с тестовым периодом через API в данный момент не доступно.
Адрес: https://ruvds.com/api/datacenter/
Параметры запроса:
sessionToken – токен, полученный при авторизации
language – идентификатор языка для локализации наименования дата-центра (1 - русский, 5 - английский, 6 - немецкий), если пуст или не указан будет выбран язык по-умолчанию для пользователя, от имени которого произодиться запрос.
Пример запроса:
https://ruvds.com/api/datacenter/?sessionToken=YOURTOKEN&language=
Пример ответа:
{
"rejectReason": 0,
"datacenters": [
{
"id": 1,
"name": "Rucloud: Россия, Королёв",
"tariffs": {
"14": {
"id": 14,
"drives": {
"1": {
"usage": [1, 2],
"trial": 2
},
"3": {
"usage": [1, 2],
"trial": 2
}
},
"vram": false,
"ddos": {
"price": 400
}
},
"15": {
"id": 15,
"drives": {
"1": {
"usage": [1, 2],
"trial": 2
},
"3": {
"usage": [1, 2],
"trial": 2
}
},
"vram": false,
"ddos": {
"price": 400
}
},
"21": {
"id": 21,
"drives": {
"1": {
"usage": [1],
"trial": 2
},
"4": {
"usage": [1],
"trial": 2
}
},
"vram": false,
"ddos": {
"price": 400
}
}
},
"driveTariffCombinations": [
[1], [1, 3], [3], [4, 1]
],
"trial": {
"price": 2000,
"cpu": 4,
"ip": 2
}
}
]
}
Поля ответа:
rejectReason – числовое значение (код ошибки)
errMessage – текстовое описание ошибки, если возникла
datacenters – Список дата-центров
id – идентификатор дата-центра
name – наименование дата-центра
tariffs – список тарифов, доступных для данного дата-центра
drives – список тарифов для дисков, доступных для данного тарифа
usage – список возможных вариантов оплаты для данного тарифа и тарифа для диска (1 - оплата за период, 2 - оплата за потребляемые ресурсы)
trial – Files.API.FldDatacentersTrial
vram – Files.API.FldDatacentersVRAM
ddos – поле содержит объект с параметрами DDoS для данного тарифа, если защита доступна, который содержит поле price (RUB) - цена в рублях за 0.5 ГБит/с, если DDoS защита не доступна, поле принимает значение null
driveTariffCombinations – список комбинаций тарифов для дисков, которые могут быть использованы для создания сервера (пример, [[1], [1, 3]] - можно создать сервер с несколькими дисками типа 1 или с несколькими дисками типа 1 или 3, но нельзя создать сервер с дисками только типа 3)
trial – объект, содержащий параметры тестового периода
Коды ошибок:
0 – запрос выполнен успешно
1 – неверный авторизационный токен
2 – не указан авторизационный токен
100 – внутренняя ошибка системы
Функция возвращает параметры тарифных планов для конфигурации виртуальных серверов и виртуальных дисков.
По умолчанию функция возвращает только список актуальных тарифных планов, но если Вам требуется какой-либо устаревший тариф, и Вы знаете его ID, то Вы можете его также запросить.
Адрес: https://ruvds.com/api/tariff/
Параметры запроса:
sessionToken – токен, полученный при авторизации
tariffIds – ID требуемых тарифных планов через запятую
driveTariffIds – ID требуемых тарифных планов через запятую
Пример запроса:
https://ruvds.com/api/tariff/?sessionToken=YOURTOKEN&tariffIds=&driveTariffIds=
Пример ответа:
{
"rejectReason": 0,
"tariffs": {
"Defaults": {
"PerMonth": {
"Config": "Regular",
"Drive": "HDD"
}
},
"PerMonth": {
"Config": {
"Regular": {
"Name": "Regular",
"CPU": 79,
"RAM": 177,
"VRAM": 1.953125,
"IP": 100,
"Id": 14,
"IsActive": true
},
"Premium": {
"Name": "Premium",
"CPU": 198,
"RAM": 177,
"VRAM": 1.953125,
"IP": 100,
"Id": 15,
"IsActive": true
},
"HugeServer": {
"Name": "HugeServer",
"CPU": 79,
"RAM": 177,
"VRAM": 1.953125,
"IP": 100,
"Id": 21,
"IsActive": true
}
},
"Drive": {
"HDD": {
"Id": 1,
"Name": "HDD",
"Type": 1,
"Price": 5.5,
"IsActive": true
},
"SSD": {
"Id": 3,
"Name": "SSD",
"Type": 3,
"Price": 15,
"IsActive": true
},
"Huge HDD": {
"Id": 4,
"Name": "Huge HDD",
"Type": 1,
"Price": 0.48828125,
"IsActive": true
}
},
"ById": {
"Config": null,
"Drive": null
}
}
}
}
Поля ответа:
rejectReason – числовое значение (код ошибки)
errMessage – текстовое описание ошибки, если возникла
tariffs – объект содержащий информацию об актуальных тарифных планах и тарифных планах указанных в запросе
Defaults – объект содержащий названия тарифных планов предлагаемых по-умолчанию
PerMonth – объект содержит информацию о тарифных планах, которые используются при выборе варанта оплаты за выбраный период
Config – объект содержит информацию о тарифных планах (для параметров виртуального сервера) активных в данный момент в виде "наименование тарифного плана"->"параметры тарифного плана"
Id – идентификатор тарифного плана для параметров виртуального сервера
Name – наименовение тарифного плана для параметров виртуального сервера
CPU – стоимость 1 ядра процессора (RUB)
RAM – стоимость 1 ГБ оперативной памяти (RUB)
VRAM – стоимость 1МБ видеопамяти (RUB)
IP – стоимость 1 дополнительного IP-адреса (RUB). 1 IP на сервер дается бесплатно
IsActive – актуален ли тариф в настоящий момент
Drive – объект содержит информацию о тарифных планах (для параметров виртуального диска) активных в данный момент в виде "наименование тарифного плана"->"параметры тарифного плана"
Id – идентификатор тарифного плана для параметров виртуального диска
Name – наименовение тарифного плана для параметров виртуального диска
Type – тип виртуального диска (1 - HDD, 3 - SSD)
Price – стоимость 1 Гб виртуального диска (RUB)
IsActive – актуален ли тариф в настоящий момент
ById – объект содержит информацию о тарифных планах, которые используются при выборе варанта оплаты за выбраный период, идентификаторы которых пользователь указал в параметрах tariffIds и driveTariffIds запроса
Config – объект содержит информацию о тарифных планах (для параметров виртуального сервера) идентификаторы которых пользователь указал в параметре tariffIds запроса в виде "идентификатор тарифного плана"->"параметры тарифного плана"
Drive – объект содержит информацию о тарифных планах (для параметров виртуального диска) идентификаторы которых пользователь указал в параметре driveTariffIds запроса в виде "идентификатор тарифного плана"->"параметры тарифного плана"
Коды ошибок:
0 – запрос выполнен успешно
1 – неверный авторизационный токен
2 – не указан авторизационный токен
100 – внутренняя ошибка системы
Функция возвращает список операционных систем доступных для установки на виртуальные серверы.
Адрес: https://ruvds.com/api/os/
Параметры запроса:
sessionToken – токен, полученный при авторизации
Пример запроса:
https://ruvds.com/api/os/?sessionToken=YOURTOKEN
Пример ответа:
{
"rejectReason": 0,
"os": [
{
"Id": 15,
"Name": "Windows Server 2019 (RUS)"
},
{
"Id": 16,
"Name": "Windows Server 2019 (ENG)"
},
{
"Id": 13,
"Name": "Windows Server 2016 (RUS)"
},
{
"Id": 14,
"Name": "Windows Server 2016 (ENG)"
},
{
"Id": 1,
"Name": "Windows Server 2012 R2 (RUS)"
},
{
"Id": 2,
"Name": "Windows Server 2012 R2 (ENG)"
},
{
"Id": 5,
"Name": "Windows Server 2003 R2 SP2 (RUS)"
},
{
"Id": 6,
"Name": "Windows Server 2003 R2 SP2 (ENG)"
},
{
"Id": 17,
"Name": "Debian 9.6 (ENG)"
},
{
"Id": 8,
"Name": "Debian 8.5 (ENG)"
},
{
"Id": 19,
"Name": "CentOS 7.6.1810 (ENG)"
},
{
"Id": 10,
"Name": "CentOS 7.2.1511 (ENG)"
},
{
"Id": 18,
"Name": "Ubuntu 18.04 LTS (ENG)"
},
{
"Id": 12,
"Name": "Ubuntu 16.04 LTS (ENG)"
}
]
}
Поля ответа:
rejectReason – числовое значение (код ошибки)
errMessage – текстовое описание ошибки, если возникла
os – Список объектов содержащих параметры доступных для установки операционных систем
Id – Идентификатор операционной системы
Name – Наименование операционной системы
Коды ошибок:
0 – запрос выполнен успешно
1 – неверный авторизационный токен
2 – не указан авторизационный токен
100 – внутренняя ошибка системы
Функции для управления пользователями более не доступны Возможность работы с клиентскими аккаунтами через API по умолчанию недоступна и включается только для юридических лиц при условии обязательного заключения партнерского Договора. Для получения более детальной информации, пожалуйста, обратитесь к службе поддержки.
Функции API
Адрес: https://ruvds.com/api/user/get/
Параметры запроса:
sessionToken – токен, полученный при авторизации
id – ID требуемых пользователей через запятую, либо значение me
Пример запроса:
https://ruvds.com/api/user/get/?sessionToken=YOURTOKEN&id=me
Пример ответа:
{
"rejectReason": 0,
"result":
[
{
"id": 00000000-1111-2222-3333-444444444444,
"firstName": "Иван",
"lastName": "Иванов",
"patronymic": "Иванович",
"engName": "Ivan Ivanovich",
"gender": 1,
"birthDate": "29061975",
"country": {"name":"Россия","phoneCode":7 },
"city":
{
"name": "Москва",
"country": {"name":"Россия","phoneCode":7 },
"lat": 55.751667,
"lng": 37.617778,
},
"postcode": null,
"address": "Название улицы, номер дома и квартиры/офиса",
"phone": "9031112233",
"phoneVerified": true,
"email": "user@mail.com",
"emailVerified": true,
"balance": 0,
"currency": 1,
"org": null,
}
]
}
Поля ответа:
rejectReason – числовое значение (код ошибки)
errMessage – текстовое описание ошибки, если возникла
result – массив списка пользователей
id – Files.API.FldUsrInfId
firstName – имя
lastName – фамилия
patronymic – отчество
engName – имя и фамилия на английском языке
gender – пол: 1 - мужской; 2 - женский
birthDate – дата рождения в формате ddMMyyyy
country – страна
city – город с привязкой к стране
postcode – почтовый индекс
address – адрес прописки/местонахождения
phone – номер телефона (без 8 в начале и кода страны)
phoneVerified – подтвержден ли номер телефона
email – адрес email
emailVerified – подтвержден ли адрес email
balance – баланс на счете пользователя
currency – валюта счета пользователя: 1 - RUB; 2 - UAH; 3 - USD; 4 - EUR
org – детальзация по юр. лицу пользователя
Коды ошибок:
0 – запрос выполнен успешно
3 – неверный авторизационный токен или нет доступа к управлению пользователями
6 – неверные параметры запроса
1000 – внутренняя ошибка системы
Адрес: https://ruvds.com/api/user/create/ и https://ruvds.com/api/user/update/, соответственно
Параметры запроса:
sessionToken – токен, полученный при авторизации
id – ID пользователя в системе RuVDS
email – адрес email (уникальный и используется в качестве логина)
password – пароль для пользователя (только если создается новый)
phone – номер телефона (без 8 в начале и кода страны)
firstName – имя
lastName – фамилия
patronymic – отчество
gender – пол: 1 - мужской; 2 - женский
birthDate – дата рождения в формате dd.MM.yyyy
country – название страны (по умолчанию Россия если поле пустое)
city – город с привязкой к стране
postcode – почтовый индекс
address – адрес прописки/местонахождения
Пример запроса:
https://ruvds.com/api/user/create/?sessionToken=YOURTOKEN&id= &email=test@mail.com&password=P@ssword&phone=9031112233&firstName=Иван &lastName=Иванов&patronymic=Иванович&gender=1&birthDate=29.06.1975 &country=Россия&city=Москва&postcode=123456 &address=Название улицы, номер дома и квартиры/офиса
Пример ответа:
{
"rejectReason": 0,
"result":null
}
Поля ответа:
rejectReason – числовое значение (код ошибки)
errMessage – текстовое описание ошибки, если возникла
result – объект пользователя (не NULL если успешный результат)
Коды ошибок:
0 – запрос выполнен успешно
3 – неверный авторизационный токен или нет доступа к управлению пользователями
4 – передано пустое значение поля password (при создании)
5 – слишком простой или короткий пароль
6 – неверные параметры запроса
7 – пользователь не найден, либо нет прав на редактирование
21 – передано пустое значение поля email
22 – неверный формат адреса email
23 – адрес email уже использовался в другом аккаунте
32 – некорректно (неполно) указан номер телефона
1000 – внутренняя ошибка системы
Адрес: https://ruvds.com/api/user/change_password/
Параметры запроса:
sessionToken – токен, полученный при авторизации
id – ID пользователя в системе RuVDS
password – новый пароль для пользователя
Пример запроса:
https://ruvds.com/api/user/change_password/?sessionToken=YOURTOKEN &id=00000000-1111-2222-3333-444444444444&password=NewP@assword
Пример ответа:
{
"rejectReason": 0,
"result":null
}
Поля ответа:
rejectReason – числовое значение (код ошибки)
errMessage – текстовое описание ошибки, если возникла
result – объект пользователя (не NULL если успешный результат)
Коды ошибок:
0 – запрос выполнен успешно
3 – неверный авторизационный токен или нет доступа к управлению пользователями
4 – передано пустое значение поля password
5 – слишком простой или короткий пароль
6 – неверные параметры запроса
7 – пользователь не найден, либо нет прав на редактирование
1000 – внутренняя ошибка системы
Адрес: https://ruvds.com/api/user/remove/
Параметры запроса:
sessionToken – токен, полученный при авторизации
id – ID пользователя в системе RuVDS
Пример запроса:
https://ruvds.com/api/user/remove/?sessionToken=YOURTOKEN &id=00000000-1111-2222-3333-444444444444
Пример ответа:
{
"rejectReason": 0,
"result":null
}
Поля ответа:
rejectReason – числовое значение (код ошибки)
errMessage – текстовое описание ошибки, если возникла
result – объект пользователя (не NULL если успешный результат)
Коды ошибок:
0 – запрос выполнен успешно
3 – неверный авторизационный токен или нет доступа к управлению пользователями
6 – неверные параметры запроса
7 – пользователь не найден, либо нет прав на редактирование
40 – у пользователя есть сервера в личном кабинете
1000 – внутренняя ошибка системы
Функции API
По умолчанию функция возвращает информацию обо всех Ваших серверах. Если Вам требуется получить информацию только о каких-то конкретно, Вы можете указать дополнительно их ID (настоятельно рекомендуется).
Адрес: https://ruvds.com/api/servers/
Параметры запроса:
sessionToken – токен, полученный при авторизации
userId – ID пользователя, по которому нужно получить сервера (если доступно)
fields – Список названий свойств, заданных через запятую (,) или через точку с запятой (;), объекта item, значение которых необходимо получить; если параметр не задан или список пуст, выводятся все доступные поля
id – ID требуемых серверов через запятую
Пример запроса:
https://ruvds.com/api/servers/?sessionToken=YOURTOKEN&id=
Пример ответа:
{
"rejectReason": 0,
"items":
[
{
"id": 38420,
"cpu": 2,
"ram": 2,
"vram": 64,
"drive": [ {"type":1,"capacity":60 } ],
"ip":
{
"count": 1,
"assigned": [ "192.168.111.222" ],
},
"premium": false,
"tariff":
{
"premium": false,
"id": 4,
"cpu": 60,
"ram": 140,
"vram": 1.953125,
"drive": {"hdd":5,"ssd":20 },
"ip": 100,
"active": true
},
"priceRub": 693,
"additionalServices":
[
{
"count": 1,
"name": "Защита от DDoS-атак",
"price": 400,
"applyDiscount": true,
"monthIsMin": true
}
],
"paymentPeriod": 3,
"discount":
{
"paymentPeriod": 0.05,
"promocode": 0.1
},
"state": 100,
"addDT": "07022016092512",
"createDT": "07022016092850",
"createProgress": 100,
"createState": 100,
"defaultAdminPassword": "eCvpQmXh",
"configurationUpdating": false,
"limitedTrafficMbps": null,
"running": true,
"paid": true,
"paidTill": "07042016092850",
"stat":
{
"traffic": {"value":21,"limit":153600,"state":1 },
"trafficOutbound": {"value":5,"limit":null,"state":1 },
"trafficInbound": {"value":16,"limit":null,"state":1 },
"driveRead": 938,
"driveWritten": 263,
"avgIOPS": 5,
"avgCPU": 0
},
"notifications":
[
{
"id": 3829,
"type": 3,
"blocked": true,
"message": "<div style="margin-bottom:6px;">Зафиксирован большой входящий мусорный трафик: <b>83 Гб</b></div><div style="margin-bottom:6px;">Это может быть причиной...",
"dt": "19022016175602"
}
],
"configurationChangeable": true,
"canRecreate": true
}
]
}
Пример ответа:
rejectReason – числовое значение (код ошибки)
errMessage – текстовое описание ошибки, если возникла
items – массив серверов
id – ID сервера в системе RuVDS (формирует имя сервера RUXXXX)
cpu – количество ядер процессора
ram – объем оперативной памяти, ГБ
vram – объем видеопамяти на сервере, МБ
drive – установленные жесткие диски, их тип (1 - HDD, 3 - SSD) и объем, ГБ
ip – информация по IP-адресам сервера
count – затребованное количество адресов
assigned – массив назначенных адресов
premium – является ли сервер сервером с "премиум" размещением
tariff – детали тарифного плана
premium – является ли тарифный план планом "премиум"
id – ID тарифного плана в системе RuVDS
cpu – стоимость 1 ядра процессора (RUB)
ram – стоимость 1 ГБ оперативной памяти (RUB)
vram – стоимость 1МБ видеопамяти (RUB)
drive – стоимость 1ГБ жесткого диска (RUB) и доступные варианты (HDD, SSD)
ip – стоимость 1 дополнительного IP-адреса (RUB). 1 IP на сервер дается бесплатно
active – актуален ли тариф в настоящий момент
priceRub – полная стоимость сервера, включая дополнительные услуги, за платёжный период с учетом скидок по промокоду и за платёжный период
additionalServices – дополнительные услуги, подключенные для данного сервера
count – подключенное количество
name – название услуги
price – стоимость услуги в месяц без учета скидок
applyDiscount – применяются ли к данной услуге скидки
monthIsMin – если TRUE, то минимальный расчетный период составляет 1 месяц, и возврат при досрочном отключении не производится
paymentPeriod – 1 - тестовый период; 2 - 1 месяц; 3 - 3 месяца; 4 - 6 месяцев; 5 - 1 год
discount – относящиеся к серверу скидки, NULL если их нет
paymentPeriod – скидка за выбранный период оплаты, %
promocode – скидка по промокоду, %
state – 1 - новый; 2 - сконфигурирован; 3 - контактные данные не подтверждены; 4 - нет доступных ресурсов; 5 - не оплачен; 6 - заблокирован за нарушение; 100 - готов к работе
addDT – дата и время добавления (UTC, в формате ddMMyyyyHHmmss)
createDT – дата и время завершения создания (UTC, в формате ddMMyyyyHHmmss), NULL если не создан
createProgress – значение от 0 до 100 состояния создания сервера
createState – 1 - в ожидании; 2 - запуск начала; 3 - копирование файлов; 4 - запуск системы; 5 - конфигурирование; 6 - перезагрузка; 100 - завершено
defaultAdminPassword – пароль, созданный по умолчанию для пользователя Administrator
configurationUpdating – идет ли процесс изменения конфигурации сервера
limitedTrafficMbps – заданное ограничение на трафик (Mbps)
running – запущен ли сервер
paid – оплачен ли сервер
paidTill – до какого времени сервер оплачен (UTC в формате ddMMyyyyHHmmss)
stat – базовая инфомация по использованию ресурсов; state: 1 - нагрузка оптимальная; 2 - близка к границе лимита; 3 - превышена
traffic – суммарный трафик за последние 24 часа, МБ
trafficOutbound – исходящий трафик за последние 24 часа, МB
trafficInbound – входящий трафик за последние 24 часа, МБ
driveRead – объем прочитанных с диска данных за последние 24 часа, МБ
driveWritten – объем записанных на диск данных за последние 24 часа, МБ
avgIOPS – средняя за 24 часа дисковая нагрузка, IOPS
avgCPU – средняя за 24 часа нагрузка на процессор (от 0 до 100)
notifications – уведомления по работе сервера
id – системное ID уведомления
type – 1 - информационное; 2 - предупреждение; 3 - нарушение
blocked – повлекло ли уведомление за собой блокировку
message – текст сообщения в формате HTML
dt – дата и время уведомления (UTC, в формате ddMMyyyyHHmmss)
configurationChangeable – возможно ли изменить конфигурацию данного сервера
canRecreate – возможно ли пересоздать данный сервер с нуля
userComment – пользовательский комментарий
Коды ошибок:
0 – запрос выполнен успешно
1 – неверный авторизационный токен
2 – не указан авторизационный токен
100 – внутренняя ошибка системы
Функция позволяет получить данные для построения графиков нагрузки, аналогично отображаемым в личном кабинете.
Запрос возможен только для одного сервера за раз.
Адрес: https://ruvds.com/api/server/stat/
Параметры запроса:
sessionToken – токен, полученный при авторизации
id – ID сервера, по которому требуется получить статистику
Пример запроса:
https://ruvds.com/api/server/stat/?sessionToken=YOURTOKEN&id=38420
Пример ответа:
{
"rejectReason": 0,
"id": 38420,
"cpu":
[
{
"date": "19022016",
"avgLoad": 0
},
{
"date": "20022016",
"avgLoad": 1
}
],
"drive":
[
{
"date": "19022016",
"read": 52,
"write": 5,
"avgIOPS": 1
},
{
"date": "20022016",
"read": 52,
"write": 6,
"avgIOPS": 1
}
],
"traffic":
[
{
"date": "19022016",
"inbound": 0,
"outbound": 0
},
{
"date": "20022016",
"inbound": 8,
"outbound": 1
}
]
}
Поля ответа:
rejectReason – числовое значение (код ошибки)
errMessage – текстовое описание ошибки, если возникла
id – ID сервера, по которому запрошена статистика
cpu – детали процессорной нагрузки по дням
date – день (UTC, в формате ddMMyyyy)
avgLoad – средняя общая нагрузка на CPU (от 0 до 100)
drive – детали дисковой нагрузки по дням
date – день (UTC, в формате ddMMyyyy)
read – объем прочитанных данных, МБ
write – объем записанных данных, МБ
avgIOPS – средняя нагрузка на диск, IOPS
traffic – детали трафика по дням
date – день (UTC, в формате ddMMyyyy)
inbound – входящий трафик, МБ
outbound – исходящий трафик, МБ
Коды ошибок:
0 – запрос выполнен успешно
1 – неверный авторизационный токен
2 – не указан авторизационный токен
4 – виртуальный сервер не найден по переданному ID
100 – внутренняя ошибка системы
Функция позволяет получить текущее изображение на экране сервера. Доступные размеры по ширине – от 64 до 640, высоте – от 48 до 480.
Ввиду кэширования результатов, запрашивать изображение чаще, чем раз в 10 секунд не имеет смысла.
Адрес: https://ruvds.com/api/server/image/
Параметры запроса:
sessionToken – токен, полученный при авторизации
id – ID сервера, изображение экрана которого требуется получить
width – размер изображения по ширине
height – размер изображения по высоте
Пример запроса:
https://ruvds.com/api/server/image/?sessionToken=YOURTOKEN&id=38420 &width=340&height=240
Пример ответа:
{
"rejectReason": 0,
"id": 38420,
"state": 100,
"running": true,
"imageBase64": "/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAg..."
}
Поля ответа:
rejectReason – числовое значение (код ошибки)
errMessage – текстовое описание ошибки, если возникла
id – ID сервера, изображение экрана которого запрошено
state – 1 - новый; 2 - сконфигурирован; 3 - контактные данные не подтверждены; 4 - нет доступных ресурсов; 5 - не оплачен; 6 - заблокирован за нарушение; 100 - готов к работе
running – запущен ли сервер
imageBase64 – массив байт изображения в формате Base64
Если значение поля state не равно 100 или running не равно true, то в поле imageBase64 будет возвращен NULL.
Коды ошибок:
0 – запрос выполнен успешно
1 – неверный авторизационный токен
2 – не указан авторизационный токен
4 – виртуальный сервер не найден по переданному ID
100 – внутренняя ошибка системы
Так как процесс копирования и конфигурирования системы оказывает достаточно большую нагрузку на дисковую систему, при отладке функции, пожалуйста, создавайте сервера на SSD. Но даже на SSD ограничьтесь самым минимальным количеством вывозов.
При создании и последующем удалении более 10 серверов в сутки на Ваш аккаунт может быть наложен временный запрет на создание новых серверов.
Адрес: https://ruvds.com/api/server/create/
Параметры запроса:
sessionToken – токен, полученный при авторизации
userId – ID пользователя, которому нужно создать сервер (если доступно)
datacenter – идентификатор дата-центра (см. раздел Начало работы > Дата-центры)
tariff – идентификатор тарифного плана (см. раздел Начало работы > Тарифные планы)
os – идентификатор операционной системы (см. раздел Начало работы > Операционные системы) [необязательное поле]
cpu – количество ядер процессора
ram – объем оперативной памяти, ГБ
vram – объем видеопамяти на сервере, МБ (возможные значения: 0, 64, 128, 256, 512, 1024)
drivesCount – количество дисков виртуального сервера
driveXTariff – идентификатор тарифного плана (см. раздел Начало работы > Тарифные планы), где X - [0..drivesCount-1]
driveXСapacity – объём диска в GB, где X - [0..drivesCount-1]
driveXSystem – флаг, который указывает, что на этот диск будет установлена операционная система (если указано несколько, то в качестве системного будет выбран последний), где X - [0..drivesCount-1]
ip – требуемое количество IP-адресов
ddosProtection – если для сервера требуется защита от DDoS-атак, то указывается объем полосы для входящего легитимного трафика, кратный 0.5 Мбит/с
template – ID Вашего шаблона устанавливаемой операционной системы (если есть)
paymentPeriod – 2 - 1 месяц; 3 - 3 месяца; 4 - 6 месяцев; 5 - 1 год
promocode – промокод для получения постоянной скидки
promo – идентификатор промо конфигурации; не рекомендуется к использованию в силу того, что их набор может изменяться без предварительного уведомления; актуальный перечень можно уточнить, направив запрос с службу технической поддержки; промо конфигурации могут запрещать использование любых промокодов, в том числе PROMO-API
computerName – имя компьютера создаваемого виртуального сервера. Если не задано, то устанавливается по умолчанию WIN-XXXXXXX
userComment – пользовательский комментарий
Пример запроса:
https://ruvds.com/api/server/create/?sessionToken=YOURTOKEN&datacenter=1&tariff=14&os=15&cpu=2 &ram=4&vram=0&drivesCount=1&drive0Tariff=1&drive0Capacity=40&drive0System=true&ip=1 &ddosProtection=0&paymentPeriod=2&promocode=PROMO-API&computerName=CustomVDS
Пример ответа:
{
"rejectReason": 0,
"id": 38420,
"cost": 279
}
Поля ответа:
rejectReason – числовое значение (код ошибки)
errMessage – текстовое описание ошибки, если возникла
id – ID нового сервера
cost – стоимость сервера за выбранный период с учетом всех скидок (RUB)
После получения успешного ответа от системы запускается процесс создания виртуального сервера, который можно отслеживать, запрашивая информацию по серверу, как описано выше в пункте "Мои сервера".
Коды ошибок:
0 – запрос выполнен успешно
1 – неверный авторизационный токен
2 – неверно передано количество ядер процессора
3 – неверно передан объем оперативной памяти
4 – неверно передан объем жесткого диска
5 – неверно передано количество IP-адресов
6 – пользователь или промокод не найден
7 – не удалось определить актуальный тарифный план (внутренняя ошибка системы)
8 – ошибка при сохранении данных (внутренняя ошибка системы)
10 – создание новых серверов запрещено для Вашего аккаунта
13 – создание нового сервера невозможно
17 – нет доступных ресурсов для требуемой конфигурации
19 – нет достаточного количества средств на балансе
31 – не указан авторизационный токен
33 – имя компьютера содержит недопустимые символы
39 – неверно передан объем видеопамяти
100 – внутренняя ошибка системы
Процесс изменения конфигурации асинхронный, то есть после успешного ответа от системы конфигурация еще не изменена и может не измениться, если в процессе возникнут какие-либо ошибки.
После получения успешного ответа отслеживайте состояние сервера по полю configurationUpdating, а также его конфигурацию, как описано выше в пункте "Мои сервера". Если после принятия полем configurationUpdating значения false конфигурация не изменилась, значит в процессе изменения конфигурации возникла ошибка.
Адрес: https://ruvds.com/api/server/update/configuration/
Параметры запроса:
sessionToken – токен, полученный при авторизации
id – ID виртуального сервера для изменения
cpu – количество ядер процессора
ram – объем оперативной памяти, ГБ
vram – объем видеопамяти на сервере, МБ (возможные значения: 0, 64, 128, 256, 512, 1024)
drive – объем жесткого диска, ГБ
ip – требуемое количество IP-адресов
ddosProtection – если для сервера требуется защита от DDoS-атак, то указывается объем полосы для входящего легитимного трафика, кратный 0.5 Мбит/с
Пример запроса:
https://ruvds.com/api/server/update/configuration/?sessionToken=YOURTOKEN&id=38420 &cpu=2&ram=2&vram=128&drive=40&ip=2&ddosProtection=0.5
Пример ответа:
Поля ответа:
rejectReason – числовое значение (код ошибки)
errMessage – текстовое описание ошибки, если возникла
Коды ошибок:
0 – запрос выполнен успешно
1 – неверный авторизационный токен
2 – неверно передано количество ядер процессора
3 – неверно передан объем оперативной памяти
4 – неверно передан объем жесткого диска
5 – неверно передано количество IP-адресов
6 – виртуальный сервер не найден по переданному ID
10 – изменение конфигурации серверов запрещено для Вашего аккаунта
13 – сервер в неактивном состоянии
14 – в настоящий момент уже идет процесс изменения конфигурации
15 – текущий расчетный период истекает менее чем через 30 минут, изменение конфигурации невозможно
16 – текущий расчетный период истек
17 – нет доступных ресурсов для требуемой конфигурации
19 – нет достаточного количества средств на балансе
20 – достигнут суточный лимит изменений конфигурации для данного сервера
21 – достигнут месячный лимит изменений конфигурации для данного сервера
26 – изменение конфигурации недоступно для данного сервера
31 – не указан авторизационный токен
39 – неверно передан объем видеопамяти
100 – внутренняя ошибка системы
Как и при изменении расчетного периода через личный кабинет, выполнение данной функции не влечет за собой снятие средств с баланса. Сервер продлится в соответствии с указанным новым периодом только когда текущий расчетный период подойдет к концу.
Адрес: https://ruvds.com/api/server/update/payment_period/
Параметры запроса:
sessionToken – токен, полученный при авторизации
id – ID виртуального сервера для изменения
paymentPeriod – 2 - 1 месяц; 3 - 3 месяца; 4 - 6 месяцев; 5 - 1 год
Пример запроса:
https://ruvds.com/api/server/update/payment_period/?sessionToken=YOURTOKEN&id=38420 &paymentPeriod=2
Пример ответа:
Поля ответа:
rejectReason – числовое значение (код ошибки)
errMessage – текстовое описание ошибки, если возникла
Коды ошибок:
0 – запрос выполнен успешно
1 – неверный авторизационный токен
2 – не указан авторизационный токен
4 – виртуальный сервер не найден по переданному ID
8 – в настоящий момент уже идет процесс изменения конфигурации
100 – внутренняя ошибка системы
Данная функция включает в себя множество простых задач, таких как: включение, выключение, перезагрузка, завершение работы, генерация нового пароля администратора, пересоздание сервера (сброс системы), удаление.
Все функции, кроме пересоздания виртуального сервера, выполняются в режиме реального времени и гарантированно успешно завершаются при получении Вами сообщения без ошибки.
Адрес: https://ruvds.com/api/server/command/
Параметры запроса:
sessionToken – токен, полученный при авторизации
id – ID виртуального сервера для изменения
type – тип команды:
start – включить сервер
stop – выключить сервер (аварийно)
shutdown – завершение работы
reset – перезагрузка (аварийно)
new_password – задать новый пароль пользователя Administrator
recreate – пересоздать виртуальный сервер
remove – удалить виртуальный сервер
Пример запроса:
https://ruvds.com/api/server/command/?sessionToken=YOURTOKEN&id=38420&&type=start
Пример ответа:
Поля ответа:
rejectReason – числовое значение (код ошибки)
errMessage – текстовое описание ошибки, если возникла
Коды ошибок:
0 – запрос выполнен успешно
1 – неверный авторизационный токен
2 – не указан авторизационный токен
4 – виртуальный сервер не найден по переданному ID или неверная команда
6 – сервер еще не создан, либо заблокирован
7 – для выполнения данной команды сервер должен быть запущен
8 – в настоящий момент уже идет процесс изменения конфигурации
10 – текущий расчетный период истекает менее чем через 30 минут, изменение конфигурации невозможно
11 – текущий расчетный период истек
12 – пересоздание недоступно для данного сервера
13 – достигнут суточный лимит пересозданий конфигурации для данного сервера
14 – достигнут месячный лимит пересозданий конфигурации для данного сервера
100 – внутренняя ошибка системы
| |