Входящие вебхуки: подключение СКУД
Входящие вебхуки СКУД позволяют вашей системе контроля доступа сообщать UnSpot о входе и выходе сотрудников. UnSpot использует эти события для автоматического чекина бронирований и аналитики посещаемости. Поддерживаются два варианта: универсальный JSON-endpoint для любой СКУД и специализированная интеграция Sigur.
1. Создание подключения
В разделе Администрирование > Интеграции создайте подключение СКУД типа JSON. Вы сами указываете, в каких полях вашего payload лежат данные — так UnSpot подстраивается под любой формат:
| Настройка | Значение | Ключ по умолчанию |
|---|---|---|
| Атрибут офиса | Ключ JSON с названием офиса/пространства | space |
| Атрибут пользователя | Ключ JSON с идентификатором пользователя | user |
| Атрибут статуса | Ключ JSON с направлением (вход/выход) | status |
| Атрибут стола | Необязательный ключ с названием стола | — |
| Access token | Необязательный общий секрет; если задан, передаётся в заголовке Un-Token | — |
После сохранения UnSpot сгенерирует уникальный токен endpoint’а — ваша СКУД будет отправлять события POST-запросами на URL с ним.
2. Отправка событий — POST /api/scud/json/{token}
curl -X POST -H "Content-Type: application/json" -H "Un-Token: <access token>" \
https://acme.unspot.ru/api/scud/json/3f2a...-connection-token \
-d '{
"space": "Штаб-квартира Москва",
"user": "anna.ivanova@example.com",
"status": "in_office"
}'- Идентификация пользователя: если значение — email, поиск идёт по email; иначе UnSpot пробует номер пропуска, затем ФИО. Неоднозначные номера пропусков отклоняются.
- Статус: значение должно означать «в офисе» или «вне офиса». Временем события считается момент получения запроса UnSpot.
- События обрабатываются асинхронно; каждое (включая ошибки) записывается в журнал интеграций (Отчёты > История интеграций).
3. Что UnSpot делает с событием
- Отмечает пользователя как присутствующего в офисе / покинувшего офис.
- Подтверждает чекин бронирований, если политики чекина требуют присутствия в офисе.
- Пополняет аналитику и отчёты посещаемости офиса.
Вариант Sigur
Для Sigur создайте подключение типа Sigur и укажите в Sigur URL уведомлений POST /api/scud/sigur/{token}. Отличия от JSON-варианта: тело — form-encoded (как отправляет Sigur), заголовок Un-Token не используется, значения направления вход / выход конвертируются автоматически. Для делегирования Sigur и mobile-ID есть отдельные endpoint’ы, настраиваемые со страницы интеграции Sigur.
Ошибки
Integration not found— неверный токен endpoint’а.Access to subscription denied— заголовокUn-Tokenне совпадает с настроенным access token.Subscription deactivated— подключение отключено в UnSpot.User not found/Multiple users found by pass number— идентификатор пользователя не разрешился однозначно.- Отсутствуют ключи офиса/пользователя/статуса — событие отклоняется и логируется.