ВОЙТИ
    opened image

    В процессе заказа услуги на платформе 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
    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. Доступные параметры зависят от тарифа. Узнать, какие опции доступны, можно в примере, описанном здесь

     

    Пример заказа услуги

    Для примера, используем тариф 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

     

    Вот пример запроса, который можно выполнить из консоли:

    curl --location 'https://api.zomro.com/' \
    --form 'func="v2.instances.order.param"' \
    --form 'auth="211a9ac6309a9f0c340bdebf"' \
    --form 'out="json"' \
    --form 'sok="on"' \
    --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 'force_use_new_cart="on"'

     

    После выполнения запроса, нам нужны данные, которые находятся в следующей вложенности:

    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="on"' \
    --form 'elid="1818"' \
    --form 'paymethod_id="0"'

     

     

    После выполнения этого запроса, в корзине данной услуги не должно быть, в общем списке услуг CloudVPS видим нашу услугу в статусе "Activation in progress":

     

     

    Во время процесса активации услуги дополнительные действия с услугой отсутствуют. После активации услуги, у нас откроется список доступных действий, для управления услугами, такими как: Start, Stop, Delete, Resize, и другие.
     

    Также предлагаем изучить статьи, которые могут быть в полезными для взаимодействия с продуктами Cloud VPS с помощью API: