Для роботи з послугами 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: