Настройка HTTP-интеграции (вебхуков) в ПО «ЭНТ Контроль доступа»
Настройка HTTP-интеграции (вебхуков) в ПО «ЭНТ Контроль доступа»
Версия ПО: 3.3.90.180 | Редакция инструкции: 14.07.2026
Программно-аппаратный комплекс «ЭНТ Контроль доступа» поддерживает механизм отправки уведомлений (вебхуков) на сторонние серверы при возникновении событий в контроллерах «ЭРА». Передача данных осуществляется по протоколу HTTP методами
GET или POST на серверный скрипт принимающей стороны (например, написанный на PHP, Python, Node.js и т.д.).Данное руководство описывает процесс настройки серверной и клиентской частей, а также принципы обработки ошибок.
1. Настройка серверной части (ЭНТ Сервер)
Для активации возможности отправки HTTP-запросов необходимо изменить стандартный шлюз уведомлений.
- Откройте веб-интерфейс «ЭНТ Контроль доступа – Сервер».
- Перейдите на вкладку «Настройки».
- В разделе «SMS-шлюз» в выпадающем списке «Провайдер» выберите «HTTP(S)-запрос».
- Нажмите «Сохранить настройки».
2. Создание правила рассылки (ЭНТ Клиент)
- Откройте «ЭНТ Контроль доступа – Клиент».
- Перейдите в раздел «События» → «Рассылка уведомлений».
- На панели инструментов нажмите кнопку «Добавить новое уведомление».
- В открывшемся окне «Новое уведомление» заполните параметры, описанные ниже.
2.1. Параметры события (Триггер)
- Укажите контроллер: выберите из выпадающего списка контроллер, события которого будут обрабатываться.
- Уведомлять о событии: выберите тип события (или несколько типов), при котором должен срабатывать HTTP-запрос.
- Направление события: установите галочки в полях «Вход» и/или «Выход» для фильтрации направления прохода.
2.2. Параметры получателя
- Отправлять уведомление автору события на его тел./e-mail, взятый из поля: выберите «не отправлять».
- Отправлять уведомления на тел./e-mail: укажите любой произвольный номер или адрес (например,
0000000000).
Примечание: фактическая отправка SMS/Email не производится, поле является обязательным атрибутом интерфейса.
2.3. Формирование HTTP-запроса (GET / POST)
Запрос формируется в поле «Текст SMS уведомления».
GET и POST.Ограничение: длина URL ограничена 500 символами.
Структура URL (пример для GET):
https://example.com/api/ent.php?arg1=<%dv>&arg2=<%te>&token=secret
https://.../ent.php?— путь (эндпоинт) к скрипту принимающей стороны, завершающийся символом?.arg1,arg2— имена переменных, принимаемых вашим скриптом (могут быть любыми).=— оператор присвоения.<%dv>,<%te>— системные макросы, подставляющие актуальные данные события.token=secret— статические параметры (например, ключи авторизации).
2.4. Дополнительные параметры
- Текст e-mail уведомления: оставьте пустым.
- Задержка отправления (секунд): укажите паузу перед отправкой запроса (опционально).
- Режим отправки уведомлений: выберите расписание:
- В рабочее / нерабочее время — требует выбора «Графика для отчетов» (создается заранее в разделе Отчеты → Графики для отчетов).
- Всегда — круглосуточная отправка.
- Параметры сервера исходящей почты: установите «использовать глобальные настройки».
- После ввода всех данных нажмите «Добавить».
3. Справочник доступных макросов
Для подстановки данных события в URL используйте следующие макросы:
| Макрос | Описание данных | Примечание |
|---|---|---|
<%dv> |
Название контроллера | |
<%ev> |
Событие | |
<%dr> |
Направление события | |
<%de> |
Дата события | |
<%te> |
Время события | |
<%th> |
Время события | Только часы |
<%tm> |
Время события | Только минуты |
<%ts> |
Время события | Только секунды |
<%ut> |
Время события | Формат Unix-время (timestamp) |
<%tn> |
Табельный номер | |
<%ln> |
Фамилия пользователя | |
<%fn> |
Имя пользователя | |
<%sn> |
Отчество пользователя | |
<%ky> |
Ключ | |
<%sa> |
Адрес рассылки | |
<%bl> |
Баланс | |
<%s1> |
Свойство #1 | Наименование колонки в таблице данных пользователя (можно переименовывать в ПО Клиент) |
<%s2> |
Свойство #2 | Наименование колонки в таблице данных пользователя |
<%s3> |
Свойство #3 | Наименование колонки в таблице данных пользователя |
<%s4> |
Свойство #4 | Наименование колонки в таблице данных пользователя |
4. Обработка ошибок и механизм повторных отправок (Ретраи)
Система обладает встроенным механизмом обеспечения надежной доставки уведомлений.
- Очередь и повторные попытки: Если «ЭНТ Сервер» не получает ответа от сервиса получателя (нет доступа, таймаут, ошибка сети), он создает очередь из неотправленных уведомлений и пытается отправить их заново каждые 10 секунд.
- Лимит попыток: Количество попыток отправки по умолчанию составляет 65 500. Это значение можно изменить в
.iniфайле конфигурации сервера. - Сохранение очереди при остановке: Если работа «ЭНТ Сервера» останавливается (аварийно или планово), а в очереди есть неотправленные уведомления, они сохраняются во временный файл
sms_queue, который создается в папкеServerустановочной директории. - Восстановление: При следующем запуске «ЭНТ Сервер» автоматически загрузит очередь для рассылки из файла
sms_queueи удалит этот файл.
1. Остановите работу «ЭНТ Сервера».
2. Удалите файл
sms_queue в папке Server установочной директории.5. Требования к принимающей стороне и безопасность
5.1. Требования к скрипту пользователя
Для того чтобы «ЭНТ Сервер» успешно зафиксировал доставку и удалил запрос из очереди, принимающий сервер обязан вернуть валидный HTTP-ответ.
- Ожидаемый HTTP-статус:
200 OK. - Ожидаемое тело ответа: любой текст, подтверждающий прием (например,
ОК,200,success).
5.2. Безопасность соединения
По умолчанию система не передает статический токен или ключ авторизации в заголовках HTTP-запроса. Для защиты вашего эндпоинта от несанкционированных запросов рекомендуется:
- Передавать секретный ключ (токен) напрямую в URL в виде статического GET/POST параметра (например:
&token=ваш_секретный_ключ). - Ограничить доступ к эндпоинту на стороне вашего веб-сервера (Nginx/Apache) по списку разрешенных IP-адресов (White List), указав IP-адрес сервера, на котором установлен «ЭНТ Контроль доступа».
© Эра новых технологий. Скворцов Константин Валерьевич.