Поддерживается терминал iFace 305
Информация о оборудовании: https://itconnect24.ru/homepage/products/turnstile-controller-iface-305/
Всё взаимодействие основано на отправке http get\POST запросов на URL вида http://ip:port/path и получение json ответов в кодировке UTF-8.
Запрос: GET http://ip:port/Devices
Ответ: {
"device_id": "1",
"device_ip": "192.168.0.1",
"device_port": 8080,
"device_biometrics": true,
"device_faceid": true,
"device_type": "NFUINFO",
"device_config_string": "параметры конфигурации",
"device_org": "ORG123"
}
где
• device_id: уникальный идентификатор считывателя (например id=1 вход, id=2 выход, id=3 вход в VIP раздевалку)
• device_ip: IP адрес контроллера
• device_port: Порт контроллера
• device_biometrics: наличие биометрии
• device_faceid: наличие faceid
• device_type: "NFUINFO", тип устройства
• device_config_string: дополнительные параметры
• device_org: : уникальный идентификатор организации (услуги)
POST http://ip:port/checkaccess
Данные в теле запроса: {
"device_id":"192.168.0.102",
"client_card":"00",
"minutes":5,
"cells":"184;185"
}
Или есть только face_id без карты
{
"device_id":"192.168.0.102",
"client_id":"00",
"minutes":5,
"cells":"184;185"
}
где
• device_id: уникальный идентификатор считывателя (например id=1 вход, id=2 выход, id=3 вход в VIP раздевалку)
• client_card: идентификатор карты
• client_id: идентификатор клиента
• minutes: количество минут для солярия
• cells: строка закрытых номеров шкафов
Ответ: {
"client_id": "123456789",
"text": "Добро пожаловать в наш комплекс!",
"grant_access": 1
}
где
• client_id: уникальный идентификатор клиента
• text: текстовое сообщение, выводимое на дисплей считывателя
• grant_access: параметр разрешения прохода (1-проход разрешен, 0-проход запрещён). Значение данного параметра определяется из внутренних требований и правил конечного заказчика (например: клиент не зарегистрирован, есть задолженность, контракт не активен и т.д). Рекомендуем выдавать сообщения, прочитав которые посетитель поймет причину отказа в доступе, либо его дальнейшие действия
POST http://ip:port/event
Данные в теле запроса: {
"device_id":"192.168.0.102",
"client_card":"00",
"minutes":5,
"cells":"184;185"
}
Или есть только face_id без карты
{
"device_id":"192.168.0.102",
"client_id":"00",
"minutes":5,
"cells":"184;185"
}
Исходящие параметры:
где
• device_id: уникальный идентификатор считывателя (например id=1 вход, id=2 выход, id=3 вход в VIP раздевалку)
• client_card: идентификатор карты
• client_id: идентификатор клиента
• minutes: количество минут для солярия
• cells: строка закрытых номеров шкафов
Ответ: {
"status": "success",
"message": ""
}
или при наличии ошибки
{
"status": "error",
"message": "Invalid event ID"
}
Входящие параметры:
Ответ на запрос возвращается строка с "ОК" в случае успешной обработки либо текст ошибки.
POST http://ip:port/users
Данные в теле запроса: {
"client_id":"d434c479-a1ee-11e8-8154-9c5c8e747603",
"client_photo":"Base64Строка"
}
где
• client_id: идентификатор клиента
• client_photo: фото клиента в Base64
DELETE http://ip:port//users/<client_id>
POST http://ip:port/users/usercheck
Данные в теле запроса: {
" device_id":"d434c479-a1ee-11e8-8154-9c5c8e747603",
"client_photo":"Base64Строка"
}
где
• device_id: уникальный идентификатор считывателя. Строка, только для информации в логах, фиксация, откуда прилетают запросы
• client_photo: фото клиента в Base64 - JPEG файла изображения
метод возвращает client_id человека у которого найдена максимальная схожесть по лицу
Стандартный порт API: 8080
Стандартный порт FaceId: 8181