====== OllTV ======
{{:olltvlogo.png?direct&300|}}
Модуль складається з купки взаємопов'язаних частин, і призначений для управління і тарифікації підписок користувачів на сервісі [[https://oll.tv/|OllTV]]. Модуль підтримує помісячну модель нарахування АП і реалізує на даний момент тільки мінімально-необхідний функціонал по взаємодії з користувачами.
====== Базова конфігурація Ubilling ======
Усе тривіально і максимально прямолінійно. У [[alteriniconf|alter.ini]] заповнюємо такі опції:
; Чи увімкнений сервіс OllTV?
OLLTV_ENABLED=1
; Ваш партнерський логін
OLLTV_LOGIN="yourpartnerlogin"
; Ну і власне пароль до нього
OLLTV_PASSWORD="verysecretpassword"
; Домен для генерації псевдо-email-ів. Вони будуть використовуватися під час реєстрації користувачів у разі якщо в останніх,
;не заповнене поле Email у профілі. Ми знаємо що воно у вас не заповнене :)
OLLTV_DOMAIN="yourispdomain.com"
; Режим налагодження модуля. Може бути корисним на етапі запуску і тестування послуги. Лог взаємодії з API пишеться в exports/olltv.log
OLLTV_DEBUG=0
Тарифікація і ввімкнення/вимкнення підписок здійснюється за допомогою такого періодичного виклику [[remoteapi|RemoteAPI]]:
10 1 1 * * /bin/ubapi "olltvchargefee"
Як не складно помітити, olltvchargefee спочатку здійснює зняття АП за всіма активними підписками. У разі якщо на рахунку абонента може утворитися заборгованість після нарахування АП всіх його активних підписок, або він був заморожений, підписка абонента буде деактивована. Наразі передбачається, що після того як абонент поповнить свій рахунок на суму, достатню для нарахування АП, він зможе відразу ж мануально активувати всі свої послуги. У момент активації послуг буде примусово проведено нарахування АП за кожною з них.
====== Конфігурація кабінету користувача ======
З точки зору [[userstats|кабінету]] - все ще простіше. (так, взаємодія з API_URL і API_KEY тут есенціальна)
;Чи увімкнено сервіс OllTV у кабінеті?
OLLTV_ENABLED=1
;URL до вашого працюючого Ubilling для здійснення взаємодії по RemoteAPI
API_URL="http://billing.isp/"
;Серійний номер вашого працюючого Ubilling
API_KEY="UBxxxxxxxxxxxxxxxxx"
====== А що далі? ======
1. Йдемо у відповідний модуль
{{:olltv0.png?direct|}}
2. Тикаємо по довіднику тарифів
{{:olltv1.png?direct|}}
3. Заповнюємо наші тарифи за допомогою відповідної форми
{{:olltv2.png?direct|}}
4. Радіємо результату
{{:olltv3.png?direct|}}
Ось власне і все. Далі можна користуватися.
====== З боку користувача ======
При відвідуванні [[userstats|Кабінету користувача]] останній тепер зможе ознайомитися з раніше заповненими вами тарифами (вони тут "підписки")
{{:olltv5.png?direct|}}
І можливо навіть підписатися на одну або кілька з них.
{{:olltv6.png?direct|}}
ось приблизно так
{{:olltv7.png?direct|}}
При активації основної підписки, у користувача з'являється можливість скористатися також додатковими пакетами:
{{:olltv8.png?direct|}}
а ще кажуть, що любов за гроші не купиш :Р
Далі користувач може авторизуватися на сайті браузером або якимось своїм пристроєм (приставкою, телефоном, телевізором, планшетом, кавомолкою) за допомогою свого основного номера мобільного телефону і свіжогенерованого коду, який він отримав при оформленні підписки. Якось так:
{{:olltv9.png?direct|}}
і одразу почати переглядати цікавий контент доступний за його підпискою
{{:olltv11.png?direct|}}
Для нас же підписка цього користувача буде виглядати наступним чином:
{{:olltv12.png?direct|}}
також ми можемо зі свого боку активувати/дезактивувати його послугу (читай заморозка) і примусово змінювати йому підписки.
{{:olltv13.png?direct|}}
====== Трохи про специфічні штуки ======
Традиційно для Ubilling, при включенні користувачем підписки з його рахунку буде счарджена повна вартість підписки, що включається. При відключенні підписки користувачем вона саме що "відключається", а не "призупиняється". Відповідно, на даний момент у нього відлітають всі його пристрої. Також наразі є проблема того, що додаткова підписка тягне із собою у вальхаллу також і основну, тож кнопка "відписатися" у них виходить наразі типу "спільної". У майбутньому, якщо модуль зайде більш ніж трьом з половиною людям, цей артефакт може бути виправлений... а може й ні ;) Також наразі існує функціональне обмеження на кшталт "по одній підписці в одні руки", а саме одному користувачеві в один момент часу може бути пригвинчено одну основну підписку (що логічно) та одну, додаткову, опціонально, що, власне, і є артефактом. Також примусово і не відключається на даний момент, здійснюється захист користувача від його бідності. Виливається це в те, що він фізично не має можливості підписатися на тариф, на який у нього на рахунку недостатньо коштів:
{{:olltv14.png?direct|}}
а також у разі якщо на момент виклику **olltvchargefee** з [[remoteapi|Remote API]] сума коштів на його рахунку не достатня, щоб їх счарджити, деактивовані будуть всі його підписки. Ось якось ось так:
{{:olltv15.png?direct|}}
Щоб продовжити використання послуги, від користувача вимагається, щоб він поповнив рахунок на достатню для продовження всіх його підписок суму, після чого власноруч відновив її дію
{{:olltv16.png?direct|}}
Після чого з нього буде стягнуто вартість усіх його наявних підписок, а також активовано сервіс (ми ж пам'ятаємо, що якщо у нього було недостатньо грошей, то ми просто призупинили його послугу раніше?).
При поновленні підписки, всі пристрої користувача залишаються на місці. Власне в цьому всьому комплексі заходів і полягає захист користувача від нього самого, так і вас від нього ж. Також це, як показує практика, мінімізує кількість звернень з "а я не очікував, що з мене зніме грошей!" і "я поповнював рахунок для інтернету, а не для телевізора!". У будь-якому разі нагородити, якийсь автоматичний воркер, що автоматично воскрешає вам користувачів і генерує драму - розвага на 20 хвилин. Подивимося, чи потрібно буде це комусь у майбутньому.