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

30.07.2020

3мин. чтения

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

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

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


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

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

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


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

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


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

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

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


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

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


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

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

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