Перейти к основному содержимому
Версия: 1.18.2 (последняя)

Отправка событий по веб-сокетам и вебхукам

Эндпоинты

В OMNI Platform реализована возможность отправлять события во внешние сервисы по двум типам эндпоинтов: веб-сокету или вебхуку.

Веб-сокеты

Создать эндпоинт типа «веб-сокет»

Нажмите на кнопку + Создать в правом верхнем углу страницы эндпоинтов. В открывшейся вкладке выберите тип эндпоинта (Веб-сокет), укажите название эндпоинта и нажмите Создать.

Подробную информацию по каждому веб-сокету можно просмотреть в его карточке. Чтобы открыть карточку, нажмите на строку веб-сокета на странице эндпоинтов.

примечание

В верхнем левом углу карточки находится кнопка с сокращенным идентификатором (endpoint_id). При наведении на кнопку отобразится полная версия идентификатора, а при нажатии на кнопку идентификатор будет скопирован в буфер обмена.

Настроить отправку событий по веб-сокету

Ниже показано подключение по веб-сокету на примере HTTP-клиента Postman:

  1. Скачайте и установите Postman.

  2. В интерфейсе клиента выберите file -> new -> WebSocket.

  3. В открывшейся вкладке укажите request URL ws://$DOMAIN/event-service/ws?endpoint_id=<endpoint_id> для передачи событий по веб-сокету.

    ВНИМАНИЕ!

    Для подключения по веб-сокету используется endpoint_id, который указан в дашборде на странице Эндпоинты. Также запросить endpoint_id можно через API (См.пункт Эндпоинты событий раздела Справочник по API).

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

  4. Соединение установлено, события отправляются на сервер.

    примечание

    Поскольку данные платформы и агента синхронизируются в среднем один раз в минуту, может произойти следующая ситуация:

    Если в течение в среднем одной минуты после удаления профиля из базы человек, которому принадлежал этот профиль, попадает в поле зрения камеры, OMNI-агент формирует событие идентификации и передает его в платформу. Профиля на платформе уже не существует, поэтому платформа не сможет передать такое событие по веб-сокету. Такие «потерянные» события можно будет вывести только через GraphQL API платформы.

Пример события, переданного по веб-сокету:

{"type": "identification", 
"activity_id": "69410e11-d3f6-449c-927f-cea210f0e326",
"camera": {"id": "72aa3a70-0fc1-46f1-8a8e-eb50cd4f13a3", "type": "IP", "title": "rtsp://192.168.122.150/stream", "stream": "rtsp://192.168.122.150/stream", "real_name": null, "agent_id": "a593c1be-d13e-4244-8179-1df0a6b725f7"},
"candidates": [{
"profile": {
"id": "d96fb010-8da5-49a6-b571-b48cb241a923",
"age": 30,
"gender": "MALE",
"avatar_id": "e5a1f9b6-9e10-4ac2-8723-bbae0b9d9200",
"main_sample_id": "e5a1f9b6-9e10-4ac2-8723-bbae0b9d9200",
"sample_link": "http://op-v1-18-0-rc1.platform.kuber2.3divi.ru/get-image/e5a1f9b6-9e10-4ac2-8723-bbae0b9d9200"},
"profile_groups": [{"id": "82e7d0c3-6e69-425b-ab79-faa19c2d9fe7", "color": "orange.400"}],
"confidence": 0.9359086751937866}],
"event": {
"id": "b4c32a55-685e-4055-9716-aeda8c892c84",
"detection_date": "2024-05-29 10:48:27.364000+00:00",
"image": "ddf08b27-1bc6-409f-9b27-f099268453cb",
"original_image": "3841d16d-34c5-48dd-9135-f39126477078",
"image_link": "http://op-v1-18-0-rc1.platform.kuber2.3divi.ru/event-service/get-image/ddf08b27-1bc6-409f-9b27-f099268453cb", "original_image_link": "http://op-v1-18-0-rc1.platform.kuber2.3divi.ru/event-service/get-image/3841d16d-34c5-48dd-9135-f39126477078"}}

Вебхуки

Создать эндпоинт типа «вебхук»

Нажмите на кнопку + Создать в правом верхнем углу страницы эндпоинтов. В открывшейся вкладке выберите тип эндпоинта (Вебхук), укажите название эндпоинта и нажмите Создать.

Подробную информацию по каждому вебхуку можно просмотреть в его карточке. Чтобы открыть карточку, нажмите на строку вебхука на странице эндпоинтов.

примечание

В верхнем левом углу карточки находится кнопка с сокращенным идентификатором (endpoint_id). При наведении на кнопку отобразится полная версия идентификатора, а при нажатии на кнопку идентификатор будет скопирован в буфер обмена.

Пример события, переданного через вебхук:

{
"type": "identification",
"activity_id": "acf8120f-5047-4c15-80f5-4f5b56d250c2",
"camera": {
"id": "72aa3a70-0fc1-46f1-8a8e-eb50cd4f13a3",
"type": "IP",
"title": "rtsp://192.168.122.150/stream",
"stream": "rtsp://192.168.122.150/stream",
"real_name": null,
"agent_id": "a593c1be-d13e-4244-8179-1df0a6b725f7"
},
"candidates": [
{
"profile": {
"id": "d96fb010-8da5-49a6-b571-b48cb241a923",
"age": 30,
"gender": "MALE",
"avatar_id": "e5a1f9b6-9e10-4ac2-8723-bbae0b9d9200",
"main_sample_id": "e5a1f9b6-9e10-4ac2-8723-bbae0b9d9200",
"sample_link": "http://op-v1-18-0-rc1.platform.kuber2.3divi.ru/get-image/e5a1f9b6-9e10-4ac2-8723-bbae0b9d9200"
},
"profile_groups": [
{
"id": "82e7d0c3-6e69-425b-ab79-faa19c2d9fe7",
"color": "orange.400"
}
],
"confidence": 0.9436722993850708
}
],
"event": {
"id": "348e726d-d78d-4a7f-b5b4-e6b3cf956b78",
"detection_date": "2024-05-29 09:44:15.727000+00:00",
"image": "f847fd16-8ca3-408f-9927-aac80f7e2f89",
"original_image": "5e46d1d7-ca5b-4804-9c7e-6022f5a561b7",
"image_link": "http://op-v1-18-0-rc1.platform.kuber2.3divi.ru/event-service/get-image/f847fd16-8ca3-408f-9927-aac80f7e2f89",
"original_image_link": "http://op-v1-18-0-rc1.platform.kuber2.3divi.ru/event-service/get-image/5e46d1d7-ca5b-4804-9c7e-6022f5a561b7"
}
}

Фильтрация и сортировка

Параметры фильтрации
  • По идентификатору эндпоинта
  • По типу эндпоинта
Параметры сортировки
  • По дате создания

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

Фильтры событий

Перед отправкой на прикрепленные эндпоинты (по веб-сокетам или вебхукам) события можно отфильтровать по следующим параметрам:

  • по камерам и OMNI-агентам, с которых приходят события;
  • по спискам наблюдения, в которые добавлен человек с события;
  • по типам событий.

Создать фильтр событий

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

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

Фильтрация и сортировка

Параметры фильтрации
  • По идентификаторам фильтров событий
Параметры сортировки
  • По дате создания
  • По дате изменения

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