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):
 

Parametr Przykład wartości Parametr obowiązkowy Opis wartości
func v2.instances.order.param Tak Funkcja zamówienia usługi
auth 21fc199...c43f71 Nie Token sesji. To jedna z opcji autoryzacji. Szczegóły dotyczące innych opcji opisano tutaj
out json Nie W jakim formacie oczekiwać odpowiedzi od API
sok ok Tak Potwierdzenie operacji
order_period -50 Tak Dla 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_agreement on Tak Zgoda na warunki licencji
pricelist 6740 Tak ID 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_count 1 Tak Liczba usług, które można zamówić w jednym zapytaniu
force_use_new_cart on Tak Dodanie usługi do nowego koszyka billmanager
instances_ssh_keys 490 Nie ID klucza SSH, który należy dodać do serwera po zainstalowaniu systemu operacyjnego. Nie trzeba przekazywać, jeśli parametr use_ssh_key=off
password Mypassword1 Nie Hasł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.  
servername MyServer Nie Własna nazwa serwera
instances_os 18d0ee2e-4d57-4f40-9b56-03c1773b5831 Tak UID 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_key off Nie Czy używać klucza SSH, czy nie. Może przyjmować wartości off lub on.
addon_xxx

260

Nie Dodatkowe 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

Tak Numer centrum danych. Aby dowiedzieć się, jakie opcje są dostępne, można zapoznać się z przykładem opisanym tutaj
backups_schedule on Nie Tworzenie harmonogramu kopii zapasowych w czasie tworzenia kopii zapasowej
backups_schedule_name MyBackup Tak, jeśli używane jest wartość backups_schedule Nazwa harmonogramu tworzenia kopii zapasowej
backups_schedule_rotation_days 1,2,3,4,5,6,0 Tak, jeśli używane jest wartość backups_schedule W 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_time 04:20 Tak, jeśli używane jest wartość backups_schedule O 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):

Parametr Wartość
func v2.instances.order.param
auth 21fc199...c43f71
out json
sok ok
order_period -50
licence_agreement on
pricelist

6740

order_count 1
password MyPassword1
servername MyServer-1
instances_os

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

use_ssh_key off

addon_6746

260

force_use_new_cart on
datacenter 13

 

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):

Parametr Przykład wartości Parametr obowiązkowy Opis wartości
func cart Tak Nazwa funkcji do pracy z koszykiem
auth 21fc199...c43f71 Nie Token sesji. To jedna z opcji autoryzacji. Szczegóły dotyczące innych opcji opisano tutaj
out json Nie W jakim formacie oczekiwać odpowiedzi od API
sok ok Tak Potwierdzenie operacji
promocode PROMO_2024 Tak Kod promocyjny, który planuje się użyć. 
clicked_button apply_promocode Tak Potwierdzenie 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):

Parametr Przykład wartości Parametr obowiązkowy Opis wartości
func cartorder.create.confirm Tak Funkcja do pracy z koszykiem
auth 21fc199...c43f71 Nie Token sesji. To jedna z opcji autoryzacji. Szczegóły dotyczące innych opcji opisano tutaj
out json Nie W jakim formacie oczekiwać odpowiedzi od API
sok ok Tak Potwierdzenie operacji
elid 1818 Tak ID zamówienia. Ta wartość została uzyskana podczas dodawania usługi do koszyka
paymethod_id 0 Tak ID 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: