SIGN IN / UP
    opened image

    To get all available tariffs for the CloudVPS service, you can use the following function:

     

    v2.instances.order.pricelist

    Request structure:
    URL: 

    https://api.zomro.com/

    Request method: POST
    Request body (form-data):

    Parameter Example value Value description
    func v2.instances.order.pricelist Function to get available tariffs for ordering
    auth 21fc199...c43f71 Session token. This is one of the authorization options. More details on other options are described here
    out json Response structure to expect

    Here is an example of a request that can be executed from the console:

    curl --location 'https://api.zomro.com/' \
    --form 'func="v2.instances.order.pricelist"' \
    --form 'auth="19c8130ac494a5e7c162d246"' \
    --form 'out="json"'

    After executing the request, we need the data located in the following nesting:
     

    doc.list.elem

    Here is an example of one of the elements we get:
     

    ...,
    {
    "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"
    }
    },
    ...

    With this data, you can find out the tariff ID. In our case, the value is "6740", and brief information about the tariff. To get full details about the tariff, you need to use the function: 

    v2.instances.order.param

    and the tariff ID and order period. 

    Request structure:

    URL: 

    https://api.zomro.com/

    Request method: POST
    Request body (form-data):

    Parameter Example value Value description
    func v2.instances.order.param Function to get additional data about the tariff
    auth 21fc199...c43f71 Session token. This is one of the authorization options. More details on other options are described here
    out json Response structure to expect
    order_period -50 Period for which the service can be ordered
    pricelist 6740 ID of the service to be ordered

    Here is an example of a request that can be executed from the console:

    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"'

    After executing the request, we need the data located in the following nesting:

    doc.slist

    Here are the values obtained as a result of the request:

    {
    "$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"
        }
    ]
    }

     

    This record provides the following data:

    Parameter name Parameter description
    instances_os Possible OS available for installation for this tariff
    addon_6746 Which type of IP to use. If only IPv6 is selected, IPv4 will not be issued for the server. In the case of IPv4, both IPv6 and IPv4 will be issued. The cost of the service will increase accordingly.
    addon_6745 Number of CPUs available for order
    addon_6744 Amount of RAM available for order
    addon_6743 Disk space size on the server
    addon_6742 Internet traffic speed on the server
    addon_6741 Internet traffic limit on the server
    order_period Available service payment periods
    instances_ssh_keys SSH keys added in the personal account

    Using these parameters, you can use them to order the service. 
    More details on how to use additional parameters are described here.