Перепродажа услуг

Материал из ISPWiki
Перейти к: навигация, поиск

В данной статье будут рассмотрены базовые принципы настройки перепродажи услуг через BILLmanager.
BILLmanager, услуги которого будут перепродаваться, далее будем называть сторонним. В качестве стороннего BILLmanager может быть использован только BILLmanager 5 Corporate.


Общее описание

Для перепродажи услуг создается специальный модуль обработки, который привязывается к обработчику BILLmanager. Этот модуль обработки настраивается на интеграцию со сторонним BILLmanager под пользователем с уровнем клиента. Клиент должен иметь достаточно средств на счету для оплаты заказов услуг.

Внимание! Не создавайте подключения под пользователями одного аккаунта из разных BILLmanager. Создание двух и более подключений под пользователями одного аккаунта приведет к некорректной обработке событий.

Далее производится импорт одного или более тарифных планов; после их донастройки и активации Вашим клиентам будет доступен заказ услуг по данным тарифам. При заказе услуги, а также при других действиях над услугой, создается текущая операция, при обработке которой фактически осуществляется запрос к стороннему BILLmanager. Если запрос проходит успешно, текущая операция переводится в ручную обработку - это исключает возможность повторного автоматического запуска операции. В дальнейшем, после того как услуга будет обработана и активирована сторонним BILLmanager, об этом будет проинформировано через механизм событий. Через механизм событий передаются все изменения, произведенные в стороннем BILLmanager (изменение параметров, дополнений, включение/выключение услуги и т.д.) - таким образом, Ваш BILLmanager всегда будет иметь актуальную информацию по услугам.

Интеграция со сторонним BILLmanager

Для интеграции со сторонним BILLmanager создайте обработчик услуг при помощи стандартного визарда.

Выбор типа услуги


На втором шаге визарда укажите обработчик BILLmanager (BILLmanager отсутствует в списке для неподдерживаемых типов продуктов).


Выбор типа услуги


Дальнейшая настройка не отличается от настройки других обработчиков услуг. Созданный обработчик в дальнейшем может использоваться для перепродажи и других поддерживаемых типов продуктов, отличных от выбранного на первом шаге визарда.
Обратите внимание, что пользователь стороннего BILLmanager, под которым настраивается интеграция, должен иметь уровень клиента, а также достаточно средств на счету для оплаты заказанных услуг. А также должен входить в группу клиентов с разрешением на остановку/выключение и удаление услуг. Если это условие не выполняется, возможны ситуации, когда на продающем биллинге не будут останавливаться услуги. Например, если настроено подтверждение удаления услуг по телефону.

Импорт тарифных планов

Импорт тарифов осуществляется из списка тарифных планов.

Список тарифных планов


При нажатии на кнопку "Импорт" отображается визард, состоящий из двух шагов.


Импорт тарифа. Шаг 1.


На первом шаге выберите созданный ранее модуль обработки, настроенный на интеграцию со сторонним BILLmanager.


Импорт тарифа. Шаг 2.


На втором шаге выберите требуемый тарифный план и нажмите кнопку "Завершить".


Ограничения:

  1. Для типа продукта в стороннем BILLmanager должны быть заданы как минимум те же периоды заказа, что и на стороне перепродающего BILLmanager, в противном случае импорт будет невозможен.
  2. Если валюты импортируемого типа продукта не совпадают в стороннем и перепродающем BILLmanager, то будет произведена попытка конвертации импортируемых цен в основную валюту перепродающего BILLmanager. Если не заданы курсы валют, конвертация будет невозможна и цены импортированы не будут.

При импорте тарифа производится импорт следующих объектов:

  • дополнения к тарифному плану
  • шаблоны ОС - если импортируемый тип продукта имеет параметр "Шаблон ОС" (внутреннее наименование "ostempl"), то производится импорт доступных для тарифа в стороннем BILLmanager шаблонов операционных систем; поскольку все шаблоны в перепродающем BILLmanager привязываются к одному модулю обработки, то дополнительно настраивается привязка шаблонов ОС к тарифным планам (от тарифа отключаются неиспользуемые им шаблоны);
  • перечисления - если импортируемый тариф имеет дополнения с типом "перечисление", то производится импорт привязанных к этим дополнениям перечислений;


Импортированный тариф привязывается к тарифу стороннего BILLmanager через поле "Внутреннее наименование" (intname в таблице pricelist в БД). В это поле сохраняется значение вида 5-intname, где 5 - идентификатор тарифа в стороннем BILLmanager, intname - его внутреннее наименование.

Синхронизация тарифных планов

Начиная с версии BILLmanager 5.74.0 изменена функция синхронизации тарифных планов (нет зависимости от lang).

На стороне перепродающего BILLmanager выполните:

cd /usr/local/mgr5
./sbin/mgrctl -m billmgr pricelist.sync elid=<id тарифа>


Действия, выполняемые при синхронизации:

  • для параметров типа продукта:
    • обновление тэгов параметров "Предустановленное ПО" и "Операционная система"
    • создание и подключение к модулю обработки/тарифному плану новых значений для параметров "Предустановленное ПО" и "Операционная система". Шаблоны ОС WIndows автоматически не подключаются.
    • отключение от тарифного плана значений параметров "Предустановленное ПО" и "Операционная система", которые были удалены или отключены на стороне продающего BILLmanager
  • для дополнений к тарифу:
    • создание новых дополнений к тарифному плану (дополнения создаются неактивными)
    • отключение дополнений, которые были удалены/отключены на стороне продающего BILLmanager
    • обратите внимание: цены существующих дополнений остаются без изменений!
  • для перечислений:
    • создание новых перечислений (при необходимости - если имеются связанные с перечислением дополнения к тарифному плану)
    • создание новых элементов к существующим элементам перечислений
  • для цен перечислений (в настройках дополнений к тарифу):
    • создание новых элементов с подгрузкой цен
    • отключение элементов, которые были отключены или удалены на стороне продающего BILLmanager

