УВІЙТИ
    opened image

    Щоб отримати усі доступні тарифи для послугу CloudVPS, можна скористатися наступною функцією:

     

    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 ключі, які додані в особистому кабінеті

    Використовуючи ці параметри, можна використовувати, для замовлення послуги. 
    Детальніше описано, як використовувати додаткові параметри описано тут.