Перейти к содержанию

Лицензирование

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

Каждая лицензия привязана к конкретному объекту функционального решения в системе и ограничивает:

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

Кроме того, каждая лицензия может иметь период активности и заданный на уровне системы перечень организаций, которым она доступна.

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

Привязка лицензии к организациям

Существует два взаимоисключающих способа привязки лицензии к конкретным организациям - на уровне системы и на уровне платформы через API.

Привязка на уровне системы

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

Привязка в API

Управление перечнем организаций через API, возможно только в том случае, если у объекта лицензии org_ids имеет значение null. В противном случае в ответе вернется ошибка LICENSE_CANNOT_BE_SHARED.

В настоящий момент управление списком доступных организаций доступно в API:

  • PUT /v1/main-api/license/{license_id}/share - полностью заменяет имеющийся в лицензии перечень тем, что передан в запросе;
  • DELETE /v1/main-api/license/{license_id}/share - удаляет из перечня переданные в запросе организации (если переданная организация отсутствует в перечне - ошибки не вернется);
  • PATCH /v1/main-api/license/{license_id}/share - добавляет к лицензии переданные в запросе организации (если переданная организация уже присутствует в перечне - повторного добавления не произойдет).

Статистика по использованию лицензий

Получение статистки по одной или нескольким лицензиям доступно в API платформы:

  • GET /v1/main-api/license/stats/{license_id} - получение статистики по конкретной лицензии;
  • GET /v1/main-api/license/stats - получение статистики по всем лицензиям.

Объект статистики содержит исчерпывающую информацию по использованию лицензии:

{
  "id": "test_lic",
  "fs_id": "object_counter",
  "prc_allowed_total": 10000,
  "prc_available": 9989,
  "prc_used": {
    "total": 11,
    "shot": 11,
    "stream": 0
  },
  "prc_status": {
    "shot": {
      "disabled_by_user": 18,
      "active": 11,
      "license_expired": 0,
      "license_processings_quota_exceeded": 0,
      "license_shot_mode_removed": 0,
      "license_stream_mode_removed": 0,
      "license_not_available": 0,
      "license_not_exist": 0,
      "license_fs_changed": 0,
      "license_is_empty": 0,
      "organisation_not_found": 0,
      "fs_not_found": 0,
      "camera_not_found": 0,
      "fs_access_denied": 0,
      "camera_access_denied": 0,
      "organization_inactive": 0,
      "fs_disabled": 0,
      "camera_disabled": 0
    },
    "stream": {
      "disabled_by_user": 0,
      "active": 0,
      "license_expired": 0,
      "license_processings_quota_exceeded": 0,
      "license_shot_mode_removed": 0,
      "license_stream_mode_removed": 0,
      "license_not_available": 0,
      "license_not_exist": 0,
      "license_fs_changed": 0,
      "license_is_empty": 0,
      "organisation_not_found": 0,
      "fs_not_found": 0,
      "camera_not_found": 0,
      "fs_access_denied": 0,
      "camera_access_denied": 0,
      "organization_inactive": 0,
      "fs_disabled": 0,
      "camera_disabled": 0
    }
  }
}