ВОЙТИ
    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: