opened image

API - Pobieranie informacji o dostępnych taryfach i ich parametrach

Aby pracować z usługami Cloud VPS za pośrednictwem API, Zomro udostępnia wygodny interfejs do uzyskiwania informacji o dostępnych taryfach. Za pomocą funkcji v2.instances.order.pricelist można uzyskać pełną listę taryf z krótkim opisem i cenami. Następnie, używając funkcji v2.instances.order.param z podaniem ID taryfy i okresu zamówienia, można uzyskać szczegółowe charakterystyki wybranej taryfy. Poniżej znajdują się przykłady zapytań i struktura odpowiedzi dla każdej z funkcji. Te informacje pomogą Ci efektywnie zarządzać Twoimi serwerami w chmurze za pośrednictwem API Zomro.

Aby uzyskać wszystkie dostępne taryfy dla usługi Cloud VPS, można skorzystać z następującej funkcji:

v2.instances.order.pricelist

 

Struktura zapytania:
URL: 

https://api.zomro.com/

Metoda zapytania: POST
Treść zapytania (form-data):

 

ParametrPrzykładowa wartośćOpis wartości
funcv2.instances.order.pricelistFunkcja do uzyskiwania dostępnych taryf do zamówienia
auth21fc199...c43f71Token sesji. Jest to jedna z opcji autoryzacji. Więcej o innych opcjach opisano tutaj
outjsonStruktura odpowiedzi, której należy oczekiwać

 

Oto przykład zapytania, które można wykonać z konsoli:

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

 

Po wykonaniu zapytania, potrzebne są dane, które znajdują się w następującej strukturze:
 

doc.list.elem

 

Oto przykład jednego z elementów, który otrzymujemy:
 

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

 

Mając te dane, można poznać ID taryfy. W naszym przypadku wartość "6740", oraz krótkie informacje o taryfie. Aby uzyskać pełne dane o taryfie, należy skorzystać z funkcji: 

v2.instances.order.param

i ID taryfy oraz okresem zamówienia. 

 

Struktura zapytania:

URL: 

https://api.zomro.com/

Metoda zapytania: POST
Treść zapytania (form-data):

ParametrPrzykładowa wartośćOpis wartości
funcv2.instances.order.paramFunkcja do uzyskiwania dodatkowych danych o taryfie
auth21fc199...c43f71Token sesji. Jest to jedna z opcji autoryzacji. Więcej o innych opcjach opisano tutaj
outjsonStruktura odpowiedzi, której należy oczekiwać
order_period-50Okres, na który można zamówić usługę
pricelist6740ID usługi, którą należy zamówić

Oto przykład zapytania, które można wykonać z konsoli:

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

Po wykonaniu zapytania, potrzebne są dane, które znajdują się w następującej strukturze:

doc.slist

Oto wartości, które otrzymano w wyniku wykonania zapytania:

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

 

Ten zapis dostarcza następujących danych:

 

Nazwa parametruOpis parametru
instances_osMożliwe systemy operacyjne, które są dostępne do instalacji dla danej taryfy
addon_6746Jaki typ IP używać. Jeśli wybierzesz tylko IPv6, IPv4 nie zostanie przydzielony dla serwera. W przypadku IPv4 - zostanie przydzielony zarówno IPv6, jak i IPv4. Koszt usługi w tym przypadku wzrośnie.
addon_6745Liczba CPU dostępnych do zamówienia
addon_6744Liczba RAM dostępnych do zamówienia
addon_6743Rozmiar przestrzeni dyskowej na serwerze
addon_6742Przepustowość ruchu internetowego na serwerze
addon_6741Ograniczenie ilości ruchu internetowego na serwerze
order_periodDostępne okresy płatności za usługę
instances_ssh_keysKlucze SSH, które zostały dodane w panelu użytkownika

Używając tych parametrów, można zamówić usługę. 

Proponujemy również zapoznać się z artykułami, które mogą być przydatne do interakcji z produktami Cloud VPS za pomocą API: