Для работы с услугами Cloud VPS через API Zomro предоставляет удобный интерфейс для получения информации о доступных тарифах. С помощью функции v2.instances.order.pricelist вы можете получить полный список тарифов с кратким описанием и ценами. Затем, используя функцию v2.instances.order.param с указанием ID тарифа и периода заказа, можно получить подробные характеристики выбранного тарифа. Ниже приведены примеры запросов и структура ответа для каждой из функций. Эта информация поможет вам эффективно управлять вашими облачными серверами через API Zomro.
Чтобы получить все доступные тарифы для услуги Cloud VPS, можно воспользоваться следующей функцией:
v2.instances.order.pricelist
Структура запроса:
URL:
https://api.zomro.com/
Метод запроса: POST
Тело запроса (form-data):
Параметр | Пример значения | Описание значения |
func | v2.instances.order.pricelist | Функция для получения доступных тарифов для заказа |
auth | 21fc199...c43f71 | Токен сессии. Это один из вариантов авторизации. Подробнее о других вариантах описано здесь |
out | json | Структура ответа, которую ожидать |
Вот пример запроса, который можно выполнить из консоли:
curl --location 'https://api.zomro.com/' \
--form 'func="v2.instances.order.pricelist"' \
--form 'auth="19c8130ac494a5e7c162d246"' \
--form 'out="json"'
После выполнения запроса, нам нужны данные, которые находятся в следующей вложенности:
doc.list.elem
Вот пример одного из элементов, который получаем:
...,
{
"buttons": {
"button": {
"$name": "order",
"$type": "func",
"$key": "pricelist",
"$theme": "primary",
"$func": "v2.instances.order.param"
}
},
"description": {},
"detail": [
{
"name": {
"$": "network"
},
"value": {
"$": "IPv4 NL-2"
}
},
{
"name": {
"$": "CPU count"
},
"value": {
"$": "1"
}
},
{
"name": {
"$": "Memory"
},
"value": {
"$": "2 Gb"
}
},
{
"name": {
"$": "Disk space"
},
"value": {
"$": "12 Gb"
}
},
{
"name": {
"$": "Port speed"
},
"value": {
"$": "1 Gbit/s."
}
},
{
"name": {
"$": "Bandwidth"
},
"value": {
"$": "Unmetered traffic"
}
}
],
"flabel": {
"tag": [
{
"$": "72866a3690e44679070d48b8ffa2c963"
},
{
"$": "a362f6fd19c99d07441692bf4cce537c"
}
]
},
"id": {
"$": "6740"
},
"pricelist": {
"$": "6740"
},
"prices": {
"$key": "period_6740",
"price": {
"$special_price": "no",
"cost": {
"$": "0.13"
},
"currency": {
"$": "EUR"
},
"period": {
"$": "-50"
}
}
},
"title": {
"$": "Cloud Essential"
}
},
...
Имея эти данные, можно узнать ID тарифа. В нашем случае значение "6740", и краткие сведения о тарифе. Чтобы получить полные данные о тарифе, нужно воспользоваться функцией:
v2.instances.order.param
и ID тарифа и периодом заказа.
Структура запроса:
URL:
https://api.zomro.com/
Метод запроса: POST
Тело запроса (form-data):
Параметр | Пример значения | Описание значения |
func | v2.instances.order.param | Функция для получения дополнительных данных о тарифе |
auth | 21fc199...c43f71 | Токен сессии. Это один из вариантов авторизации. Подробнее о других вариантах описано здесь |
out | json | Структура ответа, которую ожидать |
order_period | -50 | Период, на который можно заказать услугу |
pricelist | 6740 | ID услуги, которую нужно заказать |
Вот пример запроса, который можно выполнить из консоли:
curl --location 'https://api.zomro.com/' \
--form 'func="v2.instances.order.param"' \
--form 'auth="579ea10f7790f5e7de91357c"' \
--form 'out="json"' \
--form 'order_period="-50"' \
--form 'pricelist="6740"'
После выполнения запроса, нам нужны данные, которые находятся в следующей вложенности:
doc.slist
Вот значения, которые получены в результате выполнения запроса:
{
"$name": "instances_os",
"val": [
{
"$key": "18d0ee2e-4d57-4f40-9b56-03c1773b5831",
"$": "AlmaLinux 8"
},
{
"$key": "5da4ad83-45f6-4c0e-9a7e-7a7c18b2be6c",
"$": "AlmaLinux 9"
},
{
"$key": "3d9d9db6-325a-4d91-9bdb-6c48ad291cb6",
"$": "CentOS Stream 8"
},
{
"$key": "7d7911e3-7178-4f36-a308-d841db5fe654",
"$": "CentOS Stream 9"
},
{
"$key": "0bf4deb2-855c-4863-8518-6006d804adbb",
"$": "Debian 10"
},
{
"$key": "3010ae60-0185-4021-98da-f50013147ebd",
"$": "Debian 11"
},
{
"$key": "93878ba5-6b9e-4924-a4be-34edb623f808",
"$": "Debian 12"
},
{
"$key": "1d9dda4c-34b0-4304-a90a-8f3018722fa2",
"$": "Rocky-Linux-8"
},
{
"$key": "a8b7bcb3-6698-4264-b413-f2b866a46a70",
"$": "Rocky-Linux-9"
},
{
"$key": "479c96f1-ccc6-47a2-952c-c9e3bbdc8d07",
"$": "Ubuntu 20.04"
},
{
"$key": "f8f2573f-56c4-44c5-8469-84eee4aa64e7",
"$": "Ubuntu 22.04"
},
{
"$key": "92fabac2-69cc-46ad-8439-c377e0c90632",
"$": "Ubuntu 23.04"
},
{
"$key": "6f8476f9-93f0-4ddd-b0fd-624e930ffacd",
"$": "Ubuntu 23.10"
}
]
},
{
"$name": "addon_6746",
"val": [
{
"$key": "259",
"$": "IPv4 NL-2 (0.04 EUR)"
},
{
"$key": "260",
"$": "IPv6 NL-2 (0.00 EUR)"
}
]
},
{
"$name": "addon_6745",
"val": [
{
"$key": "58",
"$": "1 (0.00 EUR)"
}
]
},
{
"$name": "addon_6744",
"val": [
{
"$key": "42",
"$": "2 Gb (0.00 EUR)"
}
]
},
{
"$name": "addon_6743",
"val": [
{
"$key": "143",
"$": "12 Gb (0.00 EUR)"
}
]
},
{
"$name": "addon_6742",
"val": [
{
"$key": "246",
"$": "1 Gbit/s. (0.00 EUR)"
}
]
},
{
"$name": "addon_6741",
"val": [
{
"$key": "244",
"$": "Unmetered traffic (0.00 EUR)"
}
]
},
{
"$name": "order_period",
"val": [
{
"$msg": "yes",
"$key": "-50",
"$": "Day"
}
]
},
{
"$name": "instances_ssh_keys",
"val": [
{
"$key": "283",
"$": "new"
},
{
"$key": "471",
"$": "111"
},
{
"$key": "490",
"$": "1115"
}
]
}
Эта запись предоставляет следующие данные:
Название параметра | Описание параметра |
instances_os | Возможные ОС, которые доступны для установки для данного тарифа |
addon_6746 | Какой тип IP использовать. Если выбирать только IPv6, IPv4 не будет выдан для сервера. В случае IPv4 - будет выдан как IPv6, так и IPv4. Стоимость услуги при этом будет увеличена. |
addon_6745 | Количество CPU, доступных для заказа |
addon_6744 | Количество RAM, доступных для заказа |
addon_6743 | Размер дискового пространства на сервере |
addon_6742 | Пропускная скорость интернет-трафика на сервере |
addon_6741 | Ограничение количества интернет-трафика на сервере |
order_period | Доступные периоды оплаты услуги |
instances_ssh_keys | SSH ключи, которые добавлены в личном кабинете |
Используя эти параметры, можно использовать для заказа услуги.
Подробнее описано, как использовать дополнительные параметры описано здесь.
Также предлагаем изучить статьи, которые могут быть в полезными для взаимодействия с продуктами Cloud VPS с помощью API:
- API - Создание услуги
- API - Операция Start & Stop
- API - Операция Reboot
- API - Операция Rebuild
- API - Операция Delete
- API - Взаимодействие с Image
- API - Взаимодействие с Backup Schedule
- API - Взаимодействие с Rescue
- API - Взаимодействие с Backup
- API - Взаимодействие с Snapshots
- API - Взаимодействие с Boot From ISO