Болид (НВП) · программное обеспечение: Web-сервис интеграции стороннего ПО с АРМ «Орион Про»

Модуль интеграции Орион Про 2.0.1 — SOAP и JSON-RPC интерфейс к АРМ «Орион Про»: события, СКУД, управление элементами

Web-сервис по SOAP и JSON-RPC 2.0 для связи стороннего ПО с АРМ «Орион Про» 1.12 и выше: события, сотрудники, ключи, уровни доступа, состояния и управление элементами.

Модели семейства

Модуль интеграции Орион Про 2.0.1Web-сервис (integrServ.exe), доступный по SOAP и JSON-RPC 2.0; запускается как служба Windows или как обычное приложение.
Назначениеинформационное взаимодействие стороннего ПО с АРМ «Орион Про» ИСО «Орион»
Версия АРМ «Орион Про»1.12 и выше; вторичная авторизация (токены) — с версии 1.20.3
ОСWindows 7 (32 bit или 64 bit) и выше
ИнтерфейсыSOAP: http://127.0.0.1:8090/soap/iorionpro (WSDL — http://127.0.0.1:8090/wsdl/iorionpro); JSON-RPC 2.0: http://127.0.0.1:8090/jsonrpc/iorionpro
Порты в образце settings.iniListenPort=8090 (HTTP), ListenPortSSL=8091 (HTTPS), XmlRpcServerPort=8184 (используется только при SynchWithCores=1)
Файл настроек%ProgramData%\BolidIntegrServ\settings.ini; допускается править вручную или перенести в каталог модуля
СУБД в образце settings.iniMS SQL Server: HostName=127.0.0.1:1433\SQLEXPRESS, Database=orion_base
Хранение логовLogsLifeTimeMinutes=4320 (минут)
Авторизацияпервичная — HTTP basic (параметр IsNeedAuth); вторичная — токен через GetLoginToken, TokenLifeTime=300 секунд (0 — бесконечно)
Состав интерфейсаметоды по группам: события и подписки, состояния и управление элементами, сотрудники и пароли (ключи), уровни доступа, окна времени, точки и зоны доступа, посетители, автомобили, организации, подразделения, должности, группы выхода, помещения, причины отсутствия

Как это работает и подключается

  • Распаковать IntegrServ.zip в любое место, запустить integrServ.exe, развернуть окно из значка в системной панели и отредактировать настройки; они сохранятся в settings.ini.
  • Как служба Windows: в каталоге модуля выполнить integrServ.exe /INSTALL, затем запустить службу через оснастку Windows.
  • Результат каждого метода возвращается в оболочке TOperationResult: признак Success, результат OperationResult и при ошибке — TServiceError (код, описание, сообщение исходного исключения).
  • Первичная авторизация: в settings.ini IsNeedAuth=1 в разделе HttpAuth, затем Login и Password. Вторичная: IsTokenRequired=1 в разделе RemoteControl, в АБД добавить пароль с типом «удалённое управление», получить токен GetLoginToken и продлевать его ExtendTokenExpiration до истечения TokenLifeTime.

Монтаж

  • Значения из образца settings.ini в РЭ (в РЭ не названы заводскими, сверяйте со своим файлом): порты 8090 и 8091, XmlRpcServerPort=8184, IsNeedAuth=0, IsTokenRequired=0, TokenLifeTime=300, LogsLifeTimeMinutes=4320; примерные учётные данные — Login=login, Password=password, UserName=sa, Password=123456, SSLPassword=orion.
  • Параметры синхронизации: SynchWithModules=1 — синхронизация изменений в БД СКУД с модулями «Орион Про», SynchWithCores=1 — с ядром опроса (зависит от SynchWithModules); при SynchWithCores=1 используется xml-rpc сервер на порту XmlRpcServerPort.
  • SSL: пути к файлам сертификата и закрытого ключа задаются SSLCertFile и SSLKeyFile (в образце C:\ProgramData\BolidIntegrServ\certificate.pem и private.key), пароль ключа — SSLPassword.
  • Для восстановления пароля письмом с временным паролем заполняется раздел SMTP: имя пользователя, пароль, адрес и порт SMTP-сервера, адрес отправителя, тема и текст письма (временный пароль подставляется вместо %PASSWORD%).

Примеры

Передача событий во внешнюю систему

Метод SubscribeEvents регистрирует адрес обратного вызова (callbackUrl) и имя метода JSON-RPC; события можно фильтровать по типам, сотрудникам, точкам доступа, зонам и группам зон. Токен подписки проверяют CheckEventSubscription и отменяют UnsubscribeEvents; для состояний элементов — SubscribeStates.

Управление из стороннего приложения

ControlItems выполняет команды над элементами: для входов — взятие, снятие, включение и выключение автоматики, пуск, отмена, отключение и включение входа; для выходов — включить, выключить, мигать, пуск АСПТ, пуск/стоп речевого оповещения, ручной пуск и останов; для зон и групп зон — снятие, взятие, отключение, включение; для дверей и считывателей — предоставление, разрешение и запрет доступа, подтверждение доступа.

Ведение СКУД из кадровой или учётной системы

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

Частые вопросы

По каким протоколам доступен модуль?

По SOAP и JSON-RPC 2.0 (HTTP и HTTPS). Адреса для модуля на локальном компьютере: http://127.0.0.1:8090/soap/iorionpro и http://127.0.0.1:8090/jsonrpc/iorionpro.

С каких версий АРМ «Орион Про» работает?

С версии 1.12 и выше; функции вторичной авторизации и ControlItems — с версии 1.20.3.

Как запустить как службу?

В каталоге модуля выполнить integrServ.exe /INSTALL и запустить службу через оснастку Windows.

Где взять описание типов и методов?

В РЭ описаны типы данных (TEvent, TPersonData, TAccessLevel и др.) и методы с примерами JSON-RPC; WSDL отдаёт сам запущенный модуль.

Нюансы и грабли

  • При включённых SoapLogging, JsonRpcLogging и XmlRpcLogging модуль пишет весь входящий и исходящий трафик в текстовые файлы — можно переполнить диск.
  • В образце settings.ini РЭ параметр SoapLogging показан дважды с разными значениями (1 и 0, раздел [Sockets] повторён) — какое реально действует, проверяйте по своему файлу и тестовому вызову.
  • Методы ControlItems, GetItemsForLogin, GetItemsStates и GetADCValues требуют вторичную авторизацию независимо от значения IsTokenRequired; ControlItems поддерживается АРМ «Орион Про» с версии 1.20.3.
  • Токен имеет ограниченное время действия (TokenLifeTime) — клиент должен продлевать его ExtendTokenExpiration.
  • В разделе [DBMS] образца settings.ini указан MS SQL Server (экземпляр SQLEXPRESS); про PostgreSQL, на которой работает АРМ «Орион Про» 2.0 по путеводителю, РЭ модуля не говорит — перед внедрением уточнить у производителя.

Документация