コールバック API:機器からサーバーへのリアルタイムイベント
機器がコールバック URL に送信するすべてのイベントと、サーバーが受信する JSON、および返すべきレスポンスを説明します。
コールバック API 機器 → お客様のサーバー · 操作 1~11
#01
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" }#02
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" }#03
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" }#04
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" }#05
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" }#06
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" }#07
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" }#08
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" }#09
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" }#10
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" }#11
RealTimePunchLog
コールバック API機器 → サーバー主要なリアルタイム勤怠イベント — 打刻のたびに発生します。種別、入力方法、体温、マスク着用状況を含みます。
Type: CheckIn · CheckOut · BreakOut · BreakIn · OverTimeIn · OverTimeOut · MealIn · MealOut | InputType: Fingerprint · Face · Palm · Card · Password
リクエスト — サーバーに送信されます
{
"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" }