API RU VDS


Ниже представлена старая версия API, которая больше не получает новых обновлений и поддержки. Документация с примерами к актуальной версии API v2 расположена по адресу: https://ruvds.com/api-docs.
Используя API RU VDS, Вы можете создать собственный бизнес White-label, получив весь список функций доступный у Вас в личном кабинете.
Все запросы к API зашифрованы SSL и отправляются наиболее привычным и удобным способом – обычным HTTP GET или POST-запросом с ответом в формате JSON.
Начало работы
 
Пользователи
 
Серверы
Функции 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": 0
}
Поля ответа:
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": 0
}
Поля ответа:
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": 0
}
Поля ответа:
rejectReason – числовое значение (код ошибки)
errMessage – текстовое описание ошибки, если возникла
Коды ошибок:
0 – запрос выполнен успешно
1 – неверный авторизационный токен
2 – не указан авторизационный токен
4 – виртуальный сервер не найден по переданному ID или неверная команда
6 – сервер еще не создан, либо заблокирован
7 – для выполнения данной команды сервер должен быть запущен
8 – в настоящий момент уже идет процесс изменения конфигурации
10 – текущий расчетный период истекает менее чем через 30 минут, изменение конфигурации невозможно
11 – текущий расчетный период истек
12 – пересоздание недоступно для данного сервера
13 – достигнут суточный лимит пересозданий конфигурации для данного сервера
14 – достигнут месячный лимит пересозданий конфигурации для данного сервера
100 – внутренняя ошибка системы

 
Мы используем файлы cookies, чтобы сделать работу нашего сайта наиболее удобной для Вас. Продолжая пользоваться нашим сайтом, Вы соглашаетесь с использованием файлов cookies (куки-файлов). Дополнительные сведения об этих файлах Вы можете узнать в нашей политике конфиденциальности.