Перейти к содержанию

Вебхуки#


Входящие Вебхуки для получения обновлений в реальном времени


Зачем использовать Вебхук#

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


Как добавлять Вебхуки#

Чтобы добавить вебхуки необходимо перейти во вкладку Список флоу в Личном Кабинете и перейти в настройки флоу. Внутри настроек можно добавлять, обновлять или удалять вебхуки. На каждый флоу можно добавлять до 5 вебхуков. На каждый из этих URL будут приходить сообщения с событиями

Вебхук должен представлять из себя URL который принимает POST запросы с данными в формате JSON. Пример вебхука:

@csrf_exempt
def test_webhook(
    request,
):
body = json.loads(request.body)
if body['event'] == 'flow.start': print('Flow started')
return 200

Пример сообщения который приходит на вебхук:

{
 "id": "94392053-57fe-4eb6-ae2b-980c3efe145a",  
 "event": "flow.start",  
 "session_id": "29203f90-05c3-4f1e-bf41-39260943f9aa",  
 "created": 1690444843,  
 "success": true,  
 "flow_name": "Liveness Distance",  
 "metadata": null,  
 "data": {
  "technologies": ["LDD"]
 }
}    
  • id – Идентификатор вебхук сообщения
  • event – событие
  • session_id – Идентификатор сессии по которой клиент проходит флоу
  • created – Дата создания события
  • success – Статус успешности
  • flow_name: Название флоу
  • metadata: Метаданные который пользователь может передать во время создания сессии
  • data: все данные по текущему событию

Всего существует 4 типа событий:

flow.start – Вызывается когда клиент начинает проходить флоу
flow.end – Вызывается когда клиент завершает прохождение флоу
technology.start – Вызывается когда клиент начинает проходить определенную технологию
technology.end – Вызывается когда клиент завершает прохождение определенной технологии

Данные в поле data меняются в зависимости от типа события.

Во время flow.start данные в поле data следующие: technologies – список технологий флоу

flow.end: session_result - результат прохождения флоу. Данные такие же как если отправить запрос на получения результата сессии

technology.start: technology_code – Код технологий technology_name – Название технологий

tecnology.end: technology_code – Код технологий technology_result – Резуьтат прохождения технологий