Способи оплати Abuse

Як працювати з API BILLmanager

20.06.2022, 13:26

API називають програмний інтерфейс, який дає змогу керувати будь-яким додатком через набір команд і функцій. Наприклад, є API Яндекс Музики, завдяки якому можна прослуховувати музичні композиції на сайті. У нашій роботі ми використовуємо білінг BILLmanager.

У нього є свій API, за допомогою якого можна масштабувати сервери на гнучких тарифах, отримувати інформацію про платежі, списання з рахунку. У будь-якого розробника API на сайті, як правило, наведено докладну документацію зі встановлення та налаштування програмного інтерфейсу.

Однак документація з API BILLmanager складна в освоєнні. Якщо ви бажаєте стати професіоналом у роботі з API, тоді саме час почати вивчення документації. Якщо для вас головне виконати завдання й отримати результат у короткий термін, достатньо скористатися інструкцією, яку ми викладемо нижче.

Список параметрів

Одне з перших питань, що виникають під час роботи з API BILLmanager, це де взяти список параметрів? Усі параметри для роботи з BILLmanager можна знайти в документації від розробника. З повним переліком робочих параметрів можна ознайомитися, перейшовши за цим посиланням.

Як отримати список VDS

Щоб отримати список VDS, необхідно виконати запит на наступний URL:

https://bill.pq.hosting/billmgr?func=vds&authinfo=username:password&out=JSONdata

Параметри в запиті:

  • authinfo - дані авторизації в білінгу;
  • func - функція, що виконується в білінгу;
  • out - формат виведення даних, підтримуються xml, json і JSONdata.

У всіх запитах потрібно використовувати свої персональні дані, тож міняємо username:password на свій логін і пароль, потім виконуємо GET запит, наприклад, за допомогою CURL.

Як замовити VDS

Щоб замовити VDS, необхідно виконати запит на наступний URL:

https://bill.pq.hosting/billmgr?func=vds.order.param&authinfo=username:password&addon_10=6&addon_11=256&addon_12=500
&addon_13=1&addon_14=28&addon_15=0&addon_28=1&addon_7=5000&addon_9=5&autoprolong=1
&ostempl=ISPsystem%5F%5FCentOS%2D7%2Damd64&period=1&pricelist=6&skipbasket=on&domain=vds.test&sok=ok

Параметри в запиті:

  • authinfo - дані авторизації в білінгу;
  • func - функція, що виконується в білінгу;
  • addon_X - доповнення до замовлення (опціонально), наприклад, для замовлення панелі керування або IPv6 адрес;
  • autoprolong - опція, що вмикає або вимикає автоматичне продовження сервера;
  • ostempl - шаблон OS для замовлення;
  • period - період замовлення, вказується кількість місяців, підтримуються 1, 3, 6, 12;
  • pricelist - ID тарифного плану;
  • skipbasket - прапор пропуску етапу оформлення кошика, для автоматичного замовлення послуги;
  • domain - доменне ім'я сервера (опціонально);
  • sok - підтвердження запиту.

Зміна параметрів сервера

API для зміни параметрів віртуального сервера:

https://bill.pq.hosting/billmgr?func=vds.edit&authinfo=username:password&addon_11=512&elid=958&domain=company.com&sok=ok

Для зміни параметрів виділеного сервера:

https://bill.pq.hosting/billmgr?func=dedic.edit&authinfo=username:password&addon_26=10&addon_26=10&addon_28=5000&elid=1065&sok=ok

Параметри в запиті:

  • authinfo - дані авторизації в білінгу;
  • func - функція, що виконується в білінгу;
  • elid - код послуги;
  • addon_X - доповнення для зміни (опціонально), наприклад, для зміни кількості IP-адрес;
  • domain - доменне ім'я (опціонально);
  • sok - підтвердження запиту.

Доповнення тарифного плану при замовленні або зміні послуги через API передаються через параметр addon_, який приймає значення addon_5=10, де 5 - код доповнення, 10 - значення.

Під час складання API-запитів можна користуватися консоллю браузера, на вкладці "мережа" можна подивитися, які запити робляться з браузера під час замовлення сервера, ці ж параметри можна передавати через API-запити. У списку вище описані приклади API-запитів, з неповним списком функцій і параметрів.

Робота з циклами

Якщо потрібно видалити VDS, додати пам'ять або ядра процесора, це можна зробити і без API BILLmanager. Однак у разі замовлення 10, 100 VDS або масової зміни параметрів серверів цей процес може затягнутися на кілька годин. Для подібних випадків заведено використовувати цикли:

#!/bin/bash
seq 1 32 | while read line; do
  curl -s -k "https://bill.pq.hosting/billmgr?func=vds.order.param&authinfo=username:password&addon_10=6&addon_11=256&addon_12=500
&addon_13=1&addon_14=28&addon_15=0&addon_28=1&addon_7=5000&addon_9=5&autoprolong=1
&ostempl=ISPsystem%5F%5FCentOS%2D7%2Damd64&period=1&pricelist=6&skipbasket=on&domain=vds.test$line&sok=ok"
done

У прикладі використовується API запит замовлення сервера, в seq вказується кількість серверів для замовлення. Параметри замовлення сервера аналогічні замовленню одиничного сервера без використання циклів.

Повна документація по роботі з BILLmanager API від розробника викладена тут.