opened image

API - Tworzenie usługi

W procesie zamawiania usługi na platformie Zomro należy przejść przez kilka ważnych etapów: dodanie usługi do koszyka, aktywacja kodu promocyjnego (jeśli jest dostępny) oraz bezpośrednio zakup usługi. Te kroki pozwalają efektywnie wykorzystać funkcjonalność kodów promocyjnych podczas zamówienia. Aby zrealizować zamówienie, należy przekazać określone parametry usługi, szczegóły dotyczące których przedstawione są poniżej.

Proces tworzenia zamówienia składa się z następujących etapów:

  • Dodanie usługi do koszyka
  • Aktywacja kodu promocyjnego
  • Zakup usługi z koszyka

Użycie właśnie takich etapów zakupu pozwala na wykorzystanie kodu promocyjnego podczas zamówienia.

Aby stworzyć zamówienie, należy przekazać parametry usługi, które nas interesują. Jak uzyskać dostępne parametry, opisano tutaj

 

Struktura zapytania do realizacji zamówienia usługi Cloud VPS Zomro:
 

URL: 

https://api.zomro.com/

Metoda: POST

Treść zapytania (Form-data):
 

ParametrPrzykład wartościParametr obowiązkowyOpis wartości
funcv2.instances.order.paramTakFunkcja zamówienia usługi
auth21fc199...c43f71NieToken sesji. To jedna z opcji autoryzacji. Szczegóły dotyczące innych opcji opisano tutaj
outjsonNieW jakim formacie oczekiwać odpowiedzi od API
sokokTakPotwierdzenie operacji
order_period-50TakDla usług cloudvps stosuje się codzienne obciążenie. Aby zrealizować zakup usługi, użyj wartości: -50, 1,  3,  6,  12.
-50 - codzienne obciążenie, 1 - zamówienie usługi na 1 miesiąc, 3 - zamówienie na 3 miesiące i tak dalej.
licence_agreementonTakZgoda na warunki licencji
pricelist6740TakID taryfy, którą należy zamówić. ID taryfy można uzyskać z funkcji v2.instances.order.pricelist. Szczegóły dotyczące korzystania z tej funkcji opisano tutaj
order_count1TakLiczba usług, które można zamówić w jednym zapytaniu
force_use_new_cartonTakDodanie usługi do nowego koszyka billmanager
instances_ssh_keys490NieID klucza SSH, który należy dodać do serwera po zainstalowaniu systemu operacyjnego. Nie trzeba przekazywać, jeśli parametr use_ssh_key=off
passwordMypassword1NieHasło dostępu do serwera. W przypadku Linux - hasło dla użytkownika root. W przypadku Windows - hasło użytkownika Administrator. Nie trzeba przekazywać, jeśli parametr use_ssh_key=on.
Hasło musi zawierać przynajmniej 1 wielką literę, 1 cyfrę, a minimalna długość to 8 znaków.  
servernameMyServerNieWłasna nazwa serwera
instances_os18d0ee2e-4d57-4f40-9b56-03c1773b5831TakUID systemu operacyjnego, który należy zainstalować. UID systemu operacyjnego można uzyskać z funkcji v2.instances.order.pricelist. Szczegóły dotyczące korzystania z tej funkcji opisano tutaj
use_ssh_keyoffNieCzy używać klucza SSH, czy nie. Może przyjmować wartości off lub on.
addon_xxx

260

NieDodatkowe parametry usługi. Może to być RAM, liczba CPU, rozmiar dysku, ilość transferu, typ IPv4 lub IPv6. Dostępne parametry zależą od taryfy. Aby dowiedzieć się, jakie opcje są dostępne, można zapoznać się z przykładem opisanym tutaj
datacenter

13

TakNumer centrum danych. Aby dowiedzieć się, jakie opcje są dostępne, można zapoznać się z przykładem opisanym tutaj
backups_scheduleonNieTworzenie harmonogramu kopii zapasowych w czasie tworzenia kopii zapasowej
backups_schedule_nameMyBackupTak, jeśli używane jest wartość backups_scheduleNazwa harmonogramu tworzenia kopii zapasowej
backups_schedule_rotation_days1,2,3,4,5,6,0Tak, jeśli używane jest wartość backups_scheduleW które dni tworzyć kopie zapasowe. Początek tygodnia zaczyna się od niedzieli i ma ID - 0. Odpowiednio poniedziałek ma wartość 1. Pozostałe dni tygodnia - odpowiednie wartości.
backups_schedule_rotation_time04:20Tak, jeśli używane jest wartość backups_scheduleO której godzinie utworzyć kopię zapasową

 

 

Przykład zamówienia usługi

Dla przykładu, użyjemy taryfy Cloud Essential z systemem operacyjnym Linux Ubuntu 20.04, serwer tylko z IPv6 i z użyciem hasła użytkownika root.

URL: 

https://api.zomro.com/

Metoda: POST

 

