opened image

API - მომსახურების შექმნა

Zomro პლატფორმაზე მომსახურების შეკვეთის პროცესში აუცილებელია რამდენიმე მნიშვნელოვანი ეტაპის დაცვა: მომსახურების კალათში დამატება, პრომოკოდის აქტივაცია (თუ არსებობს), და უშუალოდ მომსახურების შეძენა. ეს ნაბიჯები საშუალებას იძლევა ეფექტურად გამოიყენოთ პრომოკოდების ფუნქციონალი შეკვეთის დროს. შეკვეთის განხორციელებისთვის აუცილებელია მომსახურების გარკვეული პარამეტრების გადაცემა, დეტალები რომელთა შესახებ წარმოდგენილია ქვემოთ.

შეკვეთის შექმნის პროცესი შედგება შემდეგი ეტაპებისგან:

  • მომსახურების კალათში დამატება
  • პრომოკოდის აქტივაცია
  • მომსახურების შეძენა კალათიდან

იმის გამო, რომ სწორედ ასეთი ეტაპების გამოყენება საშუალებას იძლევა პრომოკოდის გამოყენება შეკვეთის დროს.

შეკვეთის შესაქმნელად საჭიროა მომსახურების პარამეტრების გადაცემა, რომლებიც ჩვენთვის საინტერესოა. როგორ უნდა მიიღოთ ხელმისაწვდომი პარამეტრები, აღწერილია აქ.

 

Cloud VPS Zomro მომსახურების შეკვეთის მოთხოვნის სტრუქტურა:
 

URL: 

https://api.zomro.com/

მეთოდი: POST

მოთხოვნის სხეული (Form-data):
 

პარამეტრიმაგალითი მნიშვნელობასავალდებულო პარამეტრიმნიშვნელობის აღწერა
funcv2.instances.order.paramდიახმომსახურების შეკვეთის ფუნქცია
auth21fc199...c43f71არასესიის ტოკენი. ეს არის ავტორიზაციის ერთ-ერთი ვარიანტი. დეტალები, რა სხვა ვარიანტები არსებობს, აღწერილია აქ
outjsonარაAPI-სგან პასუხის მიღების ფორმატი
sokokდიახოპერაციის დამადასტურებელი
order_period-50დიახcloudvps მომსახურებისთვის ყოველდღიური დამატება გამოიყენება. მომსახურების შესაძენად გამოიყენეთ მნიშვნელობა: -50, 1,  3,  6,  12.
-50 - ყოველდღიური დამატება, 1 - მომსახურების შეკვეთა 1 თვისთვის, 3 - შეკვეთა 3 თვისთვის და ასე შემდეგ.
licence_agreementonდიახლიცენზიის გამოყენების თანხმობის შესაბამისობა
pricelist6740დიახID ტარიფი, რომელიც უნდა შეკვეთილიყო. ID ტარიფი შეგიძლიათ მიიღოთ ფუნქციიდან v2.instances.order.pricelist. დეტალები, როგორ უნდა გამოიყენოთ, აღწერილია აქ
order_count1დიახმომსახურების რაოდენობა, რომელიც შეიძლება შეკვეთილიყო ერთ მოთხოვნაში
force_use_new_cartonდიახმომსახურების დამატება ახალ კალათში billmanager
instances_ssh_keys490არაID SSH გასაღები, რომელიც უნდა დაემატოს სერვერს ოპერაციული სისტემის ინსტალაციის შემდეგ. არ უნდა გადაცემული იყოს, თუ პარამეტრი use_ssh_key=off
passwordMypassword1არასერვერზე წვდომის პაროლი. Linux-ის შემთხვევაში - root მომხმარებლისთვის პაროლი. Windows-ის შემთხვევაში - Administrator მომხმარებლის პაროლი. არ უნდა გადაცემული იყოს, თუ პარამეტრი use_ssh_key=on.
ასევე, პაროლი უნდა შეიცავდეს მინიმუმ 1 დიდი ინგლისური ასო, 1 ციფრულ სიმბოლოს, მინიმალური სიმბოლოების რაოდენობა 8.  
servernameMyServerარასერვერის საკუთარი სახელი
instances_os18d0ee2e-4d57-4f40-9b56-03c1773b5831დიახოპერაციული სისტემის UID, რომელიც უნდა დაინსტალირდეს. ოპერაციული სისტემის UID შეგიძლიათ მიიღოთ ფუნქციიდან v2.instances.order.pricelist. დეტალები, როგორ უნდა გამოიყენოთ, აღწერილია აქ
use_ssh_keyoffარაssh გასაღების გამოყენება თუ არა. შეიძლება მიიღოს მნიშვნელობები off ან on.
addon_xxx

