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/
Параметры запроса:
key – персональный ключ API (указан в настройках аккаунта)
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 – внутренняя ошибка системы

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