API називають програмний інтерфейс, який дає змогу керувати будь-яким додатком через набір команд і функцій. Наприклад, є API Яндекс Музики, завдяки якому можна прослуховувати музичні композиції на сайті. У нашій роботі ми використовуємо білінг BILLmanager.
У нього є свій API, за допомогою якого можна масштабувати сервери на гнучких тарифах, отримувати інформацію про платежі, списання з рахунку. У будь-якого розробника API на сайті, як правило, наведено докладну документацію зі встановлення та налаштування програмного інтерфейсу.
Однак документація з API BILLmanager складна в освоєнні. Якщо ви бажаєте стати професіоналом у роботі з API, тоді саме час почати вивчення документації. Якщо для вас головне виконати завдання й отримати результат у короткий термін, достатньо скористатися інструкцією, яку ми викладемо нижче.
Одне з перших питань, що виникають під час роботи з API BILLmanager, це де взяти список параметрів? Усі параметри для роботи з BILLmanager можна знайти в документації від розробника. З повним переліком робочих параметрів можна ознайомитися, перейшовши за цим посиланням.
Щоб отримати список 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, необхідно виконати запит на наступний 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 від розробника викладена тут.
Apply the discount by inserting the promo code in the special field at checkout:
Apply the discount by inserting the promo code in the special field at checkout: