На странице:

Получение всех событий за заданный интервал

{
    "method": "axxonsoft.bl.events.EventHistoryService.ReadEvents",
    "data": {
        "range": {
            "begin_time": "20200225T125548.340",
            "end_time": "20200225T130548.341"
        },
        "limit": 30,
        "offset": 0,
		"descending": false
    }
}

где:

  • descending – сортировка событий: если = false, то события будут отсортированы по возрастанию времени. Если true, то по убыванию.
  • limitмаксимальное количество событий в ответе.

Получение событий по фильтру

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

  • type – тип события, актуальные типы событий приведены в файле ITV\bl\events.proto;
  • subjects – источник события (сервер, устройство, архив, детектор и т.д.);
  • values – точное значение события;
  • texts – неполное описание события.

Получение событий об изменении статуса конкретной камеры

{
    "method": "axxonsoft.bl.events.EventHistoryService.ReadEvents",
    "data": {
        "range": {
            "begin_time": "20200225T152806.572",
            "end_time": "20200225T153806.572"
        },
        "filters": {
            "filters": [
                {
                    "type": "ET_IpDeviceStateChangedEvent",
                    "subjects": "hosts/Server1/DeviceIpint.10"
                }
            ]
        },
        "limit": 300,
        "offset": 0,
		"descending": false
    }
}

Получение событий об отключении всех камер

{
    "method": "axxonsoft.bl.events.EventHistoryService.ReadEvents",
    "data": {
        "range": {
            "begin_time": "20200226T074425.274",
            "end_time": "20200226T075425.274"
        },
        "filters": {
            "filters": [
                {
                    "type": "ET_IpDeviceStateChangedEvent",
                    "values": "IPDS_DISCONNECTED"
                }
            ]
        },
        "limit": 300,
        "offset": 0,
		"descending": false
    }
}

Получение событий по всем детекторам распознавания номеров домена

{
    "method": "axxonsoft.bl.events.EventHistoryService.ReadEvents",
    "data": {
        "range": {
            "begin_time": "20211020T120000.000",
            "end_time": "20211020T200000.000"
        },
        "filters": {
            "filters": [
                {
                    "type": "ET_DetectorEvent",
                    "values": "DG_LPR_DETECTOR"
                }
            ]
        },
        "limit": 10000,
        "descending": true
    }
}

Поиск по тексту в событии

В фильтре задается субъект и текст события.

Поиск по конкретной камере всех событий, в которых есть слово FOOD (лимит в 10 событий)

{
    "method": "axxonsoft.bl.events.EventHistoryService.ReadTextEvents",
    "data": {
        "range": {
            "begin_time": "20231030T014305.137",
            "end_time": "20231030T232305.137"
        },
        "filters": {
            "filters": [
                {
                    "subjects": "hosts/Server/DeviceIpint.7/SourceEndpoint.video:0:0",
                    "filter_containing_text_parts": false,
                    "texts": "FOOD"
                }
            ]
        },
        "limit":10,
        "offset":0,
        "descending": false
    }
}

где:

  • range – период времени, за который будут приходить события от источника событий;
  • subjects – источник события (сервер, устройство, архив, детектор и т.д.);
  • filter_containing_text_parts – логическое значение: если = true, то возвращает только строку с искомым текстом, указанным в texts. Если = false, то возвращает весь чек с текстом, указанным в texts;
  • limit – максимальное количество событий в ответе;
  • descending – сортировка событий: если = false, то события будут отсортированы по возрастанию времени. Если true, то по убыванию.

Получение всех тревог

{
    "method": "axxonsoft.bl.events.EventHistoryService.ReadAlerts",
    "data": {
        "range": {
            "begin_time": "20200225T150142.437",
            "end_time": "20200225T151142.437"
        },
        "limit":100,
        "offset":0,
		"descending": false
    }
}

Примечание

Если для тревоги был задан комментарий оператора, то он будет в ответе вместе с координатами рамки.

Получение тревог по фильтру

Начало тревог по конкретной камере

{
    "method": "axxonsoft.bl.events.EventHistoryService.ReadAlerts",
    "data": {
        "range": {
            "begin_time": "20200225T150845.757",
            "end_time": "20200225T151845.758"
        },
        "filters": {
            "filters": [
                {
                    "subjects": "hosts/Server1/DeviceIpint.7/SourceEndpoint.video:0:0",
                    "values": "BEGAN"
                }
            ]
        },
        "limit":100,
        "offset":0,
		"descending": false
    }
}

Поиск событий детектора распознавания номеров

Поиск конкретного номера

{
    "method": "axxonsoft.bl.events.EventHistoryService.ReadLprEvents",
    "data": {
        "range": {
            "begin_time": "20200226T104305.137",
            "end_time": "20200226T105305.137"
        },
        "filters": {
            "filters": [
                {
                    "subjects": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0",
                    "values":"Н829МУ777"
                }
            ]
        },
        "limit":50,
        "offset":0,
		"descending": false
    }
}

Поиск по части номера

{
    "method": "axxonsoft.bl.events.EventHistoryService.ReadLprEvents",
    "data": {
        "range": {
            "begin_time": "20200226T104305.137",
            "end_time": "20200226T105305.137"
        },
        "filters": {
            "filters": [
                {
                    "subjects": "hosts/Server1/DeviceIpint.1/SourceEndpoint.video:0:0"
                }
            ]
        },
        "limit":50,
        "offset":0,
        "search_predicate":"*82*",
		"descending": false
    }
}

Подписка на получение событий

При подписке уведомления приходят по мере появления событий.

Подписка на получение событий детекторов распознавания номеров

{
    "method": "axxonsoft.bl.events.DomainNotifier.PullEvents",
    "data": { 
    	"subscription_id": "a003ed13-3b8f-4cef-a450-0199dc259h35",
    	"filters": {
                "include": [{
                    "event_type":"ET_DetectorEvent",
                    "subject":"hosts/Server1/AVDetector.1/EventSupplier"
                },
                {
                    "event_type":"ET_DetectorEvent",
                    "subject":"hosts/Server1/AVDetector.2/EventSupplier"
                },
                {
                    "event_type":"ET_DetectorEvent",
                    "subject":"hosts/Server2/AVDetector.1/EventSupplier"
                }
                ]    
        }
    }
}

где:

  • subscription_id − id подписки (задается произвольно в формате UUID; обязательный параметр);
  • event_type − тип события (необязательный параметр). Список доступных типов событий находится в файле Events.proto в перечислении EEventType.
  • subject −источник события (в данном примере детекторы; необязательный параметр).

Для получения событий при помощи подписки необходимо:

  1. Выполнить запрос с методом PullEvents, который открывает канал для передачи событий. События будут поступать в этот канал по мере их возникновения. Канал остается активным до тех пор, пока не будет выполнен запрос с методом DisconnectEventChannel, закрывающий его.
    Тело запроса с методом DisconnectEventChannel:
    {
        "method": "axxonsoft.bl.events.DomainNotifier.DisconnectEventChannel",
        "data": {
            "subscription_id": "a003ed13-3b8f-4cef-a450-0199dc259h35"
        }
    }

    Примечание

    Значение поля subscription_id в запросах не должно различаться.


Подписка на получение количества объектов, подсчитанных нейросчетчиком

Перед вызовом данного метода необходимо выполнить авторизацию с помощью Bearer токена (см. Bearer авторизация). В ответе будут получены пара значений token_name и token_value. Полученный токен необходимо использовать в метаданных gRPC-запроса.

Примечание

  • Срок жизни токена – 4 часа.
  • По истечении срока действия токен необходимо обновить.
{
    "method": "axxonsoft.bl.events.DomainNotifier.PullEvents",
    "data": {
        "subscription_id": "a003ed13-3b8f-4cef-a450-0199dc259h35",
        "filters": {
            "include": {
                    "event_type": "ET_DetectorEvent",
                    "subject" : "hosts/Server/DeviceIpint.1/SourceEndpoint.video:0:0"
            }
        }
    }
}

где:

  • subscription_id − id подписки (задается произвольно в формате UUID; обязательный параметр);
  • event_type − тип события (необязательный параметр);
  • subject − источник события (например, камера; необязательный параметр).

В ответе придет событие, в полях которого будет содержаться информация о количестве подсчитанных объектов:

"details": [
     {
      "lots_objects": {
       "object_count": 3
      }
     }
    ],

где:

  • object_count − количество объектов, подсчитанных нейросчетчиком.

Подписка на получение событий о состоянии объектов

{

    "method": "axxonsoft.bl.events.DomainNotifier.PullEvents",
    "data": {
        "subscription_id": "a003ed13-3b8f-4cef-a450-0199dc259h35",
        "filters": {
            "include": {
                "event_type": "ET_ObjectActivatedEvent",
                "subject": ""
            }
        }
    }
}

где:

  • subscription_id − id подписки (задается произвольно в формате UUID; обязательный параметр);
  • event_type − тип события (необязательный параметр);
  • subject − источник события (необязательный параметр).

В ответе придет событие, в полях которого будет информация о состоянии объектов за всё время с момента их добавления в систему:

{
   "event_type": "ET_ObjectActivatedEvent",
   "subject": "",
   "body": {
    "@type": "type.googleapis.com/axxonsoft.bl.events.ObjectActivatedEvent",
    "guid": "88c930c5-89a7-4382-a004-119a8ea56c78",
    "is_activated": true,
    "timestamp": "20221003T065757.170118",
    "object_id_ext": {
     "access_point": "hosts/Server/DeviceIpint.1/SourceEndpoint.audio:0",
     "friendly_name": "Camera"
    },

где:

  • is_activated − состояние объекта (активирован или нет).

Подписка на получение событий от источника событий (POS-устройства)

{
    "method": "axxonsoft.bl.events.DomainNotifier.PullEvents",
    "data": {
        "subscription_id": "a003ed13-3b8f-4cef-a450-0199dc259h35",
        "filters": {
                "include": [{
                    "event_type":"ET_TextEvent",
                    "subject":"hosts/Server/DeviceIpint.7/SourceEndpoint.video:0:0"
                    }
                ]
        }
    }
}

где:

  • subscription_id − id подписки (задается произвольно в формате UUID; обязательный параметр);
  • event_type − тип события (необязательный параметр);
  • subject − источник события (необязательный параметр).
  • No labels