Zomro პლატფორმაზე მომსახურების შეკვეთის პროცესში აუცილებელია რამდენიმე მნიშვნელოვანი ეტაპის დაცვა: მომსახურების კალათში დამატება, პრომოკოდის აქტივაცია (თუ არსებობს), და უშუალოდ მომსახურების შეძენა. ეს ნაბიჯები საშუალებას იძლევა ეფექტურად გამოიყენოთ პრომოკოდების ფუნქციონალი შეკვეთის დროს. შეკვეთის განხორციელებისთვის აუცილებელია მომსახურების გარკვეული პარამეტრების გადაცემა, დეტალები რომელთა შესახებ წარმოდგენილია ქვემოთ.
შეკვეთის შექმნის პროცესი შედგება შემდეგი ეტაპებისგან:
- მომსახურების კალათში დამატება
- პრომოკოდის აქტივაცია
- მომსახურების შეძენა კალათიდან
იმის გამო, რომ სწორედ ასეთი ეტაპების გამოყენება საშუალებას იძლევა პრომოკოდის გამოყენება შეკვეთის დროს.
შეკვეთის შესაქმნელად საჭიროა მომსახურების პარამეტრების გადაცემა, რომლებიც ჩვენთვის საინტერესოა. როგორ უნდა მიიღოთ ხელმისაწვდომი პარამეტრები, აღწერილია აქ.
Cloud VPS Zomro მომსახურების შეკვეთის მოთხოვნის სტრუქტურა:
URL:
https://api.zomro.com/
მეთოდი: POST
მოთხოვნის სხეული (Form-data):
პარამეტრი | მაგალითი მნიშვნელობა | სავალდებულო პარამეტრი | მნიშვნელობის აღწერა |
func | v2.instances.order.param | დიახ | მომსახურების შეკვეთის ფუნქცია |
auth | 21fc199...c43f71 | არა | სესიის ტოკენი. ეს არის ავტორიზაციის ერთ-ერთი ვარიანტი. დეტალები, რა სხვა ვარიანტები არსებობს, აღწერილია აქ |
out | json | არა | API-სგან პასუხის მიღების ფორმატი |
sok | ok | დიახ | ოპერაციის დამადასტურებელი |
order_period | -50 | დიახ | cloudvps მომსახურებისთვის ყოველდღიური დამატება გამოიყენება. მომსახურების შესაძენად გამოიყენეთ მნიშვნელობა: -50, 1, 3, 6, 12. -50 - ყოველდღიური დამატება, 1 - მომსახურების შეკვეთა 1 თვისთვის, 3 - შეკვეთა 3 თვისთვის და ასე შემდეგ. |
licence_agreement | on | დიახ | ლიცენზიის გამოყენების თანხმობის შესაბამისობა |
pricelist | 6740 | დიახ | ID ტარიფი, რომელიც უნდა შეკვეთილიყო. ID ტარიფი შეგიძლიათ მიიღოთ ფუნქციიდან v2.instances.order.pricelist. დეტალები, როგორ უნდა გამოიყენოთ, აღწერილია აქ |
order_count | 1 | დიახ | მომსახურების რაოდენობა, რომელიც შეიძლება შეკვეთილიყო ერთ მოთხოვნაში |
force_use_new_cart | on | დიახ | მომსახურების დამატება ახალ კალათში billmanager |
instances_ssh_keys | 490 | არა | ID SSH გასაღები, რომელიც უნდა დაემატოს სერვერს ოპერაციული სისტემის ინსტალაციის შემდეგ. არ უნდა გადაცემული იყოს, თუ პარამეტრი use_ssh_key=off |
password | Mypassword1 | არა | სერვერზე წვდომის პაროლი. Linux-ის შემთხვევაში - root მომხმარებლისთვის პაროლი. Windows-ის შემთხვევაში - Administrator მომხმარებლის პაროლი. არ უნდა გადაცემული იყოს, თუ პარამეტრი use_ssh_key=on. ასევე, პაროლი უნდა შეიცავდეს მინიმუმ 1 დიდი ინგლისური ასო, 1 ციფრულ სიმბოლოს, მინიმალური სიმბოლოების რაოდენობა 8. |
servername | MyServer | არა | სერვერის საკუთარი სახელი |
instances_os | 18d0ee2e-4d57-4f40-9b56-03c1773b5831 | დიახ | ოპერაციული სისტემის UID, რომელიც უნდა დაინსტალირდეს. ოპერაციული სისტემის UID შეგიძლიათ მიიღოთ ფუნქციიდან v2.instances.order.pricelist. დეტალები, როგორ უნდა გამოიყენოთ, აღწერილია აქ |
use_ssh_key | off | არა | ssh გასაღების გამოყენება თუ არა. შეიძლება მიიღოს მნიშვნელობები off ან on. |
addon_xxx | 260 | არა | მომსახურების დამატებითი პარამეტრები. შეიძლება იყოს როგორც RAM, CPU რაოდენობა, დისკის ზომა, ტრაფიკის მოცულობა, IPv4 ან IPv6 ტიპი. ხელმისაწვდომი პარამეტრები დამოკიდებულია ტარიფზე. გაიგეთ, რომელი ვარიანტები არის ხელმისაწვდომი, შეგიძლიათ მაგალითში, რომელიც აღწერილია აქ |
datacenter | 13 | დიახ | დატა ცენტრის ნომერი. გაიგეთ, რომელი ვარიანტები არის ხელმისაწვდომი, შეგიძლიათ მაგალითში, რომელიც აღწერილია აქ |
backups_schedule | on | არა | ბექაპების განრიგის შექმნა, რეზერვული კოპიის შექმნის დროს |
backups_schedule_name | MyBackup | დიახ, თუ გამოიყენება მნიშვნელობა backups_schedule | რეზერვული კოპიის შექმნის განრიგის სახელი |
backups_schedule_rotation_days | 1,2,3,4,5,6,0 | დიახ, თუ გამოიყენება მნიშვნელობა backups_schedule | რომელ დღეებში უნდა შეიქმნას რეზერვული კოპიები. კვირის დასაწყისი იწყება კვირა დღიდან, და აქვს ID - 0. შესაბამისად, ორშაბათი აქვს მნიშვნელობა 1. დანარჩენი კვირის დღეები - შესაბამისი მნიშვნელობები. |
backups_schedule_rotation_time | 04:20 | დიახ, თუ გამოიყენება მნიშვნელობა backups_schedule | როდის უნდა შეიქმნას რეზერვული კოპია |
მომსახურების შეკვეთის მაგალითი
მაგალითად, გამოვიყენოთ Cloud Essential ტარიფი Linux Ubuntu 20.04 ოპერაციული სისტემით, სერვერი მხოლოდ IPv6-ით და root მომხმარებლის პაროლის გამოყენებით.
URL:
https://api.zomro.com/
მეთოდი: POST
მოთხოვნის სხეული (Form-data):
პარამეტრი | მნიშვნელობა |
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 |
აქ არის მოთხოვნის მაგალითი, რომელიც შეგიძლიათ შეასრულოთ კონსოლიდან:
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):
პარამეტრი | მაგალითი მნიშვნელობა | სავალდებულო პარამეტრი | მნიშვნელობის აღწერა |
func | cart | დიახ | კალათასთან მუშაობის ფუნქციის სახელი |
auth | 21fc199...c43f71 | არა | სესიის ტოკენი. ეს არის ავტორიზაციის ერთ-ერთი ვარიანტი. დეტალები, რა სხვა ვარიანტები არსებობს, აღწერილია აქ |
out | json | არა | API-სგან პასუხის მიღების ფორმატი |
sok | ok | დიახ | ოპერაციის დამადასტურებელი |
promocode | PROMO_2024 | დიახ | პრომოკოდი, რომელიც უნდა გამოყენებულიყო. |
clicked_button | apply_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):
პარამეტრი | მაგალითი მნიშვნელობა | სავალდებულო პარამეტრი | მნიშვნელობის აღწერა |
func | cartorder.create.confirm | დიახ | კალათასთან მუშაობის ფუნქცია |
auth | 21fc199...c43f71 | არა | სესიის ტოკენი. ეს არის ავტორიზაციის ერთ-ერთი ვარიანტი. დეტალები, რა სხვა ვარიანტები არსებობს, აღწერილია აქ |
out | json | არა | API-სგან პასუხის მიღების ფორმატი |
sok | ok | დიახ | ოპერაციის დამადასტურებელი |
elid | 1818 | დიახ | შეკვეთის ID. ეს მნიშვნელობა მიღებულია მომსახურების კალათში დამატებისას |
paymethod_id | 0 | დიახ | გადახდის მეთოდის 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-ს საშუალებით ურთიერთობისთვის:
- API - ხელმისაწვდომი ტარიფების და მათი პარამეტრების შესახებ ინფორმაციის მიღება
- API - ოპერაცია დაწყება & გაჩერება
- API - ოპერაცია გადატვირთვა
- API - ოპერაცია აღდგენა
- API - ოპერაცია წაშლა
- API - ურთიერთობა Image-თან
- API - ურთიერთობა Backup Schedule-თან
- API - ურთიერთობა Rescue-თან
- API - ურთიერთობა Backup-თან
- API - ურთიერთობა Snapshots-თან
- API - ურთიერთობა Boot From ISO-თან