260

არამომსახურების დამატებითი პარამეტრები. შეიძლება იყოს როგორც RAM, CPU რაოდენობა, დისკის ზომა, ტრაფიკის მოცულობა, IPv4 ან IPv6 ტიპი. ხელმისაწვდომი პარამეტრები დამოკიდებულია ტარიფზე. გაიგეთ, რომელი ვარიანტები არის ხელმისაწვდომი, შეგიძლიათ მაგალითში, რომელიც აღწერილია აქ
datacenter

13

დიახდატა ცენტრის ნომერი. გაიგეთ, რომელი ვარიანტები არის ხელმისაწვდომი, შეგიძლიათ მაგალითში, რომელიც აღწერილია აქ
backups_scheduleonარაბექაპების განრიგის შექმნა, რეზერვული კოპიის შექმნის დროს
backups_schedule_nameMyBackupდიახ, თუ გამოიყენება მნიშვნელობა backups_scheduleრეზერვული კოპიის შექმნის განრიგის სახელი
backups_schedule_rotation_days1,2,3,4,5,6,0დიახ, თუ გამოიყენება მნიშვნელობა backups_scheduleრომელ დღეებში უნდა შეიქმნას რეზერვული კოპიები. კვირის დასაწყისი იწყება კვირა დღიდან, და აქვს ID - 0. შესაბამისად, ორშაბათი აქვს მნიშვნელობა 1. დანარჩენი კვირის დღეები - შესაბამისი მნიშვნელობები.
backups_schedule_rotation_time04:20დიახ, თუ გამოიყენება მნიშვნელობა backups_scheduleროდის უნდა შეიქმნას რეზერვული კოპია

 

 

მომსახურების შეკვეთის მაგალითი

მაგალითად, გამოვიყენოთ Cloud Essential ტარიფი Linux Ubuntu 20.04 ოპერაციული სისტემით, სერვერი მხოლოდ IPv6-ით და root მომხმარებლის პაროლის გამოყენებით.

URL: 

https://api.zomro.com/

მეთოდი: POST

 

მოთხოვნის სხეული (Form-data):

პარამეტრიმნიშვნელობა
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

 

აქ არის მოთხოვნის მაგალითი, რომელიც შეგიძლიათ შეასრულოთ კონსოლიდან:

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

 

მოთხოვნის შესრულების შემდეგ, ჩვენ გვჭირდება მონაცემები, რომლებიც შემდეგი ჩNested-შია:

doc

 

აქ არის მნიშვნელობები, რომლებიც მიღებულია მოთხოვნის შესრულების შედეგად:

...,

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

 

 

ამ მნიშვნელობა "1818", რაც არის კალათში შეკვეთის ნომერი, საჭიროა მომსახურების შემდგომი აქტივაციისთვის. დავიმახსოვროთ იგი შემდგომი გამოყენებისთვის.

 

მოთხოვნის შესრულების შემდეგ, კალათში ასევე შეგიძლიათ იხილოთ არსებული პროდუქტი.


 

შემდეგი ეტაპი იქნება პრომოკოდის აქტივაცია, თუ ასეთი არსებობს. ეს ეტაპი არ არის სავალდებულო, მაგრამ თუ მომხმარებელს აქვს პრომოკოდი, იქნებოდა შესანიშნავი მისი გამოყენების შესაძლებლობა.

URL: 

https://api.zomro.com/

მეთოდი: POST

მოთხოვნის სხეული (Form-data):

პარამეტრიმაგალითი მნიშვნელობასავალდებულო პარამეტრიმნიშვნელობის აღწერა
funccartდიახკალათასთან მუშაობის ფუნქციის სახელი
auth21fc199...c43f71არასესიის ტოკენი. ეს არის ავტორიზაციის ერთ-ერთი ვარიანტი. დეტალები, რა სხვა ვარიანტები არსებობს, აღწერილია აქ
outjsonარაAPI-სგან პასუხის მიღების ფორმატი
sokokდიახოპერაციის დამადასტურებელი
promocodePROMO_2024დიახპრომოკოდი, რომელიც უნდა გამოყენებულიყო. 
clicked_buttonapply_promocodeდიახპრომოკოდის აქტივაციის დამადასტურებელი

 

აქ არის მოთხოვნის მაგალითი, რომელიც შეგიძლიათ შეასრულოთ კონსოლიდან:

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

 

მოთხოვნის შესრულების შემდეგ, კალათში შეგიძლიათ იხილოთ პრომოკოდის აქტივაციის შედეგი:

 

 

სურათზე ჩანს, რომ პრომოკოდი PROMO_2024 წარმატებით აქტივირებულია. 
PS: სინამდვილეში, პრომოკოდი PROMO_2024, თქვენს შემთხვევაში, არ არის მოქმედი, ის მხოლოდ ამ ინსტრუქციის დაწერისთვის შეიქმნა.

შემდეგი ეტაპი იქნება მომსახურების აქტივაცია.

თუ პრომოკოდი არ უზრუნველყოფს 100% ფასდაკლებას, საჭიროა დამატებითი მომსახურების გადახდა პირადი ანგარიშიდან. 

მოვიხილოთ სიტუაცია, თუ პრომოკოდი არ ფარავს 100% მომსახურების ღირებულებას. API-ის მოთხოვნა იქნება შემდეგნაირი:

 URL: 

https://api.zomro.com/

მეთოდი: POST

მოთხოვნის სხეული (Form-data):

პარამეტრიმაგალითი მნიშვნელობასავალდებულო პარამეტრიმნიშვნელობის აღწერა
funccartorder.create.confirmდიახკალათასთან მუშაობის ფუნქცია
auth21fc199...c43f71არასესიის ტოკენი. ეს არის ავტორიზაციის ერთ-ერთი ვარიანტი. დეტალები, რა სხვა ვარიანტები არსებობს, აღწერილია აქ
outjsonარაAPI-სგან პასუხის მიღების ფორმატი
sokokდიახოპერაციის დამადასტურებელი
elid1818დიახშეკვეთის ID. ეს მნიშვნელობა მიღებულია მომსახურების კალათში დამატებისას
paymethod_id0დიახგადახდის მეთოდის ID. მნიშვნელობა 0 არის სტანდარტული და შეესაბამება შეკვეთის გადახდას პირადი ანგარიშიდან

 

 

აქ არის მოთხოვნის მაგალითი, რომელიც შეგიძლიათ შეასრულოთ კონსოლიდან:

 

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

 

 

მოთხოვნის შესრულების შემდეგ, კალათში აღნიშნული მომსახურება არ უნდა იყოს, საერთო მომსახურების სიაში CloudVPS ვხედავთ ჩვენს მომსახურებას სტატუსით "აქტივაცია მიმდინარეობს":

 

 

მომსახურების აქტივაციის პროცესში დამატებითი მოქმედებები არ არის. მომსახურების აქტივაციის შემდეგ, ჩვენ გვექნება ხელმისაწვდომი მოქმედებების სია, მომსახურების მართვისთვის, როგორიცაა: დაწყება, გაჩერება, წაშლა, ზომის შეცვლა და სხვა.
 

ასევე გთავაზობთ სტატიის შესწავლას, რომელიც შეიძლება იყოს სასარგებლო პროდუქციის Cloud VPS API-ს საშუალებით ურთიერთობისთვის: