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

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

Если descending = false, то события будут отсортированы по возрастанию времени. Если true, то по убыванию.

limit - предел событий в ответе.

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

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

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

{
  "method": "ITV.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": "ITV.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": "ITV.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
  }
}

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

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

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

{
  "method": "ITV.bl.events.EventHistoryService.ReadTextEvents",
  "data": {
    "range": {
      "begin_time": "20200226T082741.159",
      "end_time": "20200226T083741.160"
    },
    "filters": {
      "filters": [
        {
          "subjects": "hosts/Server1/DeviceIpint.7/SourceEndpoint.video:0:0",
          "texts": "tracker"
        }
      ]
    },
    "limit": 2,
    "offset": 0,
		"descending": false
  }
}

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

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


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

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

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

{
  "method": "ITV.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": "ITV.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": "ITV.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": "ITV.bl.events.DomainNotifier.PullEvents",
  "data": { 
  	"subscription_id": "a000ed13-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"
        }
        ]  
    }
  }
}

где

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

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

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


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