Перейти к содержанию

presets.php

Модуль управления пресетами серверов: получение списков, группировка, поиск подходящих серверов и детализация конфигураций с ценами в разных валютах.

Методы API

Метод Действие Описание
groups получение групп Возвращает список доступных групп пресетов
info получение информации о пресетах Возвращает список пресетов с ценами в указанных валютах по умолчанию EUR и RUB
list получение списка пресетов Возвращает список доступных пресетов серверов с фильтрацией по локации и правам доступа
search поиск серверов Поиск подходящих серверов для конкретного пресета по имени, области видимости и локации.
show получение пресета Возвращает информацию о пресете по ID или имени. Поддерживает фильтрацию и лимиты.

presets/groups

Возвращает список доступных групп пресетов

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: groups
token string Токен авторизации (не требуется для публичных действий, но рекомендуется для логирования)

Пример запроса

curl -s "https://invapi.hostkey.ru/presets.php" -X POST \
--data "action=groups"
Пример успешного ответа
{
"result": "OK",
"action": "groups",
"groups": [
{
"id": 1,
"name": "Standard VPS",
"description": "Базовые виртуальные серверы"
}
]
}
Примеры ошибок

``` { "code": -1, "message": "Internal server error" }

```

presets/info

Возвращает список пресетов с ценами в указанных валютах по умолчанию EUR и RUB

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: info
currencies string Список валют через запятую (например, EUR,RUB). По умолчанию: EUR,RUB

Пример запроса

curl -s "https://invapi.hostkey.ru/presets.php" -X POST \
--data "action=info"
Пример успешного ответа
{
"result": "OK",
"action": "info",
"presets": [
{
"id": 1,
"name": "Basic VPS",
"cpu": 2,
"ram": 4096,
"hdd": 50,
"gpu": null,
"virtual": 1,
"active": 1,
"description": "Basic virtual server configuration",
"locations": "NL,DE",
"price": {
"EUR": 10.0,
"RUB": 950.0
},
"monthly_ru": 950.0,
"monthly_com": 10.0,
"monthly_usd": 11.0
}
]
}
Примеры ошибок

``` { "code": -1, "message": "presets: action required" }

```

presets/list

Возвращает список доступных пресетов серверов с фильтрацией по локации и правам доступа

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: list
token string Токен авторизации. Если передан, проверяются права доступа. Если не передан или невалиден, используется публичный режим (убирается поле total).
location string Фильтр по локации (например, NL, RU). По умолчанию 'NL'.

Пример запроса

curl -s "https://invapi.hostkey.ru/presets.php" -X POST \
--data "action=list"
Пример успешного ответа
{
"result": "OK",
"action": "list",
"presets": [
{
"id": 101,
"name": "VPS Basic",
"description": "Базовый виртуальный сервер",
"cpu": 2,
"ram": 4096,
"hdd": 50,
"gpu": null,
"virtual": 1,
"active": 1,
"locations": "NL,DE",
"price": {
"EUR": 15.0,
"RUB": 1500.0,
"USD": 16.5
},
"monthly_ru": 1500,
"monthly_com": 15,
"monthly_usd": 16.5,
"internal": 0,
"available": 5,
"total": 10,
"server_type": "Virtual Private Server",
"tags": [
{
"component_id": 101,
"tag": "example_tag",
"value": "example_value"
}
]
}
]
}
Примеры ошибок

``` { "code": -1, "message": "presets/list error: Database connection failed", "details": { "action": "list", "module": "presets" } }

```

presets/search

Поиск подходящих серверов для конкретного пресета по имени, области видимости и локации.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: search
token string Токен авторизации пользователя
name string Имя пресета для поиска серверов
scope string Область видимости (free/all). По умолчанию пустая строка.
location string Локация сервера. По умолчанию NL.

Пример запроса

curl -s "https://invapi.hostkey.ru/presets.php" -X POST \
--data "action=search" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "search",
"servers": [
{
"id": 1024,
"server_id": 1024,
"type": "server",
"owner": "Rent",
"status": "sale",
"location": "NL",
"config": "Intel Xeon E5-2690 v4",
"full_location": "Rack1-1-1024",
"ip": "192.168.1.1",
"days_left": 30,
"due_date": "2024-12-31"
}
]
}
Примеры ошибок

``` { "code": -1, "message": "presets/search: invalid token, logout" }

```

presets/show

Возвращает информацию о пресете по ID или имени. Поддерживает фильтрацию и лимиты.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: show
token string Токен авторизации. Если передан, проверяет права доступа и фильтрует контент (например, блокировка для определенных регионов).
id integer ID пресета для фильтрации.
name string Имя пресета для фильтрации.
limit integer Ограничение количества возвращаемых записей.

Пример запроса

curl -s "https://invapi.hostkey.ru/presets.php" -X POST \
--data "action=show"
Пример успешного ответа
{
"result": "OK",
"action": "show",
"presets": [
{
"id": 123,
"name": "Standard VPS",
"description": "Базовая конфигурация",
"active": 1,
"virtual": 0,
"cpu": "2 vCPU",
"ram": "4096",
"hdd": "80 SSD",
"gpu": null,
"locations": "NL,DE",
"locations_openstack": "",
"monthly_ru": 500,
"monthly_com": 1000,
"monthly_usd": 15,
"price": {
"EUR": 12.5,
"RUB": 1200,
"USD": 15.0
},
"tags": [
{
"id": 1,
"name": "popular"
}
],
"internal": 0,
"server_type": "vps",
"available": 1,
"total": 10,
"regions": {
"NL": "10+",
"DE": "5"
},
"hourly_usd": 0.025,
"hourly_com": 0.02,
"hourly_ru": 0.0083
}
]
}
Примеры ошибок

``` { "code": -1, "message": "JSON encode failed" }

```

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×