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):
Parametr | Przykładowa wartość | Opis wartości |
func | v2.instances.order.pricelist | Funkcja do uzyskiwania dostępnych taryf do zamówienia |
auth | 21fc199...c43f71 | Token sesji. Jest to jedna z opcji autoryzacji. Więcej o innych opcjach opisano tutaj |
out | json | Struktura 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):
Parametr | Przykładowa wartość | Opis wartości |
func | v2.instances.order.param | Funkcja do uzyskiwania dodatkowych danych o taryfie |
auth | 21fc199...c43f71 | Token sesji. Jest to jedna z opcji autoryzacji. Więcej o innych opcjach opisano tutaj |
out | json | Struktura odpowiedzi, której należy oczekiwać |
order_period | -50 | Okres, na który można zamówić usługę |
pricelist | 6740 | ID 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 parametru | Opis parametru |
instances_os | Możliwe systemy operacyjne, które są dostępne do instalacji dla danej taryfy |
addon_6746 | Jaki 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_6745 | Liczba CPU dostępnych do zamówienia |
addon_6744 | Liczba RAM dostępnych do zamówienia |
addon_6743 | Rozmiar przestrzeni dyskowej na serwerze |
addon_6742 | Przepustowość ruchu internetowego na serwerze |
addon_6741 | Ograniczenie ilości ruchu internetowego na serwerze |
order_period | Dostępne okresy płatności za usługę |
instances_ssh_keys | Klucze 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:
- API - Tworzenie usługi
- API - Operacja Start & Stop
- API - Operacja Reboot
- API - Operacja Rebuild
- API - Operacja Delete
- API - Interakcja z harmonogramem kopii zapasowych
- API - Interakcja z Rescue
- API - Interakcja z Backup
- API - Interakcja z migawkami
- API - Interakcja z Boot From ISO
- API - Interakcja z Image