واجهات RESTful: أوامر من خادمك إلى الجهاز

الأوامر التي يرسلها خادمك إلى الجهاز عبر البوابة، مع JSON الطلب والاستجابة لكل أمر.

واجهات RESTful من خادمك إلى الجهاز · العمليات 12–38

#12

LoadLog

واجهة RESTfulالخادم ← الجهاز

يجلب سجلات بصمات الحضور من الجهاز ضمن نافذة زمنية. الحد الأقصى الموصى به للنطاق: 30 يومًا.

الطلب — POST إلى RESTful endpoint الخاص بك
{
  "Load": {
    "PunchLog": {
      "Filter": {
        "StartTime": "2020-09-17 00:01:33 GMT +0530",
        "EndTime": "2020-09-17 22:01:33 GMT +0530"
      }
    }
  },
  "OperationID": "j95xfejt3vr1",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-17 12:01:33 GMT +0530"
}
الاستجابة — من الجهاز
{
  "Status": "done",
  "OperationID": "j95xfejt3vr1",
  "PunchLog": {
    "ReturnRowCount": "18",
    "Log": [
      { "Type": "CheckOut", "Temperature": 36.8, "InputType": "Face", "UserID": "2", "LogTime": "2020-09-17 16:53:43 GMT +0530", "FaceMask": false },
      { "Type": "CheckOut", "Temperature": 36.6, "InputType": "Palm", "UserID": "1", "LogTime": "2020-09-17 16:54:15 GMT +0530", "FaceMask": false },
      { "Type": "CheckIn",  "Temperature": 36.5, "InputType": "Fingerprint", "UserID": "3", "LogTime": "2020-09-17 09:01:44 GMT +0530", "FaceMask": false }
    ]
  }
}
#13

LoadDeviceInformation

واجهة RESTfulالخادم ← الجهاز

يجلب تفاصيل العتاد وحدود السعة وأعداد المستخدمين/القوالب المسجّلة وتواريخ الترخيص من الجهاز.

الطلب — POST إلى RESTful endpoint الخاص بك
{
  "Load": { "DeviceInformation": "All" },
  "OperationID": "j95xfejt3vr1",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-08-28 12:01:33 GMT +0530"
}
الاستجابة — من الجهاز
{
  "Status": "done",
  "OperationID": "j95xfejt3vr1",
  "StatusCode": 0,
  "DeviceInformation": {
    "DeviceModel": "Hawking Plus (f38+)",
    "Manufacturer": "Dheeram Innovations",
    "MacAddress": "00-01-A9-16-27-AB",
    "StartDate": "03/04/2024",
    "EndDate": "03/04/2025",
    "LastConnectedTime": "13-11-2025 18:03:48 GMT +0530",
    "RegisteredUsers": "0",
    "RegisteredFaces": "0",
    "RegisteredFingerprints": "0",
    "MaximumFacesSupported": "5000",
    "MaximumFingerprintsSupported": "10000",
    "MaximumAttendanceLogsSupported": "500000"
  }
}
#14

AddUserWithCard

واجهة RESTfulالخادم → الجهاز

يسجّل مستخدمًا جديدًا ببطاقة/رقم RFID كوسيلة اعتماد وحيدة.

الطلب
{
  "Add": {
    "User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
    "Template": [{ "Type": "Card", "UserID": "100", "Data": "102836" }]
  },
  "OperationID": "1jxpjeoasu8wl",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-17 11:09:09 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }
#15

AddUserWithPassword

واجهة RESTfulالخادم → الجهاز

يسجّل مستخدمًا جديدًا برمز PIN/كلمة مرور رقمية كوسيلة اعتماد وحيدة.

الطلب
{
  "Add": {
    "User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
    "Template": [{ "Type": "Password", "UserID": "100", "Data": "123456" }]
  },
  "OperationID": "1jxpjeoasu8wl",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-17 11:09:09 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }
#16

AddUserWithFace

واجهة RESTfulالخادم → الجهاز

يسجّل مستخدمًا بقالب وجه. Data هي JPEG مرمّز بـ Base64 أو بيانات ثنائية خاصة بالجهاز. Size هو الطول بالبايت.

الطلب
{
  "Add": {
    "User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
    "Template": [{ "Type": "Face", "UserID": "100", "Size": "25072", "Index": "0", "Data": "/9j/4AAQSkZJRgABAQAAAQABAAD..." }]
  },
  "OperationID": "1jxpjeoasu8wl",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-17 11:09:09 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }
#17

AddUserWithFingerPrint

واجهة RESTfulالخادم → الجهاز

يسجّل مستخدمًا بقالب بصمة واحد. يحدد Index موضع الإصبع (0–9).

الطلب
{
  "Add": {
    "User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
    "Template": [{ "Type": "Fingerprint", "UserID": "100", "Size": "1176", "Index": "0", "Data": "TW9TUzIxAAAELC4ECAUHCc7Q..." }]
  },
  "OperationID": "1jxpjeoasu8wl",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-17 11:09:09 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }
#18

AddUserWithPalm

واجهة RESTfulالخادم → الجهاز

يسجّل مستخدمًا بقالب وريد راحة اليد. Data هي بيانات راحة اليد الثنائية المرمّزة بـ Base64.

الطلب
{
  "Add": {
    "User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
    "Template": [{ "Type": "Palm", "UserID": "100", "Index": "0", "Data": "apUBEOAHv98IAAwAAc/qAgzWDlDL..." }]
  },
  "OperationID": "1jxpjeoasu8wl",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-17 11:09:09 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }
#19

AddUserWithUserPhoto

واجهة RESTfulالخادم → الجهاز

يسجّل مستخدمًا بصورة ملف شخصي مخزّنة على الجهاز. Data هي JPEG مرمّز بـ Base64.

الطلب
{
  "Add": {
    "User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
    "Template": [{ "Type": "UserPhoto", "UserID": "100", "Data": "/9j/4AAQSkZJRgABAQAAAQABAAD..." }]
  },
  "OperationID": "1jxpjeoasu8wl",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-17 11:09:09 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }
#20

AddUserWithCardAndPassword

واجهة RESTfulالخادم → الجهاز

يسجّل مستخدمًا ببطاقة ورمز PIN معًا — إدخالان في مصفوفة Template.

الطلب
{
  "Add": {
    "User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
    "Template": [
      { "Type": "Card",     "UserID": "100", "Data": "102836" },
      { "Type": "Password", "UserID": "100", "Data": "123456" }
    ]
  },
  "OperationID": "1jxpjeoasu8wl",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-17 11:09:09 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }
#21

AddUserWithCardAndFingerPrint

واجهة RESTfulالخادم → الجهاز

يسجّل مستخدمًا برقم بطاقة وقالب بصمة واحد.

الطلب
{
  "Add": {
    "User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
    "Template": [
      { "Type": "Card",        "UserID": "100", "Data": "102836" },
      { "Type": "Fingerprint", "UserID": "100", "Size": "1176", "Index": "0", "Data": "TW9TUzIxAAAELC4E..." }
    ]
  },
  "OperationID": "1jxpjeoasu8wl",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-17 11:09:09 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }
#22

AddUserWithPalmAndFace

واجهة RESTfulالخادم → الجهاز

يسجّل مستخدمًا بقالب وريد راحة اليد وقالب وجه معًا.

الطلب
{
  "Add": {
    "User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
    "Template": [
      { "Type": "Palm", "UserID": "100", "Index": "0", "Data": "apUBEOAHv98IAAwA..." },
      { "Type": "Face", "UserID": "100", "Size": "25072", "Index": "0", "Data": "/9j/4AAQSkZJRgAB..." }
    ]
  },
  "OperationID": "1jxpjeoasu8wl",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-17 11:09:09 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }
#23

AddUserWithCard_FingerPrintAndFace

واجهة RESTfulالخادم → الجهاز

يسجّل مستخدمًا ببطاقة وبصمة ووجه — ثلاثة قوالب.

الطلب
{
  "Add": {
    "User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
    "Template": [
      { "Type": "Card",        "UserID": "100", "Data": "102836" },
      { "Type": "Fingerprint", "UserID": "100", "Size": "1176", "Index": "0", "Data": "TW9TUzIxAAAELC4E..." },
      { "Type": "Face",        "UserID": "100", "Size": "25072", "Index": "0", "Data": "/9j/4AAQSkZJRgAB..." }
    ]
  },
  "OperationID": "1jxpjeoasu8wl",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-17 11:09:09 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }
#24

AddUserWithCard_PalmAndUserPhoto

واجهة RESTfulالخادم → الجهاز

