presets.php¶
Модуль управления пресетами серверов: получение списков, группировка, поиск подходящих серверов и детализация конфигураций с ценами в разных валютах.
Методы API¶
| Метод | Действие | Описание |
|---|---|---|
groups | получение групп | Возвращает список доступных групп пресетов |
info | получение информации о валютах для пресетов | Возвращает список доступных пресетов с учетом выбранных валют (по умолчанию EUR, RUB) |
list | получение списка пресетов | Возвращает список доступных пресетов серверов с фильтрацией по локации и правам доступа |
search | поиск серверов | Возвращает список серверов, подходящих под параметры указанного пресета. Если пользователь не авторизован, поиск ограничен только бесплатными (free) предложениями. |
show | получение пресета | Возвращает информацию о пресете по ID или имени. Поддерживает фильтрацию и лимиты. |
presets/groups¶
Возвращает список доступных групп пресетов
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: groups |
| token | ✅ | string | Токен авторизации |
Пример запроса
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "Internal Server Error" }
```
presets/info¶
Возвращает список доступных пресетов с учетом выбранных валют (по умолчанию EUR, RUB)
HTTP-метод: GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: info |
| token | ❌ | string | Токен авторизации |
| currencies | ❌ | string | Список валют через запятую (например: USD,EUR,RUB) |
Пример запроса
Примеры ошибок
``` { "code": -1, "message": "action required" }
```
presets/list¶
Возвращает список доступных пресетов серверов с фильтрацией по локации и правам доступа
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: list |
| token | ❌ | string | Токен авторизации. Если передан, проверяются права доступа. Если не передан или невалиден, используется публичный режим (убирается поле total). |
| location | ❌ | string | Фильтр по локации (например, NL, RU). По умолчанию 'NL'. |
Пример успешного ответа
{
"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¶
Возвращает список серверов, подходящих под параметры указанного пресета. Если пользователь не авторизован, поиск ограничен только бесплатными (free) предложениями.
HTTP-метод: POST|GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: search |
| token | ❌ | string | Токен авторизации пользователя |
Пример успешного ответа
Примеры ошибок
``` { "code": -1, "message": "Access denied or invalid token" }
```
presets/show¶
Возвращает информацию о пресете по ID или имени. Поддерживает фильтрацию и лимиты.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: show |
| token | ❌ | string | Токен авторизации. Если передан, проверяет права доступа и фильтрует контент (например, блокировка для определенных регионов). |
| id | ❌ | integer | ID пресета для фильтрации. |
| name | ❌ | string | Имя пресета для фильтрации. |
| limit | ❌ | integer | Ограничение количества возвращаемых записей. |
Пример успешного ответа
{
"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" }
```