Skip to content

Интеграция биллинга VSAAS.IO и облачного сервиса видеонаблюдения cloud.vsaas.io

Из этой статьи вы узнаете как оператору связи внедрить интегрировать биллинг VSAAS.IO с облачным сервисом видеонаблюдения cloud.vsaas.io, чтобы продавать камеры по подписке и рассчитывать стоимость пользования сервисом абонентами.

Как оператор, выполните следующее:

  1. Зарегистрируйте учётную запись в VSAAS.IO.
  2. Посмотрите типичные сценарии использования биллинга и облачного Watcher.
    1. Создать тариф.
    2. Создать организацию со списком доступных тарифов.
    3. Создать пользователя с правами для чтения.
    4. Создать пользователя для редактирования камеры.
    5. Удалить пользователя с правами на редактирование камер.
    6. Добавить тарифы в существующую организацию.
    7. Изменить тариф по умолчанию.
    8. Отключить камеру.

Глоссарий

  • Оператор связи — клиент компании Эрливидео, который арендует сервисы биллинга и облачного видеонаблюдения.

  • Абонент — клиент оператора связи, пользователь сервиса облачного видеонаблюдения cloud.vsaas.io.

  • Пресет — набор параметров DVR и аналитики, который можно применять как шаблон при добавлении и настройке камер в cloud.vsaas.io. Пресеты соответствуют тарифам в биллинге VSAAS.IO, поэтому они настраиваются перед добавлением камер.

  • VSAAS.IO (my.vsaas.io) — сервис биллинга, отвечающий за определение тарифов на услуги оператора связи и взимание денег с абонентов за пользование cloud.vsaas.io. Пользователи в VSAAS.IO — это Администраторы и бухгалтеры, которые собирают информацию о том, кто, сколько денег и кому должен.

  • cloud.vsaas.io — облачный сервис видеонаблюдения Flussonic Watcher, услугами которого пользуются абоненты. В cloud.vsaas.io определяются все технические возможности сервиса видеонаблюдения: управление учётными записями абонентов и монтажников, камерами и их настройками, наполнением тарифных планов.

Особенности VSAAS.IO и cloud.vsaas.io

VSAAS.IO и cloud.vsaas.io — разные структуры. VSAAS.IO общается с cloud.vsaas.io, но не наоборот. Это значит, что из cloud.vsaas.io вы не получите информацию о биллинге. VSAAS.IO отвечает за тарифы и счета, а cloud.vsaas.io за камеры. Для VSAAS.IO и cloud.vsaas.io есть свой API. Часть методов доступна в VSAAS.IO (my.vsaas.io), но недоступна в cloud.vsaas.io и наоборот. Например, в VSAAS.IO (my.vsaas.io) вы можете создать или изменить организацию, а в cloud.vsaas.io только получить данные об организации.

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

Подробнее о работе с биллингом VSAAS.IO, см. Биллинг облачного сервиса VSAAS.IO

Регистрация оператора в VSAAS.IO

Аккаунт на VSAAS.IO нужен для настройки тарифов и выставления счетов абонентам. Мы создаем учетные записи по запросу, напишите нам письмо, указав имя вашей организации. Мы предоставим вам домен вида YOURNAME.vsaas.io, либо обсудим возможность привязки вашего домена.

В дальнейшем мы сможете заходить напрямую в личный кабинет, используя email, с которого прислали запрос.

Типичные сценарии использования биллинга и облачного Watcher

В этом разделе приведены сценарии использования биллинга VSAAS.IO и облачного сервиса видеонаблюдения cloud.vsaas.io.

Warning

my.vsaas.io и cloud.vsaas.io работают с API версий 1 и 2 соответственно. Мы планируем перевести их на API версии 3, чтобы достичь единого формата и версии API среди всех продуктов экосистемы Flussonic. Об этих и других изменениях вы можете узнать из блога.

Создать тариф

  1. Зайдите в учётную запись Администратора на my.vsass.io.

  2. Создайте тариф, перейдя на вкладку BILLING PLANS и нажав CREATE NEW BILLING PLAN. Заполните форму добавления нового тарифа и нажмите SAVE, чтобы сохранить тариф. Добавленный тариф вместе с датой начала его действия будет отображаться в списке тарифов на вкладке BILLING PLANS.

  3. Посмотрите ID тарифа, вызвав метод GET https://my.vsaas.io/api/v1/tariff_plans. Тарифу присваивается два разных ID: один для my.vsaas.io — id, второй для cloud.vsaas.io — external_id. Используйте этот метод для маппинга в CRM.

Создать организацию со списком доступных тарифов

  1. Создайте организацию, вызвав метод API my.vsaas.io POST https://my.vsaas.io/api/v1/organizations и укажите владельца домена (owner) со списком требуемых тарифов. Этот метод создаёт организацию сразу в биллинге (my.vsaas.io) и облачном Watcher (cloud.vsaas.io), присваивая ей два разных ID: один для my.vsaas.io — id, второй для cloud.vsaas.io — external_id.

