Commpass (commpass.tv, ТИТВ)
Интеграция с Commpass API представлена в виде отрытого кода (динамические классы).
При интеграции с системой Commpass используется единый тариф MW, продукты модуля являются подключаемыми подписками MW.
Создайте конфигурацию модуля и сделайте ее активной:
# Активные и приостановленные статусы договора
contract.status.active.codes=
0
contract.status.suspend.codes=
3
,
4
# Id сущностей (Справочники - Атрибуты) для продукта, сервиса и канала,
# для привязки атрибутов к продуктам, сервисам и каналам
#productSpec.entitySpecId=
#serviceSpec.entitySpecId=
#tvChannelSpec.entitySpecId=
#Пункты Web - меню
web.menuItem1=
TV
подписки
# Параметры автоматической генерации логина для аккаунта. Можно указать в конфигурации модуля, конфигурации устройства, конфигурации типа сервиса
# (в последнем случае значения будут главнее):
# минимальное значение логина при генерации логина
account.login.min=
10000001
# максимальное значение логина при генерации логина (т.е. если в базе присутствуют логины 1,2,3 и 10000000,
# то при генерации создастся логин 4, а не 10000001)
account.login.max=
99999999
# форматирование генерируемого логина
#account.login.format=0000000
# Параметры пароля для аккаунта. Можно указать в конфигурации модуля, конфигурации устройства, конфигурации типа сервиса
# (в последнем случае значения будут главнее):
# минимальная длина пароля
account.password.length.min=
4
# Максимальная длина пароля
account.password.length.max=
8
# Разрешенные символы (используются также при генерации пароля)
account.password.chars=1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
# Описание разрешенных символов, если пользователь ввел другие
account.password.chars.description=В пароле допустимы только цифры и латинские буквы.
# Длина для автоматически генерируемого пароля
account.password.length.auto=
6
# Используемые символы для автоматически генерируемого пароля (по умолчанию значение берется из параметра account.password.chars)
#account.password.chars.auto=
# ID типа устройства - Commpass
om.commpass.deviceTypeIds=
Необходимо создать новый тип устройства, назвать его, например, Access+Accounting - данный тип устройства будет отражать приложения TvAccess и TvAccounting.
Далее создайте новый тип устройства, назовите его, например, Commpass и добавьте конфигурацию:
# Коды параметров договора для заполнения полей в Middleware
#customer.lastName.pid=
#customer.firstName.pid=
#customer.middleName.pid=
# Режим синхронизации продуктов (0 - по событию, 1 - по событию, полная)
om.product.syncMode=
1
# уровень интеграции, 0 - интеграция на уровне продуктов модуля, 1 - интеграция на уровне сервисов модуля
#om.product.serviceMode=0
# ID типа аккаунта - STB
om.terminal.tvAccountSpecId=
Выберите в поле OrderManager динамический класс ru.bitel.bgbilling.modules.tv.dyn.commpasstv.CommpassOrderManager (чтобы его можно было выбрать, данный дин. класс должен быть скомпилирован через вкладку Управление динамическим кодом).
Укажите ID только что созданного типа устройства в конфигурации модуля, в параметре om.commpass.deviceTypeIds.
Создайте устройство типа Access+Accounting и укажите конфигурацию:
# Обработка/обсчет
# кол-во потоков в обработчике
accounting.worker.
1
.thread.count=
1
# пауза перед следующим выполнением
accounting.worker.
1
.tracking.account.
1
.delay=
60
# максимальное кол-во обработанных аккаунтов в одном выполнении
accounting.worker.
1
.tracking.account.
1
.batchSize=
500
# пауза перед следующим выполнением
accounting.worker.
1
.tracking.event.
1
.delay=
10
# максимальное кол-во обработанных аккаунтов в одном выполнении
accounting.worker.
1
.tracking.event.
1
.batchSize=
100
# Синхронизация
# кол-во выполняемых задач в одном блоке
om.batch.size=
20
# время ожидания завершения future задач
om.batch.pause=
0
# время ожидания завершения future задач
om.batch.wait=
5
# время ожидания следующей задачи перед закрытием соединения
om.batch.waitNext=
5
# пауза после ошибки
om.error.pause=
60
# кол-во попыток с ошибкой перед тем как отложить задачу
om.error.redelivery.count=
5
# кол-во попыток с ошибкой после которого отправить оповещение
om.error.alarm.count=
20
# таймаут задания, выполняющегося с ошибкой
om.error.redelivery.timeout=
86400
Данное устройство будет отражать приложения TVAccess и TVAccounting.
Создайте дочернее к предыдущему устройству устройство типа Commpass, укажите хост подключения, логин и пароль.
Добавьте тип аккаунта "Аккаунт", укажите в его конфигурации ID только что добавленного устройства Commpass:
# автоматически привязываем к устройству Commpass
const.device.id=
# шаблон названия
title.pattern=Аккаунт (${login})
Добавьте тип аккаунта "STB", установите галочку MAC-адрес, на вкладке "Родительские типы" установите галочку на типе аккаунта "Аккаунт", в конфигурации укажите:
# автоматически привязываем к устройству Commpass
const.device.id=
# шаблон названия
title.pattern=
STB
: (${macAddress})
Укажите ID только что добавленного типа аккаунта в конфигурации типа устройства Commpass в параметре om.terminal.tvAccountSpecId.
Теперь необходимо создать Продукты - они будут отражать пакеты системы Commpass. Поле Название - это название, с которым данный продукт будет отображаться в биллинге. Поле Идентификатор - идентификатор пакета системы Commpass (поле "id"). Список и id доступных пакетов можно посмотреть запросом https://api.commpass.tv/rest/package.
Чтобы абонент мог активировать Продукт (тем самым активируя подписку в Commpass) необходимо, чтобы в продукте был задан хотя бы один режим активации. Далее от выбранного режима активации может зависеть режим тарификации.
При регистрации приставки в системе Commpass не приходит какое-либо уведомление в биллинг. Поэтому для синхронизации информации о терминалах нужно создать отдельную задачу. Для этого нужно добавить глобальный скрипт поведения (Сервис - Автоматизация - Глобальные скрипты поведения), выбрав класс ru.bitel.bgbilling.modules.tv.dyn.commpasstv.CommpassTerminalSynchronizingTask, далее добавить задачу в планировщик "Выполнение глобальных скриптов по таймеру".