API інтеграція в U-Prox

Picture of Менеджер Viatec

Менеджер Viatec

Наша система U-Prox має інструментарій API-інтеграцій (SOAP, REST, JSON, XML), що може бути використаний для вашого завдання.

ПЗ U-Prox – є безкоштовним, інструментарій API – також.

Нижче відповідь по інтеграції, а також розширено про API онлайн керування.

ПЗ U-Prox має можливість API-інтеграцій зі стороннім ПЗ.
– необхідно встановлювати наше ПЗ U-Prox (компоненти – сервер, клієнт, веб-сервер).
– робота “обладнання U-Prox” <–> ПЗ “U-Prox” <==> “ваше ПЗ”

Можливі наступні варіанти:

– двостороння інтеграція через веб-протоколи нашого ПЗ із будь-чим іншим (АРІ інтеграція)
– експорт даних зі звітів ПЗ U-Prox стандартними засобами ПЗ та ОС, та імпорт/використання цих даних далі стороннім ПЗ
– вибірка даних безпосередньо із баз даних способом SQL запитів (наприклад в SQL студії, 
  чи скриптами) мовою Transact-SQL (T-SQL) – якоїсь авторизації НЕ потребує

——————————————————————————————————————–
ПЗ “U-Prox IP” (воно ж “U-Prox WEB”) має 2 інтерфейси – класичний windows інтерфейс, та веб-інтерфейс:

– в класичному інтерфейсі експорт звітів може бути в текстовому форматі *.CSV (ручний та автоматичний експорт), 
  та в форматі Excel (тільки ручний експорт), за умови що Excel встановлено на ПК

– у веб-інтерфейсі – створення та експорт звітів вручну, у форматі *.PDF , або через API .

Рекомендована до використання актуальна версія ПЗ (v3.057.7283) – на сайті, сторінка “Завантаження”:
– https://access.u-prox.systems/uk/zavantazhennja/

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

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

І. – по API
**************************************************************************************
*

Перегляньте наявну інформацію на сторінці “API інтеграції”, нашого сайту:
– https://access.u-prox.systems/uk/api-integracii-2/

Перегляньте довідник по функціях (доступно після встановлення комплексу U-Prox) – http://127.0.0.1:40001/json/help (Eng)

Також на встановленій системі U-Prox, в браузері, за допомогою вікна розробника, можна переглядати взаємодію U-Prox WEB з API
——————————————————————————————————————–
U-Prox WEB Server REST API

Останні версії прикладів і документації U-Prox WEB API містяться в хмарній папці:
https://drive.google.com/drive/folders/1QpNENLEwYwjy_uOeFmjNmlSlIoVTf33b

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для демонстрації роботи web-додатків DoorControl.html, Employees.html, Visitors.html та ін. необхідно виконати наступні дії:
1. Завантажити образ дистрибутивного диска U-Prox IP.v3.057.7573.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 можна ознайомитись у файлах DocumentationhtmlEventGetList.html та
DocumentationhtmlPhotoverification.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″                // код карти, якій надано доступ
}
 

Нещодавно переглянуті статті