Лицензирование¶
Система лицензирования ограничивает использование ресурсов, является внутренней частью системы и работает автоматически.
Каждая лицензия привязана к конкретному объекту функционального решения в системе и ограничивает:
- доступность работы по кадрам
- доступность работы по видеопотоку
- количество активных процессингов
Кроме того, каждая лицензия может иметь период активности и заданный на уровне системы перечень организаций, которым она доступна.
В случае превышения заданных в лицензии лимитов часть процессингов будет автоматически отключена с указанием соотвествующей причины в поле статуса.
Привязка лицензии к организациям¶
Существует два взаимоисключающих способа привязки лицензии к конкретным организациям - на уровне системы и на уровне платформы через 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
}
}
}