УВІЙТИ
    opened image

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