Для самостоятельной интеграции СКУД с 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. Блокировка всех ключей пользователя по ключу
Запрос GET:
/api/block-person-by-key/{key}
(/api/block-person-by-key/EA01234567890101)
Ответ:
Пример:
{
"error": 0,
"data": {},
"message": ""
}
2. Разблокировка всех ключей пользователя по ключу
Запрос GET:
/api/unblock-person-by-key/{key} (/api/unblock-person-by-key/EA01234567890101)
Ответ:
Пример:
{
"error": 0,
"data": {},
"message": ""
}
3 .Информация о пользователе по ключу пользователя
Запрос 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 - Причина увольнения сотрудника
Пример:
{
"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": ""
}
Контейнер будет установлен непосредственно на стойке и методы должны быть доступны для вызова на localhost. Также контейнер должен иметь конфигурационный файл для настройки связи с сервером СКУД.