Когда вместо BILLmanager используется другая биллинговая система или скрипт, автоматизировать перепродажу модулей возможно доработав эту систему.

При покупке модуля из панели управления, например, ispmanager, отправляются запросы в стороннюю систему, которая для обработки заказа должна эмулировать BILLmanager API.

Существует два варианта настройки взаимодействия со сторонней системой:

  • Автоматический заказ модулей. Панель управления отправляет системе все запросы, необходимые для автоматического заказа и оплаты модуля, например: DDoS-GUARD.

  • Ручной заказ модулей. Панель управления не будет пытаться автоматически заказать модуль. Вместо этого, будет выполняться переход на сайт партнёра (URL, записанный в файл лицензии).

Сообщите выбранный способ перепродажи менеджерам компании ispmanager, они выполнят соответствующую настройку на стороне BILLmanager ispmanager.

Авторизация в системе осуществляется с помощью параметра authinfo, который принимает значение: authinfo=user:passwd, где:

  • user — электронная почта пользователя в биллинговой системе https://api.ispmanager.com;

  • passwd — пароль пользователя.

Ниже представлены таблицы с версиями модуля и его идентификатороми.

Для клиентов РФ:

Версия

Идентификатор (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
CODE

В ответ ожидается 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>
CODE

Обратите внимание!

id — идентификатор тарифа модуля.

additionintname — название модуля. Может принимать значения:

  • DDoS-GUARD — модуль DDoS-GUARD для ispmanager.

price — стоимость за период. При покупке и загрузки цены всегда используется <period> с type="month" и length="1".

Получение содержимого корзины

Отправляется запрос вида

https://api.ispmanager.com/billmgr?authinfo=user:passwd&func=basket
CODE

В ответ ожидается 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
CODE

item — код (id) лицензии, для которой покупается модуль.

period и pricelist — берутся из списка тарифов (/doc/pricelist/id и /doc/pricelist/price/period/@length).

В ответе ожидается XML:

<doc>
  <billorder.id>1234</billorder.id>
</doc>
CODE

billorder.id — код сформированного заказа.

Оплата заказа

Отправляется запрос вида

https://api.ispmanager.com/billmgr?authinfo=user:passwd&func=basket&id=23445&sok=ok
CODE

id — идентификатор, полученный при размещении заказа.

Переход в систему

Запрос для авторизации в биллинге (BILLmanager) и дальнейшей работы в нем.

Для входа необходимо:

  1. Получить ключ.

  2. Авторизоваться в биллинге.

Получение ключа

Отправляется запрос вида

https://api.ispmanager.com/billmgr?authinfo=user:passwd&func=session.newkey&key=vjJJNF3IDS2as
CODE

key — произвольная случайная последовательность символов.

Авторизоваться в биллинге

Отправляется запрос вида

https://api.ispmanager.com/billmgr?func=auth&username=<имя>&key=vjJJNF3IDS2as&backlevel=?&backname=?&backurl=?
CODE

key — последовательность из предыдущего вызова.

backlevel — уровень доступа пользователя в текущей панели.

backname — имя текущей панели управления.

backurl<URL панели управления>?startform=plugin.

Ручной заказ модулей


Для ручного заказ модулей необходимо реализовать получение списка тарифных планов. Это необходимо для получения стоимости модулей.

При покупке модуля панель управления будет перенаправлять клиента на сайт партнёра. Для этого формируется запрос вида:

https://api.ispmanager.com/billmgr?module=<имя модуля>&license=<ID лицензии>&ip=<IP лицензии>
CODE