Introdução ao Monitor

Tanto no modo Standalone quanto no Enterprise, para se monitorar eventos assíncronos será necessário utilizar os serviços disponibilizados pelo Monitor. O monitor, como o próprio nome sugere, monitora eventos do equipamento e realiza requests enviando estes eventos nos endpoints descritos a seguir, estes endpoints deverão ser implementados em um servidor externo para coleta dos eventos.

Os eventos assíncronos que podem ser monitorados são: alteração nos logs de acesso e logs de alarme, cadastro remoto de cartão e biometria, giros de catraca, abertura de portas e mudanças no modo de operação (ex. entrar e sair em modo standalone/enterprise/contingência).

Para utilizar o monitor é necessário definir alguns parâmetros de configuração descritos em monitor.

Endpoints

Um endpoint de um web server é a URL onde seu serviço pode ser acessado por uma aplicação cliente, portanto os endpoints são interfaces entre a API e a aplicação consumidora. A URL final onde os eventos serão envidados pelo equipamento será: hostname + ":" + port + "/" + end_point

POST /api/notifications/dao

Enviado quando há alterações na tabela access_logs (inserção, alteração ou deleção) e também monitora as alterações realizadas na tabela alarm_logs (inserção, alteração ou deleção).

Formato do JSON que o equipamento envia para o servidor:

{
  "object_changes":
  [
  {
    "object":"access_logs",
    "type":"inserted",
    "values":{
      "id":"519",
      "time":"1532977090",
      "event":"12",
      "device_id":"478435",
      "identifier_id":"0",
      "user_id":"0",
      "portal_id":"1",
      "identification_rule_id":"0",
      "card_value":"0",
      "log_type_id":"-1"
    }
  }
  ],
  "device_id":478435
}

POST /api/notifications/template

Enviado quando um template é cadastrado remotamente. Veja Cadastro Remoto Biometria Cartão para mais informações.

POST /api/notifications/card

Enviado quando um cartão é cadastrado remotamente. Veja Cadastro Remoto Biometria Cartão para mais informações.

POST /api/notifications/catra_event

Este endpoint é exclusivo para a catraca iDBlock, ele envia eventos de confirmação do giro, os eventos possíveis são:

  • EVENT_TURN_LEFT: Confirmação de giro à esquerda, que poderá ser entrada ou saída dependendo do valor do parâmetro gateway.
  • EVENT_TURN_RIGHT: Confirmação de giro à direita, que poderá ser entrada ou saída dependendo do valor do parâmetro gateway.
  • EVENT_GIVE_UP: Ocorre quando um usuário se identifica na catraca, tem seu acesso autorizado, porém não passa por ela, desistindo assim da realização do acesso/giro.

Formato do JSON que o equipamento envia para o servidor:

{
  "event": {
    "type": 7,
    "name": 'TURN LEFT',
    "time": 1484126902
  },
  "device_id": 935107
}

POST /api/notifications/operation_mode

Um request é enviado quando há mudança no modo de operação do equipamento (e.g.: entra ou sai do modo de contingência). Quando o equipamento liga, este request é enviado com o campo "last_offline": 0, além disso temos o campo exception_mode que indica se o equipamento está no modo exceção (podendo ser vazio).

Formato do JSON que o equipamento envia para o servidor:

{
  "operation_mode": {
    "mode": 0,
    "mode_name": "DEFAULT",
    "time": 1490271121,
    "last_offline": 1490261121
    "exception_mode":""
  },
  "device_id": 123456
}

POST /api/notifications/door

Neste end point, é enviada uma mensagem quando os relês do equipamento mudam de estado, o que na maior parte dos casos indicará quando uma porta é aberta e fechada. Na mensagem consta o id da porta que mudou de estado e o seu estado atual (aberta ou fechada). O id da porta é representado por um número inteiro que varia de 1 ao número de portas disponíveis, no caso da iDBox podendo chegar até a 4. O estado da porta é um valor booleano: verdadeiro se estiver aberta e falso se fechada.

Formato do JSON que o equipamento envia para o servidor:

{
  "door": {
    "id" : 1,
    "open" : true
  },
  "device_id": 1038508,
  "time": 1575475894
}

POST /api/notifications/secbox

Neste end point, é enviada uma mensagem quando a relê da security box muda de estado, o que indicará quando uma porta é aberta ou fechada. O corpo da mensagem consta o id porta que mudou de estado e o estado atual. O id da porta é representado por um número inteiro enquanto o estado é um valor booleano: verdadeiro se estiver aberta e falso se fechada.

Formato do JSON que o equipamento envia para o servidor:

{
  "secbox": {
    "id" : ,
    "open" :
  }
}