Создать пользователя с правами для чтения

Обращение только к облачному Watcher (cloud.vsaas.io).

  1. Создайте пользователя, вызвав метод API cloud.vsaas.io POST /vsaas/api/v2/users.

  2. Подключите пользователя к нужной организации, вызвав метод API cloud.vsaas.io POST /vsaas/api/v2/organizations/ORGANIZATION-ID/users. Узнать ID организации можно с помощью метода получения списка организаций GET /vsaas/api/v2/organizations.

  3. Узнайте ID папки с камерами с помощью метода API cloud.vsaas.io для получения списка папок организации GET vsaas/api/v2/organizations/ORGANIZATION-ID/folders.

  4. Предоставьте права в папках нужной организации пользователю, вызвав метод API cloud.vsaas.io POST /vsaas/api/v2/organizations/ORGANIZATION-ID/folders/FOLDER-ID/users.

  5. Удалите пользователя из организации по умолчанию, вызвав метод API cloud.vsaas.io DELETE /vsaas/api/v2/organizations/ORGANIZATION-ID/users/USER-ID. Теперь абонент прикреплён только к нужной организации.

Создать пользователя для редактирования камеры

В качестве пользователя с правами редактирования камеры может выступать монтажник.

Обращение только к облачному Watcher (cloud.vsaas.io).

Note

Создание пользователя для редактирования камер отличается от создания пользователя с правами для чтения (абонент) тем, что при подключении пользователя к организации пользователю выдаются особые права на редактирование камер (см. п. 2).

  1. Создайте пользователя, вызвав метод API cloud.vsaas.io POST /vsaas/api/v2/users.

  2. Подключите пользователя с особыми правами на добавление камер: "can_edit_organization_cameras": true к организации. Для этого вызовите метод API cloud.vsaas.io POST /vsaas/api/v2/organizations/ORGANIZATION-ID/users. Узнать ID организации можно с помощью метода получения списка организаций GET /vsaas/api/v2/organizations.

  3. Узнайте ID папки с камерами с помощью метода API cloud.vsaas.io для получения списка папок организации GET vsaas/api/v2/organizations/ORGANIZATION-ID/folders.

  4. Предоставьте права в папках нужной организации пользователю, вызвав метод API cloud.vsaas.io POST /vsaas/api/v2/organizations/ORGANIZATION-ID/folders/FOLDER-ID/users.

  5. Удалите пользователя из организации по умолчанию, вызвав метод API cloud.vsaas.io DELETE /vsaas/api/v2/organizations/ORGANIZATION-ID/users/USER-ID. Теперь абонент прикреплён только к нужной организации.

Удалить пользователя с правами на редактирование камер

Удалите пользователя с особыми правами на редактирование камер (монтажника) с помощью метода API cloud.vsaas.io DELETE '/vsaas/api/v2/users/USER-ID.

Добавить тарифы в существующую организацию

Обновите тарифы организации с помощью метода API my.vsaas.io PUT /organizations/ORGANIZATION-ID.

Изменить тариф по умолчанию

  1. Зайдите в учётную запись Администратора на my.vsass.io.

  2. Создайте тариф, перейдя на вкладку BILLING PLANS и нажав CREATE NEW BILLING PLAN. Заполните форму добавления нового тарифа и поставьте галочку напротив Apply to Organisations by default.

  3. Сохраните тариф, нажав SAVE. Добавленный тариф вместе с датой начала его действия будет отображаться в списке тарифов на вкладке BILLING PLANS и иметь YES в столбце Default.

Предыдущий тариф по умолчанию перейдёт в разряд обычных тарифов, потому что тариф по умолчанию может быть только один.

Отключить камеру

Есть два способа:

  • Через веб-интерфейс VSAAS.IO.

    1. Зайдите в учётную запись Администратора в cloud.vsaas.io.
    2. Перейдите на вкладку Мои камеры.
    3. Нажмите на настройки нужной камеры (шестерёнка), найдите раздел ДОПОЛНИТЕЛЬНЫЕ НАСТРОЙКИ и уберите галочку напротив Включена.
    4. Сохраните настройки, нажав Сохранить либо сочетание клавиш Ctrl+S.
  • С помощью API cloud.vsaas.io.

    Используйте метод PUT vsaas/api/v2/cameras/OBJECT-ID.

VSAAS.IO API

API v1 для работы с биллингом VSAAS.IO.

Авторизация

Только владелец и Администратор домена могут делать запросы к VSAAS.IO API.

Все запросы к VSAAS.IO API требуют авторизацию:

  • по логину (X-USER: ADMIN-EMAIL-ADDRESS),
  • паролю (X-PASSWORD: ADMIN-PASSWORD),
  • ID домена (X-DOMAIN-ID: 000). Узнайте ID домена у вашего менеджера.