Обработка услуг

Активации услуги (начиная с версии 5.73) происходит сразу после активации услуги в стороннем билинге (callback). В случае возникновения внештатной ситуации с активацией услуги - будет использован старый механизм (checkevent).

При любом действии над услугой (изменение параметров, изменение состояния) создается текущая операция, для обработки которой запускается обработчик pmbillmgr. Обработчик в зависимости от типа текущей операции формирует команду и выполняет ее в стороннем BILLmanager. Если выполнение команды завершается без ошибки, то текущая операции переводится в ручную обработку - это гарантирует, что она не будет повторно запущена автоматически.

При создании услуги в стороннем BILLmanager в базе данных сохраняется идентификатор услуги из перепродающего BILLmanager (поле remoteid таблицы item).

На стороне продающего BILLmanager также может быть запущена текущая операция для обработки команды, поэтому на стороне перепродающего BILLmanager невозможно сразу же определить успешность выполнения команды. Для определения изменения состояния услуги перепродающий BILLmanager раз в 5 минут опрашивает сторонний BILLmanager о произошедших событиях; в крон автоматически прописывается команда:

*/5 * * * *	/usr/local/mgr5/sbin/mgrctl -m billmgr checkevent

Типы обрабатываемых событий:

  • Открытие услуги - при обработке события услуга переводится в статус "Активна";
  • Остановка услуги - услуга переводится в состояние "Остановлена";
  • Включение услуги - услуга переводится в состояние "Активна";
  • Удаление услуги - услуга переводится в состояние "Удалена";
  • Добавление нового IP-адреса - увеличивается на 1 количество адресов в дополнении к тарифу, в списке IP-адресов услуги создается IP-адрес;
  • Удаление IP-адреса - значение дополнения уменьшается на 1, адрес из списка удаляется
  • Изменение значения дополнения - изменяется значение соответствующего дополнения;
  • Изменение значения параметра - изменяется соответствующий параметр услуги.

На стороне продающего BILLmanager события хранятся в базе данных в таблице itemevent. После обработки события в перепродающем BILLmanager событие удаляется.

Механизм обработки события не зависит от того, на стороне какого BILLmanager была инициирована та или иная операция. То есть при внесении изменений на стороне продающего BILLmanager состояние услуг должно синхронизироваться максимум через 5 минут.

Если по какой-то причине не синхронизировся статус услуги и срок действия, то отредактировать эти данные можно в базе данных биллинга: таблица item, поля status и expiredate.

Значение status может быть:

  • 1 - заказан
  • 2 - активен
  • 3 - остановлен
  • 4 - удален

Сопоставление периодов

Настройка сопоставления периодов производится в параметрах модулей обработки. Откройте список модулей обработки, выделите обработчик, настроенный на интеграцию со сторонним BILLmanager, и нажмите кнопку "Параметры".


Список обработчиков услуг


Откроется список параметров модуля обработки.


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


В настоящее время поддерживается только один тип параметров - сопоставление периодов. При необходимости может быть создано несколько параметров для настройки сопоставления разных периодов.


Редактирование параметра


Для настройки сопоставления периодов настройте следующие поля:

  • Параметр - тип параметра, в настоящее время только "Сопоставление периодов";
  • Исходный период - период, который необходимо заменить;
  • Заменить на - период, на который будет заменен исходный период при отправке команды стороннему BILLmanager;
  • Сопоставить с тарифным планом - данное сопоставление периодов будет работать только при заказе услуг по указанному тарифу;
  • Тип продукта - выберите тип продукта, к которому относится тарифный план;
  • Тарифный план - тарифный план, для которого будет использоваться данное сопоставление периодов.

Проблемы и решения

Если по какой-то причине дата окончания действия услуги в биллингах не совпадает, то изменить дату можно в базе данных с помощью запроса:

update item set expiredate="2016-04-27" where id=9304;

где 2016-04-27 - дата окончания действия услуги в стороннем биллинге. 9304 - код услуги в вашем биллинге (не стороннем).

Импорт услуг

Начиная с версии 5.158 появилась возможность импортировать услуги из BILLmanager. В списке обработчиков выберите BILLmanager с которого нужно импортировать услуги. Нажмите кнопку "Импорт". Вы попадете в список услуг которые можно импортировать. Чтобы загрузить в список, нажмите кнопку "Загрузить" и выберите интересующий тип продукта. В строке поиска можно ввести часть наименования услуги, чтобы загрузились только услуги по маске. Загрузка производится в фоновом режиме. После появления услуг в списке, их можно назначить клиентам. Выберите услугу и нажмите кнопку назначить. Если в биллинге еще нет соответствующего тарифного плана, то вам будет предложено его тут же импортировать. После импорта можно будет выбрать клиента которому нужно назначить услугу.

Импорт услуг

Типы услуг поддерживающие импорт:

  • Виртуальный сервер
  • Выделенный сервер
  • Хостинг
  • Лицензии ISPsystem

Если услуга уже есть в BILLmanager, то назначить такую услугу не получится. Условие для сравнения услуг - IP-адрес, идентификатор в панели управления или имя пользователя. Зависит от типа услуги.