Інтеграція REST API в U‑PROX: можливості та приклади дистанційного керування

Діліться та зберігайте
Інтеграція REST API в U‑PROX: можливості та приклади дистанційного керування

Система U-PROX має вбудований інструментарій для інтеграції зі стороннім програмним забезпеченням через API, з підтримкою стандартів SOAPRESTJSONXML.

Програмне забезпечення U-PROX  є безкоштовним, як і REST API, який постачається разом із ним.

Для використання REST API у ПЗ U-PROX  у взаємодії зі сторонніми системами необхідно:

  • Встановити компоненти ПЗ U-PROX :
    • Сервер
    • Клієнт
    • Веб-сервер
    • Десктоп-сервер
  • Дотримуватися логіки взаємодії:
    Обладнання U-PROX  ⇄ ПЗ U-PROX  ⇄ Стороннє ПЗ

Доступні наступні способи інтеграції:

  • Двостороння інтеграція зі стороннім ПЗ через веб-протоколи (API-інтеграція).
  • Експорт даних із ПЗ U-PROX у вигляді звітів стандартними засобами програми або операційної системи, з подальшим імпортом чи обробкою в сторонньому ПЗ.
  • Прямий доступ до бази даних ПЗ U-PROX через SQL-запити мовою Transact-SQL (T-SQL) — без необхідності додаткової авторизації.

Програмне забезпечення U-PROX IP (воно ж U-PROX WEB) має два інтерфейси для користувача:

  • Класичний інтерфейс Windows;
  • Веб-інтерфейс (через браузер).

У класичному інтерфейсі можливий:

  • *експорт звітів у текстовому форматі .CSV — вручну або автоматично;
  • експорт у форматі Excel (.XLS/XLSX) — лише вручну, за умови, що Microsoft Excel встановлений на ПК.

У веб-інтерфейсі передбачено:

  • створення та експорт звітів вручну у форматі .PDF;
  • експорт звітів через API — у форматах PDF або JSON.

Рекомендована версія програмного забезпечення для використання — v3.057.7988.

Завантажте ISO-образ 3.57.7988 версії ПЗ U-PROX, та встановіть/оновіть наявну в себе версію

ISO-образ 3.57.7988 версії ПЗ U-Prox:
–  https://drive.google.com/file/d/14kt60eWtgMPhV5VQMBS1jq5MN7l47uxy/view

Поновлювати в послідовності – Сервер, Клієнт, Веб-Сервер, Десктоп-Сервер – на сервері програми;
та Клієнт і Десктоп-Сервер на віддалених клієнтських робочих місцях.

  • Десктоп-Сервер – там де використовується Веб-Клієнт та USB зчитувач U-PROX Desktop.

– та що вказана нижче в описі API

Оновлення сторінки в бравзері після переходу на новіші версії – “Ctrl+F5”, щоб перевантажити із очисткою кешу.

Загальний опис API

Перегляньте наявну інформацію на сторінці “API інтеграції”, нашого сайту: 

–  https://u-prox.systems/software/

Перегляньте довідник по функціях (доступно після встановлення комплексу U-Prox): 

–  http://127.0.0.1:40001/json/help (Eng)

Також на встановленій системі U-PROX, в браузері, за допомогою вікна розробника (F12), можна переглядати взаємодію U-PROX WEB з API

Якщо мало інформації – задайте питання на електронну пошту support@itvsystems.com.ua з темою API інтеграція.

U-PROX WEB Server REST API

Останні версії прикладів і документації U-PROX WEB API містяться в хмарній папці:

–  https://drive.google.com/drive/folders/1QpNENLEwYwjy_uOeFmjNmlSlIoVTf33b

У зазначеній папці містяться такі файли:

U-Prox IP.v3.057.7988.iso – образ дистрибутивного диска. З цього образу необхідно встановити або оновити “U-PROX IP Сервер”, “U-PROX IP Клієнт”, “U-PROX Web Сервер” і “U-PROX Desktop Сервер”.

Documentation\AcsWebService.doc – попередня версія опису Web-сервісу, яка містить опис операцій для підключення до сервісу, отримання повідомлень про події і створення співробітників та інших операцій

Documentation\html\*.html – приклади на мові JavaScript з використанням бібліотеки AngularJS

Documentation\html\Authenticate.html – приклад аутентифікації і підключення до сервера

Documentation\html\DoorControl.html – приклад управління дверима

Documentation\html\DoorUnlockAll.html – приклад пожежного розблокування всіх дверей системи

Documentation\html\AdditionalEventFields.html – приклад отримання та створення пристроїв (контролерів), додаткових полів подій та самих подій (записів про проходи)

Documentation\html\Employees.html – приклад отримання списку пристроїв (контролерів), дверей, рівнів доступу, відділів (департаментів), співробітників (користувачів), карток, їх створення, звільнення співробітників і видалення створених об’єктів

Documentation\html\EventGetList.html – приклад отримання подій і їх відображення в режимі реального часу “Soft Real-Time”

Documentation\html\EventsReport.html – приклад отримання звіту про події у вигляді PDF і у вигляді JSON

Documentation\html\TimeAttendanceReport.html – приклад отримання звіту про відпрацьований час у вигляді PDF і у вигляді JSON

Documentation\html\Visitors.html – приклад отримання списку пристроїв, дверей, тимчасових рівнів доступу, відвідувачів, створення карток і видалення створених об’єктів

Documentation\html\js\*.js – використані бібліотеки JavaScript

Для демонстрації роботи web-додатків DoorControl.html, Employees.html, Visitors.html та ін. необхідно виконати наступні дії:

1. Завантажити образ дистрибутивного диска U-PROX IP.v3.057.7988.iso з папки в хмарі:

–  https://drive.google.com/open?id=1QpNENLEwYwjy_uOeFmjNmlSlIoVTf33b

2. Встановити або оновити U-PROX IP Сервер.

3. Встановити або оновити U-PROX IP Клієнт.

4. Встановити або оновити U-PROX IP Web Сервер.

5. Встановити або оновити U-PROX IP Desktop Сервер.

6. Відкрити відповідний html-файл в браузері Chrome і переглянути перелік запитів та відповідей на запити.

Онлайн режим (короткий опис)

Підтримку режимів зовнішнього керування доступом контролера було додана в ПЗ “U-PROX IP” версії 3.052.6722. Необхідно, що б була встановлена така, чи більш пізня версія.

Вхід дозволено“:

POST http://localhost:40001/json/DoorAccessIn

{

“UserSID”: 1234567890123456,            // ідентифікатор сеансу, отриманий в результаті запиту Authenticate

“Token”: 12345,                                   // токен дверей чи токен напрямку проходу (Двері – вхід, Двері – вихід), для яких подається команда

“CardCode: “1234567890”                    // код картки, який буде збережено в журналі для події “Вхід дозволено”.

}

Вихід дозволено“:

POST http://localhost:40001/json/DoorAccessOut

{

“UserSID”: 1234567890123456,            // ідентифікатор сеансу, отриманий в результаті запиту Authenticate

“Token”: 12345,                                   // токен дверей чи токен напрямку проходу (Двері – вхід, Двері – вихід), для яких подається команда

“CardCode: “1234567890”                    // код картки, який буде збережено в журналі для події “Вихід дозволено”

}

Вхід заборонено“:

POST http://localhost:40001/json/DoorDenyAccessIn

{

“UserSID”: 1234567890123456,            // ідентифікатор сеансу, отриманий в результаті запиту Authenticate

“Token”: 12345,                                   // токен дверей чи токен напрямку проходу (Двері – вхід, Двері – вихід), для яких подається команда

“CardCode: “1234567890”                    // код картки, який буде збережено в журналі для події “Вхід заборонено”

}

Вихід заборонено“:

POST http://localhost:40001/json/DoorDenyAccessOut

{

“UserSID”: 1234567890123456,            // ідентифікатор сеансу, отриманий в результаті запиту Authenticate

“Token”: 12345,                                   // токен дверей чи токен напрямку проходу (Двері – вхід, Двері – вихід), для яких подається команда

“CardCode: “1234567890”                    // код картки, який буде збережено в журналі для події “Вихід заборонено”

}

Онлайн режим (детальний опис)

Далі наведено додаткові відомості про режим зовнішнього керування доступом контролера U-PROX IP400 та його підтримку в програмному забезпеченні “U-PROX IP”.

Режим зовнішнього керування доступом, при якому рішення про надання доступу приймаються сервером за командою оператора, або по запиту REST API, доступний в “U-PROX IP” із версії v.3.052.6833, та в пізніших версіях.

Є два режими зовнішнього керування доступом:

1. “Оператор забороняє та дозволяє доступ” – у цьому режимі контролер передає інформацію про будь-яку піднесену картку на сервер, і надає доступ, або видає заборонний сигнал, тільки після відповіді сервера.

2. “Оператор підтверджує надання доступу – у цьому режимі піднесення забороненої карти контролер обробляє самостійно, видаючи сигнал заборони, а інформацію про піднесення дозволеної карти передає на сервер, і протягом кількох секунд чекає від сервера команди на надання чи заборону доступу. В разі відсутності такої команди, після закінчення встановленого часу, контролер надає доступ для піднесеної дозволеної карти.

Для коректної роботи другого режиму (оператор підтверджує надання доступу) необхідно наявність, чи оновлення, мікропрограми контролерів U-PROX IP400 версії не нижче 7.23/8.23 .

Налаштування режиму зовнішнього керування доступу в ПЗ “U-PROX WEB Клієнт”, що доступний за адресою http://localhost:40001/ , після встановлення ПЗ “U-PROX IP Сервер” та ПЗ “U-PROX WEB Сервер”, показано на скріншотах:

чи в класичному клієнті

чи в класичному клієнті

Після завантаження нової конфігурації в контролер, інформація про піднесення карти може бути отримана за REST API у вигляді події:

{

“Event”:[

{

“Device”:{

“Name”:”Турнікет”,

“Token”:23880

},

“Message”:{

“Code”:65555,                          // код події: 65554 – запит на вхід, 65555 – запит на вихід

“Name”:”Запит на вихід”,

},

“Sender”:{

“Name”:”Турнікет – вихід”,

“Token”:23902

},

“User”:{

“EmployeeNumber”:””,

“Post”:””,

“AdditionalFields”:[

],

“Name”:”Петренко”,

“Token”:6580

},

“Department”:{

“Name”:”Адміністрація”,

“Token”:6566

},

“PhotoToken”:23678,

“IconToken”:23679,

“CardCode”:”0B0016B189″,

“Issued”:”\/Date(1591793191053)\/”,

“FaceMaskDetected”:false,

“Temperature”:0,

“AdditionalFields”:[

],

“Token”:34106,

}

]

}

З прикладом отримання подій у режимі Soft Real Time можна ознайомитись у файлах Documentation\html\EventGetList.html та Documentation\html\Photoverification.html у хмарній папці з прикладами REST API:

–  https://drive.google.com/drive/u/0/folders/1yyYWg8pPimNbYoG1XeOhFfIOMLg6Y2ug

Для дозволу проходу необхідно надіслати запит:

POST http://localhost:40001/json/DoorAccessIn чи http://localhost:40001/json/DoorAccessOut

{

“UserSID”:”830730959685833″,            // ідентифікатор сеансу підключення до сервера

“Token”:23902,                                    // Event[i].Sender.Token – токен точки доступу, вказаний в події

“CardCode”:”0B00123456″                   // код карти, якій надано доступ

}

Для заборони проходу необхідно надіслати запит:

POST http://localhost:40001/json/DoorDenyAccessIn чи http://localhost:40001/json/DoorDenyAccessOut

{

“UserSID”:”830730959685833″,            // ідентифікатор сеансу підключення до сервера

“Token”:23902,                                    // Event[i].Sender.Token – токен точки доступу, вказаний в події

“CardCode”:”0B00123456″                   // код карти, якій надано доступ

}

Вас також може зацікавити