На странице:

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

{
    "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-0199dc259w37",
    	"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 тип события (необязательный параметр);
  • subject − субъект события (в данном примере детекторы; необязательный параметр).

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

  1. Выполнить запрос с методом PullEvents. После получения ответа "200 ОК" будет происходить накопление событий.
  2. После истечения необходимого интервала времени выполнить запрос с методом DisconnectEventChannel. Будет получен список событий, произошедших между двумя запросами.
    Тело запроса с методом DisconnectEventChannel:

    {
        "method": "axxonsoft.bl.events.DomainNotifier.DisconnectEventChannel",
        "data": {
            "subscription_id": "a003ed13-3b8f-4cef-a450-0199dc259w37"
        }
    }

    Примечание

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

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

{
    "method": "axxonsoft.bl.events.DomainNotifier.PullEvents",
    "data": {
        "subscription_id": "a003ed13-3b8f-4cef-a450-0199dc259w37",
        "filters": {
            "include": {
                    "event_type": "ET_DetectorEvent",
                    "subject" : "hosts/A-BUDNIKOV/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": "a001ed13-3b8f-4cef-a450-0199dc259w37",
        "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/SERVER1/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