Заказ лицензий ПО ISPsystem с использованием BILLmanager API
Материал из ISPWiki
Создание (продление) лицензий на программные продукты компании ISPsystem в автоматическом режиме - это актуальный вопрос, на который нам постоянно приходится отвечать. BILLmanager, как и любой другой продукт нашей компании, обладает 100% поддержкой удалённого вызова функций - API. Все действия, которые Вы можете выполнять из браузера вручную, можно выполнить и удалёнными скриптами.
Ниже мы приведём пару примеров по работе с API BILLmanager. Поняв принцип работы API, Вы легко сможете создать URL вызова любой необходимой вам функции. Значения полей легко узнать, заглянув в исходный код страницы BILLmanager, точнее в HTML-код соответствующей таблицы, так как списки и формы отображаются в отдельных таблицах.
Приведённые ниже URL можно вызывать не только в браузере, но и программами типа wget, curl и т.д. или с помощью функций соответствующих библиотек Вашего любимого языка программирования.
Получить список лицензий:
https://api.ispsystem.com/manager/billmgr?authinfo=USER:PASSWD&out=xml&func=software
В ответ будет получена XML со списком имеющихся лицензий. Для каждой лицензии будет выведено:
- id - код лицензии
- price - название тарифа
- period - название периода заказа
- expiredate - дата истечения срока действия
- project - название проекта
- price_id - код тарифа лицензии
- licname - название лицензии
- ip - IP адрес лицензии
- ipchange - дата последней смены IP адреса
- keychange - дата последней генерации ключа
- status - статус: 1 - заказана, 2 - активна, 3 - остановлена, 4 - удалена
Получить список лицензий, истекающих в период с 15 по 25 октября 2009 года:
https://api.ispsystem.com/manager/billmgr?authinfo=USER:PASSWD&out=xml&func=software.filter&expires=2009-10-15&expiree=2009-10-25&sok=ok&filter=yes https://api.ispsystem.com/manager/billmgr?authinfo=USER:PASSWD&out=xml&func=software&filter=yes
Создать новую лицензию (пример ISPmanager Lite (без поддержки) на 1 месяц):
https://api.ispsystem.com/manager/billmgr?authinfo=USER:PASSWD&out=xml&func=software.order.payment&price=7&period=8&licname=LICNAME&ip=111.222.111.222&sok=ok
Значения кодов тарифов (price) для заказа лицензий:
ISPmanager Lite (без поддержки) pricelist=7
ISPmanager Pro (без поддержки) pricelist=11
ISPmanager Lite pricelist=5
ISPmanager Pro pricelist=9
ISPmanager 5 Lite pricelist=3541
ISPmanager 5 Business pricelist=4601 Количество узлов: addon_4602=количество
BILLmanager 5 Standard pricelist=5575
BILLmanager 5 Advanced pricelist=5577
BILLmanager 5 Corporate pricelist=5579
IPmanager 5 pricelist=2891
VMmanager KVM pricelist=3045 Количество узлов: addon_3049=количество
VMmanager Cloud pricelist=3887 Количество узлов: addon_3889=количество
VMmanager OVZ pricelist=3651 Количество узлов: addon_3698=количество
DCImanager Essential pricelist=3932
DCImanager Progressive pricelist=3934
DCImanager Enterprise pricelist=3936
DNSmanager 5 pricelist=3136
Значения кодов периодов (period) для заказа лицензий:
period=1 - 1 месяц period=3 - 3 месяца period=6 - 6 месяцев period=12 - 1 год period=0 - вечная
Выключить лицензию
https://api.ispsystem.com/manager/billmgr?authinfo=USER:PASSWD&out=xml&func=software.disable&elid=код_лицензии
Включить лицензию
https://api.ispsystem.com/manager/billmgr?authinfo=USER:PASSWD&out=xml&func=software.enable&elid=код_лицензии
Проверить IP-адрес на занятость
https://api.ispsystem.com/manager/billmgr?authinfo=USER:PASSWD&out=xml&func=software.licinfo&sok=ok&price=7&period=8&ip=111.222.111.222
Изменить "IP-адрес" и/или "имя лицензии":
https://api.ispsystem.com/manager/billmgr?authinfo=USER:PASSWD&out=xml&func=software.edit&elid=334673&licname=NEWLICNAME&ip=111.222.111.223&sok=ok
Обратите внимание на то, что:
elid=334673 - это уникальный идентификатор лицензии. Посмотреть его можно при вызове списка лицензий (см. пример 1) Параметры licname и ip можно использовать как вместе, так и по отдельности, если вы хотите изменить только один параметр.
Помните, что смена IP-адреса лицензии невозможна чаще одного раза в месяц.
Продлить лицензию (пример ISPmanager Lite (без поддержки) на 1 месяц):
https://api.ispsystem.com/manager/billmgr?authinfo=USER:PASSWD&out=xml&func=software.period&elid=334673&period=8&sok=ok
Обратите внимание, что:
elid=334673 - это уникальный идентификатор лицензии. Посмотреть его можно при вызове списка лицензий (см. пример 1) period=8 - период 8 действует только для лицензии Litе, для Pro свой период продления на 1 месяц, а именно period=16
Всегда анализируйте то, что получите в ответ. Если операция выполнена успешно, то в ответ Вы получите XML-документ, содержащий тег <ok/>. Если произошла ошибка - тег <error/> с кодом ошибки (см. Коды ошибок).
Аналогичным образом можно выполнить любое другое действие.