Как в Flussonic Watcher устроена интеграция с нашим биллингом

30.07.2020

3мин. чтения

Мы уже рассказывали о том, как создали собственный биллинг для нашего облака видеонаблюдения. Клиенты, которые выбирают наш биллинг, а не свой в рамках предоставления услуги видеонаблюдения, часто интересуются, как именно устроена интеграция между Flussonic Watcher и биллингом и что реализовывается в её рамках. В этой статье мы хотим простыми словами рассказать об этом на примере основных операций биллинга.

Один из ключевых вопросов, на который мы отвечали в процессе разработки - какая функциональность должна быть доступна пользователю в самом биллинге? Мы обозначили такую грань - в биллинге должно происходить решение всех денежных вопросов, а в самом Flussonic Watcher решаются вопросы, относящиеся непосредственно к камерам. Исходя из этого утверждения, мы согласовали чёткий план архитектуры, которая предполагает двусторонний обмен данными между биллингом и Watcher (которое происходит посредством нашего открытого API).

Создание тарифа


Ранее мы рассказывали, что тариф формируется из настроек, которые именуются в нашем биллинге “услугами”. Услугой может быть, например, длительность записи непрерывного архива, запись архива по событиям, возможность включения видеоаналитики. Каждая услуга имеет свою стоимость.

Биллинг получает из Watcher параметры настроек камер, и далее Администратор создает тариф из услуг (например, “7 дней непрерывной записи с дополнительными 7 днями записи по событиям и опцией аналитики распознавания лиц” стоимостью в 1500 рублей). Коммерческие условия тарифа остаются в биллинге, а в Watcher биллинг отправляет комбинацию настроек, которая выставляется на камере при применении данного тарифа (пресет).

Создание пользователя


Администратор биллинга имеет возможность создавать нового пользователя и предоставлять ему определённые права доступа. Эти права дублируются, то есть по одному и тому же логину и паролю пользователь может авторизоваться и в Watcher, и в биллинге.

Создание Организации


Организация в биллинге и Watcher - это логическая сущность, под которой понимается личный кабинент абонента. Изначально он проектировался для того, чтобы сделать в биллинге возможность иерархии, когда есть одна головная Организация и несколько дочерних. Аналогично разделу пользователей, список Организаций дублируется и в Watcher, и в биллинге. В момент создания Организации, привязывается Администратор, который будет отвечать за взаиморасчёты.

Важно то, что создать Организацию можно только в биллинге, напрямую в Watcher этого сделать нельзя. Это связано как раз с тем, что все денежные операции должны относиться к биллингу, а создание Организации подразумевает возможность для абонента подключить камеры, за которые он должен платить. Кроме того, при создании Организации в биллинге указывается список доступных тарифов.

Добавление камеры


Процедура добавления камеры происходит в Watcher. Информация о добавленной камере и примененном к ней тарифу добавляется в Access log (список системных событий) Watcher. При этом Администратор биллинга не имеет прямого доступа к камерам пользователя и видео с них - эта информация защищена и доступна только пользователю. Администратору будет доступно только количество камер, отсортированное по тарифам, и итоговая стоимость использования сервиса за отчетный период.

Создание счета на оплату


Биллинг выполняет ряд запросов к Watcher, чтобы получить статистическую информацию о количестве подключенных камер к организации абонента и информацию, необходимую для формирования счёта согласно выставленному тарифу.

Вот краткое представление о том, как работает интеграция нашего биллинга с Flussonic Watcher. Весь процесс интеграции у нас занял около трёх месяцев, это был долгий и тернистый путь, и сейчас мы готовы делиться полученным опытом с нашими клиентами.

Автор:
Максим Лапшин
CTO и основатель Flussonic
Профессионал в области разработки высоконагруженных систем. Лауреат премии HighLoad ++
Ключевые слова:
Watcher Биллинг