يسجّل مستخدمًا ببطاقة ووريد راحة اليد وصورة ملف شخصي — ثلاثة قوالب.

الطلب
{
  "Add": {
    "User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
    "Template": [
      { "Type": "Card",      "UserID": "100", "Data": "102836" },
      { "Type": "Palm",      "UserID": "100", "Index": "0", "Data": "apUBEOAHv98IAAwA..." },
      { "Type": "UserPhoto", "UserID": "100", "Data": "/9j/4AAQSkZJRgAB..." }
    ]
  },
  "OperationID": "1jxpjeoasu8wl",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-17 11:09:09 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }
#25

AddUserWithCard_Password_FingerPrintAndFace

واجهة RESTfulالخادم → الجهاز

يسجّل مستخدمًا ببطاقة وكلمة مرور وبصمة ووجه — أربعة قوالب.

الطلب
{
  "Add": {
    "User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
    "Template": [
      { "Type": "Card",        "UserID": "100", "Data": "102836" },
      { "Type": "Password",    "UserID": "100", "Data": "123456" },
      { "Type": "Fingerprint", "UserID": "100", "Size": "1176", "Index": "0", "Data": "TW9TUzIxAAAELC4E..." },
      { "Type": "Face",        "UserID": "100", "Size": "25072", "Index": "0", "Data": "/9j/4AAQSkZJRgAB..." }
    ]
  },
  "OperationID": "1jxpjeoasu8wl",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-17 11:09:09 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }
#26

AddUserWithCard_Password_PalmAndUserPhoto

واجهة RESTfulالخادم → الجهاز

يسجّل مستخدمًا ببطاقة وكلمة مرور ووريد راحة اليد وصورة ملف شخصي — أربعة قوالب.

الطلب
{
  "Add": {
    "User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
    "Template": [
      { "Type": "Card",      "UserID": "100", "Data": "102836" },
      { "Type": "Password",  "UserID": "100", "Data": "123456" },
      { "Type": "Palm",      "UserID": "100", "Index": "0", "Data": "apUBEOAHv98IAAwA..." },
      { "Type": "UserPhoto", "UserID": "100", "Data": "/9j/4AAQSkZJRgAB..." }
    ]
  },
  "OperationID": "1jxpjeoasu8wl",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-17 11:09:09 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }
#27

AddUserWithCard_FingerPrint_Password_Face_PalmAndUserPhoto

واجهة RESTfulالخادم → الجهاز

يسجّل مستخدمًا بجميع أنواع الاعتماد الستة — البطاقة والبصمة وكلمة المرور والوجه وراحة اليد وصورة الملف الشخصي.

الطلب
{
  "Add": {
    "User": { "UserID": "100", "FirstName": "Manu", "LastName": "Mona", "UserType": "USER" },
    "Template": [
      { "Type": "Card",        "UserID": "100", "Data": "102836" },
      { "Type": "Password",    "UserID": "100", "Data": "123456" },
      { "Type": "Fingerprint", "UserID": "100", "Size": "1176", "Index": "0", "Data": "TW9TUzIxAAAELC4E..." },
      { "Type": "Face",        "UserID": "100", "Size": "25072", "Index": "0", "Data": "/9j/4AAQSkZJRgAB..." },
      { "Type": "Palm",        "UserID": "100", "Index": "0",    "Data": "apUBEOAHv98IAAwA..." },
      { "Type": "UserPhoto",   "UserID": "100", "Data": "/9j/4AAQSkZJRgAB..." }
    ]
  },
  "OperationID": "1jxpjeoasu8wl",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-17 11:09:09 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }
#28

AddUserWithoutTemplate

واجهة RESTfulالخادم → الجهاز

ينشئ سجل مستخدم على الجهاز دون بيانات بيومترية. مفيد للتسجيل المسبق قبل تسجيل القوالب بشكل منفصل.

الطلب
{
  "Add": {
    "User": { "UserID": "1", "FirstName": "Manu", "LastName": "Mona", "UserType": "User" }
  },
  "OperationID": "1jxpjeoasu8wl",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-17 11:09:09 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }
#29

DeleteUser

واجهة RESTfulالخادم → الجهاز

يحذف مستخدمًا محددًا وجميع قوالبه البيومترية من الجهاز.

الطلب
{
  "Delete": { "User": { "UserID": "User123" } },
  "OperationID": "1jxpjeoasu8wl",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-11 16:15:31 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }
#30

DeleteAllUser

واجهة RESTfulالخادم → الجهاز

يحذف جميع المستخدمين وقوالبهم البيومترية من الجهاز. لا يمكن التراجع عنه.

عملية إتلاف. ستُمحى جميع المستخدمين والقوالب المسجّلة من الجهاز نهائيًا.
الطلب
{
  "Delete": { "User": "All" },
  "OperationID": "j95xfejt3vr1",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-17 12:01:33 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "j95xfejt3vr1", "StatusCode": 0 }
#31

DeleteLogAll

واجهة RESTfulالخادم → الجهاز

يمسح جميع سجلات بصمات الحضور من الجهاز. لا تتأثر سجلات المستخدمين والقوالب.

الطلب
{
  "Delete": { "Log": "All" },
  "OperationID": "j95xfejt3vr1",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-17 12:01:33 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "j95xfejt3vr1", "StatusCode": 0 }
#32

DeleteAttendancePhoto

واجهة RESTfulالخادم → الجهاز

يحذف جميع صور البصمات المخزّنة على الجهاز. ينطبق على الأجهزة القادرة على التقاط الصور.

الطلب
{
  "Delete": { "PunchPhoto": "All" },
  "OperationID": "j95xfejt3vr1",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-17 12:01:33 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "j95xfejt3vr1", "StatusCode": 0 }
#33

ResendAttendance

واجهة RESTfulالخادم → الجهاز

يوجّه الجهاز لإعادة دفع سجلات الحضور ضمن نطاق زمني إلى خادمك عبر Callback. مفيد لاستعادة السجلات الفائتة.

الطلب
{
  "OperationID": "j95xfejt3vr1",
  "Resend": {
    "PunchLog": {
      "Filter": {
        "StartTime": "2020-09-17 15:49:33 GMT +0530",
        "EndTime": "2020-09-17 16:20:33 GMT +0530"
      }
    }
  },
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-17 12:01:33 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "j95xfejt3vr1", "StatusCode": 0 }
#34

ResendAllUser

واجهة RESTfulالخادم → الجهاز

يوجّه الجهاز لإعادة دفع جميع بيانات المستخدمين المسجّلين (الملفات والقوالب) إلى خادمك عبر Callback.

الطلب
{
  "OperationID": "j95xfejt3vr1",
  "Resend": { "User": "All" },
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-17 12:01:33 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "j95xfejt3vr1", "StatusCode": 0 }
#35

EnrollFingerPrint

واجهة RESTfulالخادم → الجهاز

يطلب من الجهاز بدء جلسة تسجيل بصمة على الجهاز نفسه. يجب أن يكون المستخدم حاضرًا فعليًا عند الجهاز.

الطلب
{
  "Enroll": {
    "User": { "UserID": "3", "Type": "Fingerprint", "FirstName": "Rajesh", "LastName": "Ragavendhar" }
  },
  "OperationID": "1jxpjeoasu8wl",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2025-09-25 11:09:09 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }
#36

UpdateAccessTime

واجهة RESTfulالخادم → الجهاز

يضبط نافذة وصول محدّدة زمنيًا للمستخدم. لا يمكن للمستخدم المصادقة إلا ضمن نطاق البداية–النهاية المحدد.

الطلب
{
  "Update": {
    "AccessTime": { "UserID": "20", "Start": "2022-07-11 00:00:00", "End": "2022-07-11 23:59:59" }
  },
  "OperationID": "1jxpjeoasu8wl",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-11 16:39:29 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }
#37

EnableUser

واجهة RESTfulالخادم → الجهاز

يعيد تفعيل مستخدم معطّل سابقًا، فتعود قدرته على المصادقة على الجهاز.

الطلب
{
  "Update": { "User": { "UserID": "1", "Access": "enable" } },
  "OperationID": "1jxpjeoasu8wl",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-17 11:09:09 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }
#38

DisableUser

واجهة RESTfulالخادم → الجهاز

يعطّل مستخدمًا دون حذفه. يبقى السجل والقوالب، لكن تُحجب المصادقة حتى إعادة التفعيل.

الطلب
{
  "Update": { "User": { "UserID": "1", "Access": "disable" } },
  "OperationID": "1jxpjeoasu8wl",
  "AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
  "Time": "2020-09-17 11:09:09 GMT +0530"
}
الاستجابة
{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }