APIs RESTful: comandos do seu servidor para o equipamento
Comandos que seu servidor envia a um equipamento por meio do Gateway, com o JSON de requisição e de resposta de cada um.
APIs RESTful Seu servidor → Equipamento · Operações 12–38
LoadLog
API RESTfulServidor → EquipamentoRecupera do equipamento os registros de marcações de ponto dentro de uma janela de tempo. Intervalo máximo recomendado: 30 dias.
{
"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 → EquipamentoRecupera do equipamento detalhes de hardware, limites de capacidade, quantidade de usuários/templates registrados e datas de licença.
{
"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 → EquipamentoRegistra um novo usuário com um número de cartão/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 → EquipamentoRegistra um novo usuário com um PIN/senha 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 → EquipamentoRegistra um usuário com um template facial. Data é um JPEG codificado em Base64 ou um binário específico do equipamento. Size é o tamanho em 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 → EquipamentoRegistra um usuário com um template de impressão digital. Index especifica a posição do 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 → EquipamentoRegistra um usuário com um template de veias da palma. Data é o binário da palma codificado em 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 → EquipamentoRegistra um usuário com uma foto de perfil armazenada no equipamento. Data é um JPEG codificado em 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 → EquipamentoRegistra um usuário com número de cartão e PIN — duas entradas no array 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 → EquipamentoRegistra um usuário com um número de cartão e um template de impressão digital.
{
"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 → EquipamentoRegistra um usuário com um template de veias da palma e um template 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 → EquipamentoRegistra um usuário com cartão, impressão digital e rosto — três templates.
{
"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 → EquipamentoRegistra um usuário com cartão, veias da palma e foto de perfil — três templates.
{
"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 → EquipamentoRegistra um usuário com cartão, senha, impressão digital e rosto — quatro templates.
{
"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 → EquipamentoRegistra um usuário com cartão, senha, veias da palma e foto de perfil — quatro templates.
{
"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 → EquipamentoRegistra um usuário com os seis tipos de credencial — cartão, impressão digital, senha, rosto, palma e 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 → EquipamentoCria um registro de usuário no equipamento sem dados biométricos. Útil para pré-cadastrar antes de cadastrar os templates separadamente.
{
"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 → EquipamentoExclui do equipamento um usuário específico e todos os seus templates biométricos.
{
"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 → EquipamentoExclui do equipamento todos os usuários e seus templates biométricos. Irreversível.
{
"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 → EquipamentoLimpa todos os registros de marcações de ponto do equipamento. Os registros de usuários e os templates não são afetados.
{
"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 → EquipamentoExclui todas as fotos de marcação armazenadas no equipamento. Aplica-se a equipamentos com capacidade de captura de foto.
{
"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 → EquipamentoInstrui o equipamento a reenviar ao seu servidor, via callback, os registros de ponto de um intervalo de tempo. Ú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 → EquipamentoInstrui o equipamento a reenviar ao seu servidor, via callback, todos os dados de usuários cadastrados (perfis e templates).
{
"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 → EquipamentoFaz o equipamento iniciar uma sessão de cadastro de impressão digital no próprio equipamento. O usuário deve estar fisicamente presente no equipamento.
{
"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 → EquipamentoDefine uma janela de acesso com limite de tempo para um usuário. O usuário só consegue se autenticar dentro do intervalo de início–fim 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 → EquipamentoReabilita um usuário desabilitado anteriormente, restaurando sua capacidade de se autenticar no equipamento.
{
"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 → EquipamentoDesabilita um usuário sem excluí-lo. O registro e os templates são mantidos, mas a autenticação fica bloqueada até que ele seja reabilitado.
{
"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 }