RESTful API'ler: sunucunuzdan cihaza komutlar
Sunucunuzun Gateway üzerinden cihaza gönderdiği komutlar; her biri için istek ve yanıt JSON'u ile.
RESTful API'ler Sunucunuz → Cihaz · İşlemler 12–38
LoadLog
RESTful APISunucu → CihazCihazdan belirli bir zaman aralığındaki devam okutma loglarını alır. Önerilen azami aralık: 30 gün.
{
"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 }
]
}
}LoadDeviceInformation
RESTful APISunucu → CihazCihazdan donanım ayrıntılarını, kapasite sınırlarını, kayıtlı kullanıcı/şablon sayılarını ve lisans tarihlerini alır.
{
"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"
}
}AddUserWithCard
RESTful APISunucu → CihazTek kimlik bilgisi olarak bir kart/RFID numarasıyla yeni bir kullanıcı kaydeder.
{
"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 }AddUserWithPassword
RESTful APISunucu → CihazTek kimlik bilgisi olarak sayısal bir PIN/parolayla yeni bir kullanıcı kaydeder.
{
"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 }AddUserWithFace
RESTful APISunucu → CihazBir yüz şablonuyla kullanıcı kaydeder. Data, Base64 kodlu JPEG veya cihaza özgü ikili veridir. Size bayt uzunluğudur.
{
"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 }AddUserWithFingerPrint
RESTful APISunucu → CihazTek bir parmak izi şablonuyla kullanıcı kaydeder. Index parmak yuvasını belirtir (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 }AddUserWithPalm
RESTful APISunucu → CihazBir avuç içi damar şablonuyla kullanıcı kaydeder. Data, Base64 kodlu avuç içi ikili verisidir.
{
"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 }AddUserWithUserPhoto
RESTful APISunucu → CihazCihazda saklanan bir profil fotoğrafıyla kullanıcı kaydeder. Data, Base64 kodlu JPEG'dir.
{
"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 }AddUserWithCardAndPassword
RESTful APISunucu → CihazHem kart numarası hem PIN ile kullanıcı kaydeder — Template dizisinde iki giriş.
{
"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 }AddUserWithCardAndFingerPrint
RESTful APISunucu → CihazBir kart numarası ve tek bir parmak izi şablonuyla kullanıcı kaydeder.
{
"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 }AddUserWithPalmAndFace
RESTful APISunucu → CihazHem avuç içi damar hem yüz şablonuyla kullanıcı kaydeder.
{
"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 }AddUserWithCard_FingerPrintAndFace
RESTful APISunucu → CihazKart, parmak izi ve yüzle kullanıcı kaydeder — üç şablon.
{
"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 }AddUserWithCard_PalmAndUserPhoto
RESTful APISunucu → CihazKart, avuç içi damar ve profil fotoğrafıyla kullanıcı kaydeder — üç şablon.
{
"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 }AddUserWithCard_Password_FingerPrintAndFace
RESTful APISunucu → CihazKart, parola, parmak izi ve yüzle kullanıcı kaydeder — dört şablon.
{
"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 }AddUserWithCard_Password_PalmAndUserPhoto
RESTful APISunucu → CihazKart, parola, avuç içi damar ve profil fotoğrafıyla kullanıcı kaydeder — dört şablon.
{
"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 }AddUserWithCard_FingerPrint_Password_Face_PalmAndUserPhoto
RESTful APISunucu → CihazAltı kimlik bilgisi türünün tamamıyla kullanıcı kaydeder — kart, parmak izi, parola, yüz, avuç içi ve profil fotoğrafı.
{
"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 }AddUserWithoutTemplate
RESTful APISunucu → CihazCihazda biyometrik veri içermeyen bir kullanıcı kaydı oluşturur. Şablonları ayrıca kaydetmeden önce ön kayıt yapmak için kullanışlıdır.
{
"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 }DeleteUser
RESTful APISunucu → CihazBelirli bir kullanıcıyı ve tüm biyometrik şablonlarını cihazdan siler.
{
"Delete": { "User": { "UserID": "User123" } },
"OperationID": "1jxpjeoasu8wl",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-11 16:15:31 GMT +0530"
}{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }DeleteAllUser
RESTful APISunucu → CihazTüm kullanıcıları ve biyometrik şablonlarını cihazdan siler. Geri alınamaz.
{
"Delete": { "User": "All" },
"OperationID": "j95xfejt3vr1",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 12:01:33 GMT +0530"
}{ "Status": "done", "OperationID": "j95xfejt3vr1", "StatusCode": 0 }DeleteLogAll
RESTful APISunucu → CihazCihazdaki tüm devam okutma loglarını temizler. Kullanıcı kayıtları ve şablonlar etkilenmez.
{
"Delete": { "Log": "All" },
"OperationID": "j95xfejt3vr1",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 12:01:33 GMT +0530"
}{ "Status": "done", "OperationID": "j95xfejt3vr1", "StatusCode": 0 }DeleteAttendancePhoto
RESTful APISunucu → CihazCihazda saklanan tüm okutma fotoğraflarını siler. Fotoğraf yakalama özelliği olan cihazlar için geçerlidir.
{
"Delete": { "PunchPhoto": "All" },
"OperationID": "j95xfejt3vr1",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 12:01:33 GMT +0530"
}{ "Status": "done", "OperationID": "j95xfejt3vr1", "StatusCode": 0 }ResendAttendance
RESTful APISunucu → CihazCihaza, belirli bir zaman aralığındaki devam loglarını Callback ile sunucunuza yeniden push etmesini bildirir. Kaçırılan kayıtları kurtarmak için kullanışlıdır.
{
"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 }ResendAllUser
RESTful APISunucu → CihazCihaza, kayıtlı tüm kullanıcı verilerini (profiller ve şablonlar) Callback ile sunucunuza yeniden push etmesini bildirir.
{
"OperationID": "j95xfejt3vr1",
"Resend": { "User": "All" },
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 12:01:33 GMT +0530"
}{ "Status": "done", "OperationID": "j95xfejt3vr1", "StatusCode": 0 }EnrollFingerPrint
RESTful APISunucu → CihazCihazın cihaz üzerinde bir parmak izi kayıt oturumu başlatmasını tetikler. Kullanıcının cihazın başında fiziksel olarak bulunması gerekir.
{
"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 }UpdateAccessTime
RESTful APISunucu → CihazBir kullanıcı için zaman sınırlı bir erişim aralığı belirler. Kullanıcı yalnızca belirtilen başlangıç–bitiş aralığında kimlik doğrulaması yapabilir.
{
"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 }EnableUser
RESTful APISunucu → CihazDaha önce devre dışı bırakılmış bir kullanıcıyı yeniden etkinleştirir ve cihazda kimlik doğrulama yeteneğini geri verir.
{
"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 }DisableUser
RESTful APISunucu → CihazBir kullanıcıyı silmeden devre dışı bırakır. Kayıt ve şablonlar korunur, ancak yeniden etkinleştirilene kadar kimlik doğrulama engellenir.
{
"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 }