presets.php¶
Модуль управления пресетами серверов: получение списков, группировка, поиск подходящих серверов и детализация конфигураций с ценами в разных валютах.
Методы API¶
| Метод | Действие | Описание |
|---|---|---|
groups | получение групп | Возвращает список групп пресетов |
info | получение информации | Возвращает список пресетов для реселлеров с ценами в указанных валютах |
list | получение списка | Возвращает список доступных пресетов с фильтрацией по локации и правам доступа |
search | поиск серверов | Ищет подходящие серверы для конкретного пресета по имени |
show | показать пресет | Возвращает детальную информацию о пресете по ID или имени |
presets/groups¶
Возвращает список групп пресетов
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: groups |
| - | - | - | Других параметров нет |
Пример запроса
Пример успешного ответа
Примеры ошибок
presets/info¶
Возвращает список пресетов для реселлеров с ценами в указанных валютах
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: info |
| currencies | ❌ | string | Список валют через запятую (например, EUR,RUB). Если не указан, используются EUR и RUB по умолчанию |
Пример запроса
Пример успешного ответа
{
"result": "OK",
"action": "info",
"presets": [
{
"id": 101,
"name": "VPS Basic",
"price": {
"EUR": 10.0,
"RUB": 950.0
},
"location": "NL",
"cpu": "2 vCPU",
"ram": "4 GB",
"hdd": "50 GB SSD"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "Invalid currency format",
"description": "Ошибка при обработке параметра currencies (некорректный формат)"
}
presets/list¶
Возвращает список доступных пресетов с фильтрацией по локации и правам доступа
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: list |
| location | ❌ | string | Код локации (например, NL, DE) или ID локации |
| token | ❌ | string | Токен авторизации для доступа к приватным данным (влияет на отображение поля total) |
Пример запроса
Пример успешного ответа
{
"result": "OK",
"action": "list",
"presets": [
{
"id": 1,
"name": "Starter Plan",
"Code": "NL-AMS",
"amount": 10,
"available": 5,
"component_id": 12,
"price": {
"EUR": 15.0,
"RUB": 1400.0
},
"server_type": "VPS",
"tags": [
{
"id": 1,
"name": "fast"
}
],
"total": 10
}
]
}
Примеры ошибок
{
"code": -1,
"message": "No presets found",
"description": "Возвращается, если функция presets_list вернула -1 (нет данных)"
}
presets/search¶
Ищет подходящие серверы для конкретного пресета по имени
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: search |
| name | ✅ | string | Имя пресета для поиска |
| scope | ❌ | string | Область поиска: free или all |
| location | ❌ | string | Код локации |
| token | ✅ | string | Токен авторизации |
Пример запроса
curl -s "https://invapi.hostkey.ru/presets" -X POST \
--data "action=search" \
--data "name=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "search",
"servers": [
{
"id": 501,
"name": "Server-01",
"location": "NL",
"days_left": 30,
"due_date": "2024-12-31"
}
]
}
Примеры ошибок
presets/show¶
Возвращает детальную информацию о пресете по ID или имени
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: show |
| id | ❌ | int | ID пресета |
| name | ❌ | string | Имя пресета |
| limit | ❌ | int | Ограничение количества возвращаемых записей |
| token | ❌ | string | Токен авторизации для проверки ограничений по стране |
Пример запроса
Пример успешного ответа
{
"result": "OK",
"action": "show",
"presets": [
{
"id": 1,
"name": "Premium VPS",
"description": "High performance server",
"cpu": "4 vCPU",
"ram": "8 GB",
"hdd": "100 GB NVMe",
"gpu": "NVIDIA T4",
"location": "DE",
"price": {
"EUR": 49.99,
"RUB": 4500.0,
"USD": 54.99
},
"tags": [
{
"id": 10,
"name": "gaming"
},
{
"id": 11,
"name": "ai"
}
],
"active": true
}
]
}