Вебхуки

Вебхук — механизм отправки уведомлений при наступлении в системе события, на которое подписано клиентское приложение.

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

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

Для того, чтобы FindFace Lite отправлял HTTP-запросы при наступлении определенных событий, создайте и настройте вебхук.

Пройдите аутентификацию

Чтобы пройти аутентификацию в системе, используйте POST-запрос /v1/auth/login.

Для параметров username и password используйте данные, полученные на ШАГЕ 5.

Пример запроса:

{
  "username": "login",
  "password": "password"
}

Пример успешного ответа:

{
  "access_token": "token"
}

Создайте Вебхук

Чтобы создать вебхук, используйте POST-запрос /v1/webhooks/. Ниже описаны все параметры и их значения:

Параметры

Типы значений

Описание

name

строка

Название вебхука.

active:

true

Значение по-умолчанию, которое означает, что вебхук включен.

false

Возможное значение, которое означает, что вебхук выключен.

target:

строка

Целевой URL для отправки сообщение о событии.

filters

группа значений [filters]

Набор фильтров, основывая на которых сообщения будут или не будут отправлены на целевой URL. На отправку сообщений влияют только указанные фильтры. Если группу значений [filters] оставить пустой, на целевой URL будут отправляться сообщения по всем событиям без исключений.

type_in

строка

Если созданный Event соответствует указанным типам (face, car or license_plate), сообщение будет отправлено на целевой URL.

camera_in:

число или несколько чисел

Если созданный Event связан с указанными в значении идентификаторами объекта Camera, сообщение будет отправлено на целевой URL.

card_in:

число или несколько чисел

Если созданный Event связан с указанными в значении идентификаторами объекта Card, сообщение будет отправлено на целевой URL.

confidence_gte:

число от 0 до 1

Если результат распознавания больше или равен указанному значению, сообщение будет отправлено на целевой URL.

confidence_lte:

число от 0 до 1

Если результат распознавания меньше или равно указанному значению, сообщение будет отправлено на целевой URL.

matched:

true

Сообщение на целевой URL будет отправлено только при положительном результате распознавания.

false

Сообщение на целевой URL будет отправлено только при отрицательном результате распознавания.

bs_type_in:

overall

Сообщение на целевой URL будет отправлено только о лучшем результате распознавания за определенный период времени.

realtime

Сообщение на целевой URL будет отправлено только обо всех результатах распознавания.

Yaw, Pitch, Roll

Параметры означают угол наклона относительно осей XYZ. Применяйте их, только если в конфигурационном файле для параметра headpose одним из значений установлено face_features.

yaw_lte:

число

Если положение головы по параметру yaw меньше или равно указанному значению, сообщение будет отправлено на целевой URL.

yaw_gte:

число

Если положение головы по параметру yaw больше или равно указанному значению, сообщение будет отправлено на целевой URL.

pitch_lte:

число

Если положение головы по параметру pitch меньше или равно указанному значению, сообщение будет отправлено на целевой URL.

pitch_gte:

число

Если положение головы по параметру pitch больше или равно указанному значению, сообщение будет отправлено на целевой URL.

roll_lte:

число

Если положение головы по параметру roll меньше или равно указанному значению, сообщение будет отправлено на целевой URL.

roll_gte:

число

Если положение головы по параметру roll больше или равно указанному значению, сообщение будет отправлено на целевой URL.

liveness_lte:

число от 0 до 1

Если результат проверки на “живость” меньше или равен указанному значению, сообщение будет отправлено на целевой URL.

liveness_gte:

число от 0 до 1

Если результат проверки на “живость” больше или равен указанному значению, сообщение будет отправлено на целевой URL.

medmask

object

Если в конфигурационном файле указана функциональность medmask, вы можете фильтровать сообщения, отправляемые на целевой URL, по результату анализа медицинской маски на человеке в момент распознавания.

name

enum

Доступные параметры, по которым можно фильтровать события:

none — на лице нет медицинской маски;

correct – медицинская маска надета корректно;

incorrect – медицинская маска надета некорректно.

confidence_lte:

число от 0 до 1

Если значение уверенности в правильности результата распознавания медицинской маски меньше или равно заданному значению, на целевой URL отправляется сообщение.

confidence_gte:

число от 0 до 1

Если значение уверенности в правильности результата распознавания медицинской маски больше или равно заданному значению, на целевой URL отправляется сообщение.

orientation

object

