콜백 API: 장비에서 서버로 전달되는 실시간 이벤트
장비가 콜백 URL로 보내는 모든 이벤트와 서버가 수신하는 JSON, 그리고 서버가 반환해야 하는 응답을 설명합니다.
콜백 API 장비 → 사용자 서버 · 오퍼레이션 1–11
ManuallyUserDeleted
콜백 API장비 → 서버장비에서 사용자가 직접 삭제될 때 발생합니다. UserID와 삭제 시각이 포함됩니다.
{
"RealTime": {
"OperationID": "oy1kjign3sm7",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 07:42:02 GMT +0000",
"UserDeleted": {
"UserID": "1",
"OperationTime": "2020-09-17 13:12:02 GMT +0530"
}
}
}{ "status": "done" }ManuallyDateModified
콜백 API장비 → 서버장비의 날짜/시간이 수동으로 변경될 때 발생합니다. 새로 설정된 값을 보고합니다.
{
"RealTime": {
"OperationID": "1aci5f5o6kbi1",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 07:52:31 GMT +0000",
"DateModified": {
"ModifiedTo": "2020-09-17 10:22:24 GMT +0530",
"OperationTime": "2020-09-17 13:22:31 GMT +0530"
}
}
}{ "status": "done" }ManuallyUserUpdatedWithoutTemplate
콜백 API장비 → 서버장비에서 사용자 프로필(이름/유형)이 업데이트되었으며 생체 정보 변경은 없습니다. Template 배열은 비어 있습니다.
{
"RealTime": {
"UserUpdated": {
"UserID": "1",
"FirstName": "jency",
"LastName": "mary",
"UserType": "User",
"OperationTime": "2020-09-16 18:45:34 GMT +0530",
"Template": []
},
"LabelName": "Burj Khalifa",
"SerialNumber": "ZHM11xxxxxxxx",
"OperationID": "1vsyboxnuuorq",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-16 13:15:33 GMT +0000"
}
}{ "status": "done" }ManuallyUserUpdatedWithCard
콜백 API장비 → 서버장비에서 카드/RFID 템플릿과 함께 사용자가 업데이트되었습니다. Data에 카드 번호가 담깁니다.
{
"RealTime": {
"UserUpdated": {
"UserID": "8", "FirstName": "", "LastName": "", "UserType": "User",
"OperationTime": "2020-09-17 15:33:38 GMT +0530",
"Template": [{ "Type": "Card", "UserID": "8", "Data": "9804445" }]
},
"LabelName": "Burj Khalifa",
"SerialNumber": "ZHM11xxxxxxxx",
"OperationID": "oldcu1ekxdbz",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 10:03:38 GMT +0000"
}
}{ "status": "done" }ManuallyUserUpdatedWithPassword
콜백 API장비 → 서버장비에서 PIN/비밀번호와 함께 사용자가 업데이트되었습니다. Data는 숫자 PIN 문자열입니다.
{
"RealTime": {
"UserUpdated": {
"UserID": "8", "FirstName": "", "LastName": "", "UserType": "User",
"OperationTime": "2020-09-17 15:33:38 GMT +0530",
"Template": [{ "Type": "Password", "UserID": "8", "Data": "124445" }]
},
"LabelName": "Burj Khalifa", "SerialNumber": "ZHM11xxxxxxxx",
"OperationID": "oldcu1ekxdbz",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 10:03:38 GMT +0000"
}
}{ "status": "done" }ManuallyUserUpdatedWithFingerPrint
콜백 API장비 → 서버지문과 함께 사용자가 업데이트되었습니다. Index = 손가락 슬롯 0–9, Size = 바이트 길이, Data = Base64 바이너리.
{
"RealTime": {
"UserUpdated": {
"OperationTime": "2020-09-17 12:48:28 GMT +0530",
"Template": [{
"Type": "Fingerprint", "UserID": "2",
"Size": "1176", "Index": "6",
"Data": "SjNTUzIxAAADcHcECAUHCc7Q..."
}]
},
"LabelName": "Burj Khalifa", "SerialNumber": "ZHM11xxxxxxxx",
"OperationID": "vq01h140jswo",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 13:15:31 GMT +0000"
}
}{ "status": "done" }ManuallyUserUpdatedWithFace
콜백 API장비 → 서버얼굴 템플릿과 함께 사용자가 업데이트되었습니다. Data는 Base64로 인코딩된 JPEG 또는 고유 형식의 얼굴 바이너리입니다(장비에 따라 다름).
{
"RealTime": {
"UserUpdated": {
"OperationTime": "2020-09-17 19:04:55 GMT +0530",
"Template": [{
"Type": "Face", "UserID": "2",
"Size": "28112", "Index": "0",
"Data": "/9j/4AAQSkZJRgABAQAAAQABAAD..."
}]
},
"LabelName": "Burj Khalifa", "SerialNumber": "ZHM11xxxxxxxx",
"OperationID": "5qwmu986vm7c",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 13:15:31 GMT +0000"
}
}{ "status": "done" }ManuallyUserUpdatedWithPalm
콜백 API장비 → 서버손바닥 정맥 템플릿과 함께 사용자가 업데이트되었습니다. Data는 Base64로 인코딩된 손바닥 바이너리입니다.
{
"RealTime": {
"UserUpdated": {
"OperationTime": "2020-09-17 19:10:12 GMT +0530",
"Template": [{
"Type": "Palm", "UserID": "2", "Index": "0",
"Data": "apUBEOAHv98IAAwAAc/qAgzWDlDL..."
}]
},
"LabelName": "Burj Khalifa", "SerialNumber": "ZHM11xxxxxxxx",
"OperationID": "p3rm9kqx1yz0",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 13:40:12 GMT +0000"
}
}{ "status": "done" }ManuallyUserUpdatedWithUserPhoto
콜백 API장비 → 서버프로필 사진과 함께 사용자가 업데이트되었습니다. Data는 Base64로 인코딩된 JPEG입니다.
{
"RealTime": {
"UserUpdated": {
"UserID": "5", "FirstName": "Alex", "LastName": "Thomas",
"UserType": "User",
"OperationTime": "2020-09-17 20:00:00 GMT +0530",
"Template": [{ "Type": "UserPhoto", "UserID": "5", "Data": "/9j/4AAQSkZJRgABAQAAAQABAAD..." }]
},
"LabelName": "Burj Khalifa", "SerialNumber": "ZHM11xxxxxxxx",
"OperationID": "up9h2bxk7q11",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 14:30:00 GMT +0000"
}
}{ "status": "done" }RealTimeAttendancePhoto
콜백 API장비 → 서버촬영된 스냅샷이 포함된 실시간 기록 이벤트입니다(사진 촬영 기능이 있는 장비용). LogPhoto는 Base64로 인코딩된 JPEG입니다.
{
"RealTime": {
"Log": {
"UserID": "3",
"LogPhoto": "/9j/4AAQSkZJRgABAQAAAQABAAD...",
"LogTime": "2020-09-17 07:48:30 GMT +0530"
},
"OperationID": "x58636uon24u",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 04:19:18 GMT +0000"
}
}{ "status": "done" }RealTimePunchLog
콜백 API장비 → 서버기본 실시간 근태 이벤트 — 기록이 발생할 때마다 실행됩니다. 유형, 입력 방식, 체온, 마스크 착용 여부가 포함됩니다.
{
"RealTime": {
"OperationID": "9nu1wak5616p",
"LabelName": "Burj Khalifa",
"SerialNumber": "ZHM11xxxxxxxx",
"PunchLog": {
"Type": "CheckOut",
"Temperature": "36.8",
"FaceMask": false,
"InputType": "Fingerprint",
"UserId": "2",
"LogTime": "2020-09-17 07:48:22 GMT +0530"
},
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 04:19:03 GMT +0000"
}
}{ "status": "done" }