Тарифы

Управление тарифами в my.vsaas.io.

Получить список всех доступных тарифов

Пример ответа:

Организации

Управление организациями в my.vsaas.io.

Получить список всех доступных организаций или данные о конкретной организации

Пример ответа:

Добавить организацию с тарифами и без тарифов

В результате выполнения этого вызова организация создаётся сразу в VSAAS.IO и cloud.vsaas.io с тарифом по умолчанию Default.

, где:

  • (обязательный) title — название организации,
  • (обязательный) owner — адрес электронной почты владельца организации. Может быть как существующий, так и произвольный. Если вы указываете произвольный адрес, то будет создан новый пользователь и на указанный адрес придёт письмо с запросом подтверждения и ввода пароля пользователя.
  • tariff_plans — список ID тарифов. Вы можете узнать ID тарифа, получив список всех доступных тарифов.

Пример ответа:

Изменить тарифы существующей организации

  • (обязательный) ORGANIZATION-ID — ID организации,
  • tariff_plans — список ID тарифов. Вы можете узнать ID тарифа, получив список всех доступных тарифов. Если вы передадите пустой список, то у организации удалятся все тарифы, кроме тарифа по умолчанию.

Пример ответа:

Удалить существующую организацию

, где ORGANIZATION-ID — ID организации для удаления.

Ответ: 204 без тела.

cloud.vsaas.io API

API v2 для работы с сервисом облачного видеонаблюдения cloud.vsaas.io.

В cloud.vsaas.io вы можете настроить для пользователей следующие права:

  • редактировать камеры организации ("can_edit_organization_cameras"),
  • редактировать пользователей организации ("can_edit_organization_users"),
  • редактировать организации ("can_edit_organizations"),
  • просматривать камеры,
  • просматривать статистику просмотров камер по организации ("can_view_organization_stats").

Авторизация

Только владелец и Администратор организации могут делать запросы к cloud.vsaas.io API.

Все запросы к cloud.vsaas.io API требуют авторизацию по ключу API Администратора (x-vsaas-api-key: VSAAS-ADMIN-API-KEY). API-ключ Администратора вы можете скопировать из веб-интерфейса cloud.vsaas.io: Админ > Настройки > ОБЩИЕ НАСТРОЙКИ > Ключ API.

Камеры

Управление камерами в cloud.vsaas.io.

Получить список всех камер и их данных в домене

, где YOUR-DOMAIN-NAME — имя домена.

Пример ответа:

Note

В ответе возвращается ID пресета, но не возвращается ID тарифа, определённого в биллинге. Это значит, что вам нужно сравнивать ID пресета с ID тарифа на вашей стороне.

Получить данные о конкретной камере

, где:

Ответ будет тот же, что и у списка камер, но в виде одного объекта, а не списка.

Получить список всех камер и их данных для организации

, где:

Пример ответа:

Поменять тариф для камеры

, где:

Пример ответа:

Отключить камеру

, где:

Пример ответа:

Включить камеру

, где:

Пример ответа:

Пользователи

Управление пользователями в cloud.vsaas.io.

Получить список всех пользователей

, где YOUR-DOMAIN-NAME — имя домена.

Пример ответа:

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

, где:

  • login — уникальный логин пользователя.
  • password — пароль, задаваемый для пользователя.

Пример ответа:

Новый пользователь автоматически привязывается к организации по умолчанию Unassigned cameras.

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

, где YOUR-DOMAIN-NAME — имя домена.

Ответ:

Организации

Управление организациями в cloud.vsaas.io.

Получить список всех организаций

, где YOUR-DOMAIN-NAME — имя домена.

Пример ответа:

Получить список всех доступных тарифов для организации

, где:

Пример ответа:

Пользователи в организации

Управление пользователями в организации в cloud.vsaas.io.

Получить список всех пользователей организации

, где:

Пример ответа:

Подключить пользователя с правами для чтения к конкретной организации

, где:

Пример ответа:

У пользователя нет никаких прав, даже права смотреть камеры: "folders_permissions": [].

Подключить пользователя с правами для редактирования камер к конкретной организации

, где:

Пример ответа:

У пользователя нет права смотреть камеры: "folders_permissions": [].

Удалить пользователей из организации по умолчанию

, где:

Ответ:

Папки в организациях

Управление папками в организациях в cloud.vsaas.io.

Получить список всех папок в конкретной организации

Все камеры находятся в какой-то папке, то есть нет камер вне папок. При создании организации создаётся папка по умолчанию Cameras.

, где:

Пример ответа:

Предоставить права для пользователей в конкретной папке организации

, где:

  • YOUR-DOMAIN-NAME — имя домена,
  • ORGANIZATION-ID — ID организации, присваиваемый при создании организации.
  • FOLDER-ID — ID папки с камерами.

Пример ответа: