Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.


Russian

Для самостоятельной интеграции СКУД с Promobot ThermoControl необходимо:

1. Docker-контейнер, через который будет осуществляться связь с сервером СКУД. 

Требования к контейнеру:

 - Docker image проекта совмеcтимый с Docker 19

 - Инструкция по сборке контейнера

 - Весь софт должен быть совместим с Ubuntu 16.04

Контейнер может быть предоставлен также в собранном виде.


2. Определить в каком виде хранятся номера карт в базе данных СКУД (например: B9B7A666)

3. Подобрать прошивку для считывателя IronLogic Z2 USB и параметры Promobot ThermoControl, при которых будет происходит считывание карты в виде, в котором они хранятся в базе данных СКУД.

4. Реализовать внутри контейнера следующие методы:

- Получение пользователя по ключу: /api/key/person/

- Блокировка пользователя по ключу: /api/block-person-by-key/

- Разблокировка пользователя по ключу: /api/unblock-person-by-key/


Описание методов с примерами:

1. Блокировка всех ключей пользователя по ключу 


Блок кода
titleЗапрос GET
/api/block-person-by-key/{key}
(/api/block-person-by-key/EA01234567890101) 


Блок кода
titleОтвет (пример)
{
    "error": 0,
    "data": {},
    "message": ""
}


2. Разблокировка всех ключей пользователя по ключу 

Блок кода
titleЗапрос GET
/api/unblock-person-by-key/{key} 
(/api/unblock-person-by-key/EA01234567890101)


Блок кода
titleОтвет (пример)
{
    "error": 0,
    "data": {},
    "message": ""
}


3. Информация о пользователе по ключу


Блок кода
titleЗапрос GET
/api/key/person/{key} 
(/api/key/person/EA01234567890101)


Ответ: 

Объект, содержащий информацию о пользователе data:

МетодРасшифровка
LastNameФамилия 
FirstNameИмя 
MiddleNameОтчество 
AddressАдрес 
BirthDateДата рождения
CompanyНаименование организации
PhoneКонтактный телефон
HomePhoneДомашний телефон
IdУникальный идентификатор
DocumentTypeТип документа
DocumentNumberНомер документа
DocumentSerialsСерия документа
SexПол
BirthplaceМесто рождения
EmailListСписок e-mail адресов сотрудника
IsInBlackListПризнак того, что сотрудник находится в черном списке
IsDismissedПризнак того, что сотрудник уволен
BlackListCommentПричина занесения сотрудника в черный список
DismissedCommentПричина увольнения сотрудника



Блок кода
titleОтвет (пример)
{
"error": 0,
"data": {
    "Id": 34,
    "LastName": "Иванов",
    "FirstName": "Иван",
    "MiddleName": "Иванович",
    "Address": "Пермь",
    "BirthDate": "1986-01-19 00:00:00+05:00",
    "Company": "ЮНИКОРН",
    "Phone": null,
    "HomePhone": "79194800200",
    "DocumentType": 0,
    "DocumentNumber": null,
    "DocumentSerials": null,
    "Sex": 1,
    "Birthplace": "Белдяшки",
    "EmailList": "",
    "IsInBlackList": false,
    "IsDismissed": true,
    "BlackListComment": null,
    "DismissedComment": "Тест"
    },
"message": ""
}


Контейнер будет установлен непосредственно на терминале Promobot ThermoControl, методы должны быть доступны для вызова на localhost. Также контейнер должен иметь конфигурационный файл для настройки связи с сервером СКУД.


English

Pagetitle
Integration between Promobot ThermoControl and ACS
Integration between Promobot ThermoControl and ACS

ACS - Access Control and management System

To do the integration you need to:

  1. Get Docker-container through which communication with the ACS server will be carried out.
    Container requirements:
    Docker project image compatible with docker 19
    - Container assembly manual
    - All software must be compatible with ubuntu 16.04
    The container can also be provided in assembled form.
  2. Define the format of card numbers in the ACS database (e.g. B9B7A666)
  3. Select firmware for IronLogic Z2 USB reader and Promobot ThermoControl parameters, at which the card will be read in the form in which they are stored in the ACS database.
  4. Implement the following methods inside the container:
    Getting a user by key: /api/key/person/
    Blocking a user by key: /api/block-person-by-key/
    Unlocking a user by key: /api/unblock-person-by-key/

Methods description with examples:

  1. Locking all user keys by key

    Блок кода
    titleGET request
    /api/block-person-by-key/{key}
    (/api/block-person-by-key/EA01234567890101) 




    Блок кода
    titleResponse (example)
    {
        "error": 0,
        "data": {},
        "message": ""
    }


  2. Unlocking all user keys by key

    Блок кода
    titleGET request
    /api/unblock-person-by-key/{key} 
    (/api/unblock-person-by-key/EA01234567890101)




    Блок кода
    titleResponse (example)
    {
        "error": 0,
        "data": {},
        "message": ""
    }



  3. User information by key

    Блок кода
    titleGET request
    /api/key/person/{key} 
    (/api/key/person/EA01234567890101)



    Response:
    data - an object containing information about the user:


    Method
    LastName
    FirstName
    MiddleName
    Address
    BirthDate
    Company
    Phone
    HomePhone
    Id
    DocumentType
    DocumentNumber
    DocumentSerials
    Sex
    Birthplace
    EmailList
    IsInBlackList
    IsDismissed
    BlackListComment
    DismissedComment


    Блок кода
    titleResponse (example)
    {
    "error": 0,
    "data": {
        "Id": 34,
        "LastName": "Иванов",
        "FirstName": "Иван",
        "MiddleName": "Иванович",
        "Address": "Пермь",
        "BirthDate": "1986-01-19 00:00:00+05:00",
        "Company": "ЮНИКОРН",
        "Phone": null,
        "HomePhone": "79194800200",
        "DocumentType": 0,
        "DocumentNumber": null,
        "DocumentSerials": null,
        "Sex": 1,
        "Birthplace": "Белдяшки",
        "EmailList": "",
        "IsInBlackList": false,
        "IsDismissed": true,
        "BlackListComment": null,
        "DismissedComment": "Тест"
        },
    "message": ""
    }



    The container will be installed directly on the Promobot ThermoControl terminal, the methods must be available to be called on localhost. Also, the container must have a configuration file for setting up communication with the ACS server.