Когда вместо BILLmanager используется другая биллинговая система или скрипт, автоматизировать перепродажу модулей возможно доработав эту систему.
При покупке модуля из панели управления, например, ispmanager, отправляются запросы в стороннюю систему, которая для обработки заказа должна эмулировать BILLmanager API.
Существует два варианта настройки взаимодействия со сторонней системой:
Сообщите выбранный способ перепродажи менеджерам компании ispmanager, они выполнят соответствующую настройку на стороне BILLmanager ispmanager.
Ниже представлены таблицы с версиями модуля и его идентификатороми.
Для клиентов РФ:
Версия | Идентификатор (pricelist) |
---|---|
Dr.Web для ispmanager 6 lite | 55377 |
Dr.Web для ispmanager 6 pro | 55378 |
Dr.Web для ispmanager 6 host | 55379 |
DDoS-GUARD | 23221 |
Для клиентов других стран:
Версия | Идентификатор (pricelist) |
---|---|
Dr.Web для ispmanager 6 lite | 55361 |
Dr.Web для ispmanager 6 pro | 55362 |
Dr.Web для ispmanager 6 host | 55363 |
DDoS-GUARD | 23221 |
Для автоматического заказа модулей необходимо реализовать обработку функций:
Панель управления, через которую выполняется покупка модулей, запрашивает у биллинговой системы список платных модулей и их стоимость.
Отправляется запрос вида
https://api.ispmanager.com/billmgr?authinfo=user:passwd&func=pricelist.export&itemtype=addition&out=xml
В ответ ожидается XML-документ формата:
<doc>
<pricelist>
<id>23221</id>
<additionintname>DDoS-GUARD</additionintname>
<price currency="RUB">
<period cost="950.0000" type="month" length="1">monthly</period>
</price>
</pricelist>
</doc>
Отправляется запрос вида
https://api.ispmanager.com/billmgr?authinfo=user:passwd&func=basket
В ответ ожидается XML документ, где проверятся наличие элементов "/doc/list[@name='itemlist']/elem". При их наличии в XML модули будут добавлены в корзину, но панель управления не будет пытаться автоматически оплатить товары. Пользователь будет перенаправлен в систему для ручного завершения заказа.
Отправляется запрос вида
https://api.ispmanager.com/billmgr?authinfo=user:passwd&func=addition.order.param&item=234256&period=1&pricelist=2345&sok=ok
item — код (id) лицензии, для которой покупается модуль.
period и pricelist — берутся из списка тарифов (/doc/pricelist/id и /doc/pricelist/price/period/@length).
В ответе ожидается XML:
<doc>
<billorder.id>1234</billorder.id>
</doc>
billorder.id — код сформированного заказа.
Отправляется запрос вида
https://api.ispmanager.com/billmgr?authinfo=user:passwd&func=basket&id=23445&sok=ok
id — идентификатор, полученный при размещении заказа.
Запрос для авторизации в биллинге (BILLmanager) и дальнейшей работы в нем.
Для входа необходимо:
https://api.ispmanager.com/billmgr?authinfo=user:passwd&func=session.newkey&key=vjJJNF3IDS2as
key — произвольная случайная последовательность символов.
Отправляется запрос вида
https://api.ispmanager.com/billmgr?func=auth&username=<имя>&key=vjJJNF3IDS2as&backlevel=?&backname=?&backurl=?
key — последовательность из предыдущего вызова.
backlevel — уровень доступа пользователя в текущей панели.
backname — имя текущей панели управления.
backurl —
Для ручного заказ модулей необходимо реализовать получение списка тарифных планов. Это необходимо для получения стоимости модулей.
При покупке модуля панель управления будет перенаправлять клиента на сайт партнёра. Для этого формируется запрос вида:
https://api.ispmanager.com/billmgr?module=<имя модуля>&license=<ID лицензии>&ip=<IP лицензии>