APIs RESTful: comandos de su servidor al dispositivo
Comandos que su servidor envía a un dispositivo a través del Gateway, con el JSON de solicitud y respuesta de cada uno.
APIs RESTful Su servidor → Dispositivo · Operaciones 12–38
LoadLog
API RESTfulServidor → DispositivoRecupera los registros de marcaciones de asistencia del dispositivo dentro de una ventana de tiempo. Rango máximo recomendado: 30 días.
{
"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
API RESTfulServidor → DispositivoRecupera los detalles del hardware, los límites de capacidad, el número de usuarios/plantillas registrados y las fechas de licencia del dispositivo.
{
"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
API RESTfulServidor → DispositivoRegistra un nuevo usuario con un número de tarjeta/RFID como única credencial.
{
"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
API RESTfulServidor → DispositivoRegistra un nuevo usuario con un PIN/contraseña numérico como única credencial.
{
"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
API RESTfulServidor → DispositivoRegistra un usuario con una plantilla facial. Data es un JPEG codificado en Base64 o un binario específico del dispositivo. Size es la longitud en bytes.
{
"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
API RESTfulServidor → DispositivoRegistra un usuario con una plantilla de huella dactilar. Index indica la ranura del dedo (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
API RESTfulServidor → DispositivoRegistra un usuario con una plantilla de venas de la palma. Data es el binario de la palma codificado en 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 }AddUserWithUserPhoto
API RESTfulServidor → DispositivoRegistra un usuario con una foto de perfil almacenada en el dispositivo. Data es un JPEG codificado en 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 }AddUserWithCardAndPassword
API RESTfulServidor → DispositivoRegistra un usuario con un número de tarjeta y un PIN — dos entradas en el arreglo 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 }AddUserWithCardAndFingerPrint
API RESTfulServidor → DispositivoRegistra un usuario con un número de tarjeta y una plantilla de huella dactilar.
{
"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
API RESTfulServidor → DispositivoRegistra un usuario con una plantilla de venas de la palma y una plantilla facial.
{
"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
API RESTfulServidor → DispositivoRegistra un usuario con tarjeta, huella dactilar y rostro — tres plantillas.
{
"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
API RESTfulServidor → DispositivoRegistra un usuario con tarjeta, venas de la palma y foto de perfil — tres plantillas.
{
"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
API RESTfulServidor → DispositivoRegistra un usuario con tarjeta, contraseña, huella dactilar y rostro — cuatro plantillas.
{
"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
API RESTfulServidor → DispositivoRegistra un usuario con tarjeta, contraseña, venas de la palma y foto de perfil — cuatro plantillas.
{
"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
API RESTfulServidor → DispositivoRegistra un usuario con los seis tipos de credencial — tarjeta, huella dactilar, contraseña, rostro, palma y foto de perfil.
{
"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
API RESTfulServidor → DispositivoCrea un registro de usuario en el dispositivo sin datos biométricos. Útil para preregistrar antes de registrar las plantillas por separado.
{
"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
API RESTfulServidor → DispositivoElimina del dispositivo a un usuario concreto y todas sus plantillas biométricas.
{
"Delete": { "User": { "UserID": "User123" } },
"OperationID": "1jxpjeoasu8wl",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-11 16:15:31 GMT +0530"
}{ "Status": "done", "OperationID": "1jxpjeoasu8wl", "StatusCode": 0 }DeleteAllUser
API RESTfulServidor → DispositivoElimina del dispositivo todos los usuarios y sus plantillas biométricas. Irreversible.
{
"Delete": { "User": "All" },
"OperationID": "j95xfejt3vr1",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 12:01:33 GMT +0530"
}{ "Status": "done", "OperationID": "j95xfejt3vr1", "StatusCode": 0 }DeleteLogAll
API RESTfulServidor → DispositivoBorra todos los registros de marcaciones de asistencia del dispositivo. Los registros de usuarios y las plantillas no se ven afectados.
{
"Delete": { "Log": "All" },
"OperationID": "j95xfejt3vr1",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 12:01:33 GMT +0530"
}{ "Status": "done", "OperationID": "j95xfejt3vr1", "StatusCode": 0 }DeleteAttendancePhoto
API RESTfulServidor → DispositivoElimina todas las fotos de marcación almacenadas en el dispositivo. Se aplica a dispositivos con capacidad de captura de fotos.
{
"Delete": { "PunchPhoto": "All" },
"OperationID": "j95xfejt3vr1",
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 12:01:33 GMT +0530"
}{ "Status": "done", "OperationID": "j95xfejt3vr1", "StatusCode": 0 }ResendAttendance
API RESTfulServidor → DispositivoIndica al dispositivo que vuelva a enviar a su servidor, mediante callback, los registros de asistencia de un rango de tiempo. Útil para recuperar registros perdidos.
{
"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
API RESTfulServidor → DispositivoIndica al dispositivo que vuelva a enviar a su servidor, mediante callback, todos los datos de usuarios registrados (perfiles y plantillas).
{
"OperationID": "j95xfejt3vr1",
"Resend": { "User": "All" },
"AuthToken": "COJJ7eiiPBGUfmIQPvh2PJWWDLX7OuKs",
"Time": "2020-09-17 12:01:33 GMT +0530"
}{ "Status": "done", "OperationID": "j95xfejt3vr1", "StatusCode": 0 }EnrollFingerPrint
API RESTfulServidor → DispositivoHace que el dispositivo inicie una sesión de registro de huella dactilar en el propio dispositivo. El usuario debe estar físicamente presente frente al dispositivo.
{
"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
API RESTfulServidor → DispositivoEstablece una ventana de acceso con límite de tiempo para un usuario. El usuario solo puede autenticarse dentro del rango de inicio–fin especificado.
{
"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
API RESTfulServidor → DispositivoVuelve a habilitar a un usuario previamente deshabilitado, restableciendo su capacidad de autenticarse en el dispositivo.
{
"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
API RESTfulServidor → DispositivoDeshabilita a un usuario sin eliminarlo. El registro y las plantillas se conservan, pero la autenticación queda bloqueada hasta que se vuelva a habilitar.
{
"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 }