Treść zapytania (Form-data):

ParametrWartość
funcv2.instances.order.param
auth21fc199...c43f71
outjson
sokok
order_period-50
licence_agreementon
pricelist

6740

order_count1
passwordMyPassword1
servernameMyServer-1
instances_os

479c96f1-ccc6-47a2-952c-c9e3bbdc8d07

use_ssh_keyoff

addon_6746

260

force_use_new_carton
datacenter13

 

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="211a9ac6309a9f0c340bdebf"' \
--form 'out="json"' \
--form 'sok="ok"' \
--form 'order_period="-50"' \
--form 'licence_agreement="on"' \
--form 'use_ssh_key="off"' \
--form 'pricelist="6740"' \
--form 'servername="MyServer-1"' \
--form 'password="Mypassword1"' \
--form 'instances_os="479c96f1-ccc6-47a2-952c-c9e3bbdc8d07"' \
--form 'order_count="1"' \
--form 'addon_6746="260"' \
--form 'datacenter="13"' \
--form 'force_use_new_cart="on"'

 

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

doc

 

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

...,

"lineitem.id": {
    "$": "1818"
},
...

 

 

Ta wartość "1818", która jest numerem zamówienia w koszyku, jest potrzebna do dalszej aktywacji usługi. Zapamiętajmy ją do dalszego użycia.

 

Po wykonaniu tego zapytania, w koszyku można również zobaczyć posiadany towar.


 

Następnym etapem będzie aktywacja kodu promocyjnego, jeśli taki istnieje. Ten etap nie jest obowiązkowy, ale jeśli klient ma kod promocyjny, byłoby wspaniale mieć możliwość jego użycia.

URL: 

https://api.zomro.com/

Metoda: POST

Treść zapytania (Form-data):

ParametrPrzykład wartościParametr obowiązkowyOpis wartości
funccartTakNazwa funkcji do pracy z koszykiem
auth21fc199...c43f71NieToken sesji. To jedna z opcji autoryzacji. Szczegóły dotyczące innych opcji opisano tutaj
outjsonNieW jakim formacie oczekiwać odpowiedzi od API
sokokTakPotwierdzenie operacji
promocodePROMO_2024TakKod promocyjny, który planuje się użyć. 
clicked_buttonapply_promocodeTakPotwierdzenie aktywacji kodu promocyjnego

 

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

curl --location 'https://api.zomro.com/' \
--form 'out="json"' \
--form 'auth="46ffb314c8d46ec1f2f1df16"' \
--form 'func="cart"' \
--form 'promocode="PROMO_2024"' \
--form 'sok="ok"' \
--form 'clicked_button="apply_promocode"'

 

Po wykonaniu tego zapytania, w koszyku można zobaczyć wynik aktywacji kodu promocyjnego:

 

 

Na obrazku widać, że kod promocyjny PROMO_2024 został pomyślnie aktywowany. 
PS: W rzeczywistości, kod promocyjny PROMO_2024, w twoim przypadku, nie jest ważny, został stworzony tylko na potrzeby napisania tej instrukcji.

Następnym etapem będzie aktywacja usługi.

W przypadku, gdy kod promocyjny nie pokrywa 100% kosztów, należy dodatkowo opłacić usługę z panelu użytkownika. 

Rozważmy sytuację, gdy kod promocyjny nie pokrywa 100% kosztów usługi. Zapytanie API będzie wyglądać następująco:

 URL: 

https://api.zomro.com/

Metoda: POST

Treść zapytania (Form-data):

ParametrPrzykład wartościParametr obowiązkowyOpis wartości
funccartorder.create.confirmTakFunkcja do pracy z koszykiem
auth21fc199...c43f71NieToken sesji. To jedna z opcji autoryzacji. Szczegóły dotyczące innych opcji opisano tutaj
outjsonNieW jakim formacie oczekiwać odpowiedzi od API
sokokTakPotwierdzenie operacji
elid1818TakID zamówienia. Ta wartość została uzyskana podczas dodawania usługi do koszyka
paymethod_id0TakID metody płatności. Wartość 0 jest standardowa i odpowiada sposobowi płatności za zamówienie z salda osobistego

 

 

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

 

curl --location 'https://api.zomro.com/' \
--form 'out="json"' \
--form 'auth="cd63c7832f0ae5947c49ac06"' \
--form 'func="cartorder.create.confirm"' \
--form 'sok="ok"' \
--form 'elid="1818"' \
--form 'paymethod_id="0"'

 

 

Po wykonaniu tego zapytania, w koszyku tej usługi nie powinno być, w ogólnym wykazie usług CloudVPS widzimy naszą usługę w statusie "Aktywacja w toku":

 

 

W trakcie procesu aktywacji usługi dodatkowe działania z usługą są niedostępne. Po aktywacji usługi, otworzy się lista dostępnych działań do zarządzania usługami, takich jak: Start, Stop, Delete, Resize i inne.
 

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