Если в конфигурационном файле указана функциональность orientation, вы можете фильтровать сообщения, отправляемые на целевой URL, по результату анализа положения автомобиля в момент распознавания.

name

enum

Доступные параметры, по которым можно фильтровать события:

back – задняя часть автомобиля;

side – боковая часть автомобиля;

front – передняя часть автомобиля.

confidence_lte:

число от 0 до 1

Если значение уверенности в правильности результата распознавания положения автомобиля меньше или равно заданному значению, на целевой URL отправляется сообщение.

confidence_gte:

число от 0 до 1

Если значение уверенности в правильности результата распознавания положения автомобиля меньше или равно заданному значению, на целевой URL отправляется сообщение.

special_type

object

Если в конфигурационном файле указана функциональность special_type, вы можете фильтровать сообщения, отправляемые на целевой URL, по результату анализа типа автомобиля.

name

enum

Доступные параметры, по которым можно фильтровать события:

not_special – неспециальное транспортное средство,

police – полиция,

ambulance — скорая,

road_service — дорожный спецтранспорт,

gas_service — газовая служба,

rescue_service — МЧС,

other_special — все прочие специальные транспортные средства, не выделенные в отдельную группу,

taxi — такси,

route_transport — публичный транспорт,

car_sharing — каршеринг,

military — военные службы.

confidence_lte:

число от 0 до 1

Если значение уверенности в правильности результата распознавания типа автомобиля меньше или равно заданному значению, на целевой URL отправляется сообщение.

confidence_gte:

число от 0 до 1

Если значение уверенности в правильности результата распознавания типа автомобиля больше или равно заданному значению, на целевой URL отправляется сообщение.

license_plate_number

строка

Если результат распознавания номера автомобиля равен заданному значению, на целевой URL отправляется сообщение.

license_plate_visibility

object

license_plate_visibility — обязательная функция, включенная в файле конфигурации. Вы можете фильтровать отправку сообщений на целевой URL по результату видимости номерного знака автомобиля при распознавании.

name

enum

Доступные параметры, по которым можно фильтровать события:

partly_visible_no_text – номерной знак без текста и частично виден,

fully_visible_no_text — номерной знак без текста и полностью виден,

invisible — номерной знак невидим,

partly_visible — номерной знак с текстом и частично виден,

fully_visible — номерной знак с текстом и полностью виден.

confidence_lte:

число от 0 до 1

Если значение уверенности в правильности результата распознавания положения автомобиля меньше или равно заданному значению, на целевой URL отправляется сообщение.

confidence_gte:

число от 0 до 1

Если значение уверенности в правильности результата распознавания положения автомобиля меньше или равно заданному значению, на целевой URL отправляется сообщение.

license_plate_event_number

строка

Фильтр можно применить только к типу Event’a license_plate. Если распознанный номер автомобиля в Event’e равен указанному значению, на целевой URL отправляется сообщение.

send_attempts:

число

Количество попыток отправки сообщения на целевой URL. Чтобы не накладывать лимит на количество попыток, установите 0.

Пример запроса:

{
  "name": "test webhook",
  "active": true,
  "target": "http://localhost/webhok_test",
  "filters": {
    "camera_in": [
      1,
      2
    ],
    "card_in": [
      4,
      5
    ],
    "confidence_gte": 0.75,
    "confidence_lte": 0.79,
    "matched": true,
    "bs_type_in": [
      "overall",
      "realtime"
    ],
    "yaw_lte": 3.5,
    "yaw_gte": 3.5,
    "pitch_lte": -4.2,
    "pitch_gte": -4.2,
    "roll_lte": 1.8,
    "roll_gte": 1.8,
    "liveness_lte": 0.44,
    "liveness_gte": 0.44
  },
  "send_attempts": 3
}

Пример успешного ответа:

{
  "name": "test webhook",
  "active": true,
  "target": "http://localhost/webhok_test",
  "filters": {
    "camera_in": [
      1,
      2
    ],
    "card_in": [
      4,
      5
    ],
    "confidence_gte": 0.75,
    "confidence_lte": 0.79,
    "matched": true,
    "bs_type_in": [
      "overall",
      "realtime"
    ],
    "yaw_lte": 3.5,
    "yaw_gte": 3.5,
    "pitch_lte": -4.2,
    "pitch_gte": -4.2,
    "roll_lte": 1.8,
    "roll_gte": 1.8,
    "liveness_lte": 0.44,
    "liveness_gte": 0.44
  },
  "send_attempts": 3,
  "id": 1
}