Отправка событий по веб-сокетам и вебхукам
Эндпоинты
В OMNI Platform реализована возможность отправлять события во внешние сервисы по двум типам эндпоинтов: веб-сокету или вебхуку.
Веб-сокеты
Создать эндпоинт типа «веб-сокет»
Нажмите на кнопку + Создать
в правом верхнем углу страницы эндпоинтов. В открывшейся вкладке выберите тип эндпоинта (Веб-сокет), укажите название эндпоинта и нажмите Создать
.
Подробную информацию по каждому веб-сокету можно просмотреть в его карточке. Чтобы открыть карточку, нажмите на строку веб-сокета на странице эндпоинтов.
В верхнем левом углу карточки находится кнопка с сокращенным идентификатором (endpoint_id
). При наведении на кнопку отобразится полная версия идентификатора, а при нажатии на кнопку идентификатор будет скопирован в буфер обмена.
Настроить отправку событий по веб-сокету
Ниже показано подключение по веб-сокету на примере HTTP-клиента Postman:
Скачайте и установите Postman.
В интерфейсе клиента выберите file -> new -> WebSocket.
В открывшейся вкладке укажите request URL
ws://$DOMAIN/event-service/ws?endpoint_id=<endpoint_id>
для передачи событий по веб-сокету.ВНИМАНИЕ!Для подключения по веб-сокету используется
endpoint_id
, который указан в дашборде на странице Эндпоинты. Также запроситьendpoint_id
можно через API (См.пункт Эндпоинты событий раздела Справочник по API).Для фильтрации отправляемых по веб-сокету событий необходимо привязать эндпоинт к фильтру событий, в противном случае будут приходить все события.
Соединение установлено, события отправляются на сервер.
примечаниеПоскольку данные платформы и агента синхронизируются в среднем один раз в минуту, может произойти следующая ситуация:
Если в течение в среднем одной минуты после удаления профиля из базы человек, которому принадлежал этот профиль, попадает в поле зрения камеры, 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-агентам, с которых приходят события;
- по спискам наблюдения, в которые добавлен человек с события;
- по типам событий.
Создать фильтр событий
Нажмите + Создать
в правом верхнем углу страницы фильтров событий. В открывшейся вкладке укажите название фильтра, эндпоинт, на который будут отправляться события через этот фильтр, и параметры фильтрации отправляемых событий. После заполнения нажмите Создать
.
Просмотреть данные созданного фильтра, изменить параметры фильтрации или удалить фильтр можно в его карточке. Чтобы открыть карточку, нажмите на строку фильтра на странице фильтров событий.
Фильтрация и сортировка
Параметры фильтрации
- По идентификаторам фильтров событий
Параметры сортировки
- По дате создания
- По дате изменения
Для фильтрации/сортировки фильтров событий нажмите Добавить фильтр
/ Добавить сортировку
и выберите один из параметров в выпадающем списке. После этого выбранные фильтр и сортировка появятся в верхней левой части страницы.