Resumo
Este manual explica os requerimentos e o processo de integração entre os sistemas de controle de acesso da interlaken e o sistema de gestão de um cliente.
1. Glossário
Cliente: Empresa contratante do ERP e do CAIF.
CAIF: Sistema para administrar o control de acesso de IntegraFácil.
ERP (Enterprise Resource Planning): Sistema de gestão usado pelo cliente.
2. Comunicação (API HTTP e Webhooks)
O IntegraFácil se comunica via API HTTP, permitindo integração direta entre nossos dispositivos e sua aplicação.
Quando um usuário se identifica em um de nossos dispositivos, enviamos uma requisição para sua API contendo os dados do usuário e do dispositivo. Aguardamos uma resposta para confirmar ou negar o acesso.
Além disso, nossa API também permite o envio de logs de acessos realizados, garantindo o registro e o monitoramento das atividades.
3. Integração
A Integração entre os sistemas é realizada através do identificador do aluno, nome e foto. Esses dados são entregados e mantidos pelo ERP e o sistema de controle de acesso (CAIF) não os altera. Todos os dados gerados pelo CAIF são vinculados ao ID do aluno.
A integração entre os sistemas ocorre por meio do identificador do aluno, nome e foto, que são fornecidos e mantidos pelo ERP. O sistema de controle de acesso (CAIF) apenas utiliza esses dados, sem modificá-los.
Todos os registros gerados pelo CAIF são vinculados ao identificador único do aluno, garantindo rastreabilidade e consistência nas operações.
Fig 1. Fluxo de integração entre CAIF e o ERP do cliente.
Fig 2. Interface do sistema de controle de acesso - CAIF
3.1. Endpoints para consulta
O integrador deve fornecer quatro endpoints para consulta:
- Buscar nomes por termo parcial – Retorna uma lista de alunos cujo nome contém o termo informado.
- Obter dados do aluno pelo ID – Retorna o nome e a foto do aluno com base no seu identificador único.
- Consultar status de liberação por grupo de dispositivos – Verifica se determinado grupo de dispositivos tem permissão de acesso.
- Listar IDs de alunos por unidade e academia – Retorna os identificadores dos alunos associados a uma unidade específica e sua respectiva academia.
Nota: As URLs a seguir são apenas para exemplificar, a estrutura delas é definida pelo cliente.
3.1.1. Obter a lista de nomes por parte do nome
Usado para obter nome e foto por parte do nome.
Resposta:
3.1.2. Obter nome e foto pelo id do aluno
Usado para obter nome e foto por id do aluno.
Resposta:
3.1.3. Obter status de liberação por grupo de dispositivo
Usado para obter status de liberação por grupo de dispositivo.
Resposta:
3.1.4. Obter lista de Id de alunos pelo id da unidade e da academia
Usado para obter lista de IDs de alunos por id da unidade ou sede.
Resposta:
3.2. Endpoint para recepção de logs de acesso
Embora não seja obrigatório, recomenda-se fornecer um endpoint para recebimento dos logs de acesso. Isso permite ao ERP contabilizar os registros e acompanhar o histórico de acessos.
Como nosso sistema opera normalmente sem conexão com a internet, os logs gerados durante períodos offline serão sincronizados quando a conexão for restabelecida, garantindo que o ERP tenha acesso a todos os registros.
Os logs são gerados em diferentes tipos de identificação, incluindo biometria, leitura de QR Code e RFID. No caso de dispositivos como torniquetes, os logs também registram o giro do mecanismo.
3.2.1. Log de identificação digital bem sucedida
Isso é o que o cliente receberá:
{ "id":"000000000000005578332020-08-19T18:22:21Z", "numeroSerie":"049226c597c8", "grupo":"turnstile", "identificacao":{ "horario":"2020-08-19T18:22:21Z", "dispositivo":"finger", "numeroSerie":"557833", "usuarioId":"200", "convidado":false }, "cliente":{ "url":"http://192.168.0.5:8000/log", "recebimentos":[ ] }, "pgProcessamento":{ "horario":"2020-08-19T18:22:21Z", "response":"{\"text\":\"text to turnstile\",\"clockwiseFree\":true,\"counterclockwiseFree\":false,\"accessTime\":10000,\"msgToReception\":\"msg to reception\"}", "cacheUsado":false }, "giro":{ "horario":"2020-08-19T18:22:26Z", "sentido":"antiHorario", "direcao":"entrada" }, "motivoLiberacaoManual":"", "processamentos_json":null, "liberaCatraca":{ "texto":"text to turnstile", "sentidoHorarioLiberado":true, "sentidoAntiHorarioLiberado":false, "liberacaoTempo":10000, "semComando":false, "msgRecepcao":"msg to reception", "senha":null, "nomeCatraca":"Catraca1", "grupoCatracas":"turnstile", "nsPLC":"049226c597c8" } }
3.2.2. Log de identificação facial bem sucedida
Isso é o que o cliente receberá:
4. Endpoint para recebimento de dados biométricos (facial e digital) – opcional
É possível receber registros biométricos de impressões digitais e rosto de um associado. Fornecer um endpoint para o envio desses dados, vai permitir que o ERP mantenha uma cópia de segurança.
Esse backup pode ser útil para restaurar dados locais no ServidorIF, caso necessário, ou para migrar informações biométricas do usuário para outro ServidorIF sem perda de dados.
4.1. Log de registro de template facial
Isso é o que o cliente receberá:
{ "type":"faceEnrollLog", "id":"a2cc0e5e-75df-4186-9a80-bcf883afc6ab", "personId":"2", "clientUrlLog":"http://localhost:8000/logs", "clientUrlLogHttpMethod":"post", "clientUrlLogHeader":"{\"Content-Type\": \"application/json;charset=utf-8;\", \"Authorization\": \"Token{{token}}\",\"tenant\": \"{{tenant}}\" }", "clientUrlLogError":null, "clientUrlLogReceived":null, "needsSync":true, "photoBase64":"/9j/....//Z", "webSrvIFReceived":null, "webSrvIFError":null, "createdAt":"2022-10-18T14:50:11.000Z", "updatedAt":"2022-10-18T14:50:11.000Z" }
4.2. Log de registro de template digital
Isso é o que o cliente receberá:
{ "type":"fingerEnrollLog", "id":"fas1d5b6-75df-4186-9a80-bcf883afc555", "personId":"2", "serialNumber":"123456", "fingerIdx":6, "clientUrlLog":"http://localhost:8000/logs", "clientUrlLogHttpMethod":"post", "clientUrlLogHeader":"{\"Content-Type\": \"application/json;charset=utf-8;\", \"Authorization\": \"Token{{token}}\",\"tenant\": \"{{tenant}}\" }", "clientUrlLogError":null, "clientUrlLogReceived":null, "needsSync":true, "template":"/9j/....//Z", "webSrvIFReceived":null, "webSrvIFError":null, "createdAt":"2022-10-18T15:51:11.000Z", "updatedAt":"2022-10-18T15:51:11.000Z" }
5. Simulador
O simulador de acesso é uma funcionalidade incluída no servidorIF e que permite testar a integração com os serviçõs do cliente; disponível através do seguinte link:
https://if-instaladores.s3.amazonaws.com/servidorIF/servidorIF.zip
Uma vez descomprimido e executado o arquivo servidorif.exe como ADM, o servidorIF registra a porta 8080 e é possível abrir sua interface pelo navegador em http://localhost:8080
- Do lado superior direito, estão os botões, Configurações e Simulador. Clique em Simulador.
Fig 3. Acesso ao simulador de dispositivos.
- Em Configurações são definidos os endpoints do cliente. Em Simulador, é testado o tipo de controle de acesso e em Resultado é exibida a resposta do sistema do cliente.
- Configurações > URL é o endpoint do cliente a ser chamado quando alguém se identifica pelo torniquete. Permite customizar opções da chamada HTTP.
- Simulador > Info recebe o código do aluno a ser verificado.
Nota: O botão Executar vai mostrar as informações de request e response, enquanto que o botão Executar (Simular Catraca) vai direcionar o response do sistema do cliente para o simulador. Caso seja liberado um ou ambos os sentidos, vai mostrar na cor verde e clicando é possível simular o giro.
Este artigo foi útil?
Que bom!
Obrigado pelo seu feedback
Desculpe! Não conseguimos ajudar você
Obrigado pelo seu feedback
Feedback enviado
Agradecemos seu esforço e tentaremos corrigir o artigo