Evento equipment.recognized

Evento equipment.recognized

Disparado 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
HeaderDescrição
X-GDREdu-EventTipo do evento (equipment.recognized)
X-GDREdu-Delivery-IdID único da entrega (use para idempotar)
X-GDREdu-SignatureAssinatura 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

CampoTipoDescrição
idstringID único do evento
typestringSempre equipment.recognized
createdAtISO 8601Quando o evento foi gerado
data.directionentry | exitDireção do reconhecimento
data.recognizedAtISO 8601Momento exato do reconhecimento facial
data.equipment.idUUIDID do equipamento
data.equipment.namestringNome do equipamento
data.equipment.typeenumGDREDU_TOTEM, CONTROLID_DEVICE, INTELBRAS_P2P
data.person.typestudent | userTipo da pessoa
data.person.idUUIDID global da pessoa
data.person.hasBranchIdUUIDID do vínculo com a unidade
data.person.branchIdUUIDID da unidade onde ocorreu
data.person.namestringNome da pessoa
data.presence.idUUIDID da presença registrada
data.presence.typeENTRY | EXITTipo da presença
data.presence.statusEARLY | ON_TIME | LATE | nullClassificação da presença em relação ao horário (null se sem horário de aula)
data.presence.matchedTimestring | nullHorário da aula que foi casado (ex: "08:00")
data.presence.classScheduleIdUUID | nullID 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.


Did this page help you?