Evento equipment.recognized
Evento equipment.recognized
equipment.recognizedDisparado quando um equipamento reconhece um estudante ou um responsável entrando ou saindo da escola.
Headers da requisição
Content-Type: application/json
X-GDREdu-Event: equipment.recognized
X-GDREdu-Delivery-Id: 550e8400-e29b-41d4-a716-446655440000
X-GDREdu-Signature: sha256=7d38c5b34c1f8b3a09d3c7c5e8e6f5d4c3b2a1098765432100abcdef0123456789
User-Agent: GDREdu-Webhook/1.0
| Header | Descrição |
|---|---|
X-GDREdu-Event | Tipo do evento (equipment.recognized) |
X-GDREdu-Delivery-Id | ID único da entrega (use para idempotar) |
X-GDREdu-Signature | Assinatura HMAC-SHA256 do body (veja Assinatura HMAC) |
Payload (request body)
{
"id": "evt_550e8400-e29b-41d4-a716-446655440000",
"type": "equipment.recognized",
"createdAt": "2026-06-19T08:00:12.345Z",
"data": {
"direction": "entry",
"recognizedAt": "2026-06-19T08:00:12.000Z",
"equipment": {
"id": "550e8400-e29b-41d4-a716-446655440001",
"name": "Totem Entrada Principal",
"type": "GDREDU_TOTEM"
},
"person": {
"type": "student",
"id": "550e8400-e29b-41d4-a716-446655440002",
"hasBranchId": "550e8400-e29b-41d4-a716-446655440003",
"branchId": "550e8400-e29b-41d4-a716-446655440004",
"name": "João da Silva"
},
"presence": {
"id": "550e8400-e29b-41d4-a716-446655440005",
"type": "ENTRY",
"status": "ON_TIME",
"matchedTime": "08:00",
"classScheduleId": "550e8400-e29b-41d4-a716-446655440006"
}
}
}Campos do payload
| Campo | Tipo | Descrição |
|---|---|---|
id | string | ID único do evento |
type | string | Sempre equipment.recognized |
createdAt | ISO 8601 | Quando o evento foi gerado |
data.direction | entry | exit | Direção do reconhecimento |
data.recognizedAt | ISO 8601 | Momento exato do reconhecimento facial |
data.equipment.id | UUID | ID do equipamento |
data.equipment.name | string | Nome do equipamento |
data.equipment.type | enum | GDREDU_TOTEM, CONTROLID_DEVICE, INTELBRAS_P2P |
data.person.type | student | user | Tipo da pessoa |
data.person.id | UUID | ID global da pessoa |
data.person.hasBranchId | UUID | ID do vínculo com a unidade |
data.person.branchId | UUID | ID da unidade onde ocorreu |
data.person.name | string | Nome da pessoa |
data.presence.id | UUID | ID da presença registrada |
data.presence.type | ENTRY | EXIT | Tipo da presença |
data.presence.status | EARLY | ON_TIME | LATE | null | Classificação da presença em relação ao horário (null se sem horário de aula) |
data.presence.matchedTime | string | null | Horário da aula que foi casado (ex: "08:00") |
data.presence.classScheduleId | UUID | null | ID do horário de aula casado |
Resposta esperada
Responda com um código 2xx em até 30 segundos para confirmar o recebimento. Qualquer outro código (ou timeout) será considerado falha e disparará uma retentativa.
HTTP/1.1 200 OK
Content-Type: application/json
{ "ok": true }Veja o exemplo completo em Exemplo de receptor.
Updated about 21 hours ago
Did this page help you?
