MII/API

De uTech Tecnologia
Ir para: navegação, pesquisa

API de integração com Intercomunicador IP uTech MII

Tabela de conteúdo


Protocolo / Formato das requisições


Integração do intercomunicador uTech MII via API - Comandos e Eventos

  • Comandos: Serão enviados da aplicação para o intercomunicador.
  • Eventos: Serão enviados pelo intercomunicador para a aplicação (O destino dos eventos deve ser configurado no Intercomunicador).



Métodos e Formatos

Formato dos Comandos

  • Comandos enviados para o intercomunicador, devem utilizar o protocolo HTTP] e os métodos [GET] e [POST].
  • As respostas estarão codificadas no padrão JSON (Caso houver dados. Veja a lista completa de comandos e eventos abaixo)

Requisição:

http://IP_DO_INTERCOMUNICADOR:porta/?request=<requisição>...

Resposta do Comando

    • 400 => Requisição ou parâmetros incorretos!
    • 200 => Requisição OK.
Content-Type: application/json

{
    "Interface1":{
        "relay":"off",
        "sensor":"off",
        "button":"off"
    },
    "Interface2":{
        "relay":"off",
        "sensor":"off",
        "button":"off"
    }
}


Formato dos Eventos

  • Para eventos gerados pelo intercomunicador, será enviado uma requisição [HTTP] utilizando o método [GET].

Evento:

http://ip:porta/url/?event=alarm&state=on
User-Agent: uTech/0000002874
Connection: close
Date: Wed, 13 Jun 2018 17:22:35
Host: 10.0.0.200


Utilize o campo (header http) User-Agent para identificar qual intercomunicador está enviando os eventos para sua aplicação.


Resposta do evento

A aplicação deverá responder os eventos com o Status code 200 OK

Autenticação


Para acesso com usuário e senha, é utilizado o método e autenticação Basic. Veja sobe em: Basic Authentication

Comandos

Comandos enviados pela Aplicação ao intercomunicador
Versão Comando enviado para o intercomunicador solicitando dados de versão, modelo e numero de série do equipamento.
Status Comando enviado para o intercomunicador solicitando status dos relés, sensores e botoeiras.
Gerar chamada Comando enviado para o intercomunicador para gerar uma chamadas.
Liberar chamada Comando enviado para o intercomunicador liberar/desligar uma chamada.
Status da chamada Comando enviado para verificar o status de uma chamada em andamento.
Listar usuários Comando enviado para o intercomunicador para solicitar a lista de usuários cadastrados.
Buscar Usuário Comando enviado para o intercomunicador para solicitar a configuração de um usuário.
Buscar Resumo de Usuários Comando utilizado solicitar lista com total de usuários/contas de acesso.
Adicionar usuário Comando enviado para o intercomunicador solicitando a inclusão de um novo usuário.
Adicionar usuário automaticamente Comando enviado para o intercomunicador solicitando a inclusão automática de um novo usuário. (Será inserido automaticamente o próximo cartão ou QR Code lido.
Cadastrar Biometria Comando enviado para o intercomunicador para cadastrar a Biometria de um usuário.
Verificar Permissões de um usuário Comando enviado para o intercomunicador para verificar se um usuário tem permissão de acesso.
Remover usuário Comando enviado para o intercomunicador solicitando remoção de um usuário.
Remover usuário automaticamente Comando enviado para o intercomunicador solicitando remoção automática de um usuário. Será removido o próximo cartão, QR Code, RF 433 ou Fingerprint lido pelo intercomunicador.
Remover todos os usuários Comando enviado para o intercomunicador solicitando a remoção de TODOS os usuários.
Listar log's de acesso Comando enviado para o intercomunicador solicitando os log's de acessos.
Remover log's de acesso Comando enviado para o intercomunicador solicitando a remoção de toda a lista de log's de acessos.
Controlar acionamento dos relês Comando enviado para o intercomunicador para controlar o acionamento/status dos Relês.
Controlar acionamento do alarme Comando enviado para o intercomunicador para controlar o acionamento/status dos alarmes.
Controlar função pânico Comando enviado para o intercomunicador para controlar o acionamento/status da função pânico.
Listar Status dos Alarmes Comando enviado para buscar o estado atual dos alarmes do intercomunicador.
Listar Leitores Remotos Comando enviado para buscar o estado atual dos alarmes do intercomunicador.
Solicitar configurações de Vídeo Comando enviado para solicitar a URL de video da câmera ref. ao intercomunicador.
Buscar Localização Comando enviado para buscar a localização do intercomunicador (configurado via interface WEB).
Buscar Configuração Comando enviado para pegar a configuração do intercomunicador.
Configurar intercomunicador Comando enviado para configurar o intercomunicador.
Restaurar Configuração do intercomunicador Comando enviado para restaurar a configuração do intercomunicador para a configuração de padrão/fabrica.
Reiniciar o equipamento Comando enviado para reiniciar o intercomunicador.
Reiniciar Leitor externo Comando enviado para reiniciar leitor externo.
Atualizar o firmware do equipamento Comando enviado para realizar o update de firmware do intercomunicador.
Atualizar o firmware de leitor externo Comando enviado para realizar o update de firmware de Leitor externo.
Buscar configuração de leitor externo (ULIP) Comando enviado para ler a configuração de um Leitor externo - (ULIP) o update de firmware do intercomunicador.
Configurar leitor externo (ULIP) Comando enviado configurar um Leitor externo - (ULIP).
Atualizar usuários de leitor externo Comando enviado para atualizar os usuários de um Leitor externo a partir do equipamento mestre.
Apagar todos usuários de um leitor externo Comando enviado para remover TODOS os usuários de um Leitor externo.
Buscar Data/Hora atual do equipamento Comando enviado para solicitar DATA e HORA atual do intercomunicador MII.
Configurar Data/Hora do equipamento Comando enviado configurar a DATA e HORA atual do intercomunicador MII.
Buscar Lista de acesso Comando utilizado para buscar a lista de acesso realizados no intercomunicador MII.
Remover lista de acesso Comando utilizado para remover a lista de acesso realizados no intercomunicador MII
Reproduzir mensagem Comando utilizado para reproduzir mensagens pré-definidas no intercomunicador MII.
Push Comando utilizado receber o token de aplicativos (Android e iOS) para envio de push notifications.
Get QR Code - Dinâmico/Temporário Comando utilizado solicitar um novo QR Code dinâmico/temporário ao intercomunicador MII.

Eventos

  • Abaixo, a lista de eventos enviados pelo intercomunicador:
Eventos enviados pelo intercomunicador para a Aplicação
Evento keepalive Evento enviado pelo intercomunicador para o servidor/aplicação supervisão da conexão..
Evento de relê Evento enviado pelo intercomunicador informando status de relê.
Evento de Sensor Evento enviado pelo intercomunicador informando status de sensor.
Evento de botoeira Evento enviado pelo intercomunicador informando status de botoeira.
Evento de Arrombamento Evento enviado pelo intercomunicador informando que foi detecção de arrombamento de porta.
Evento de Porta Aberta Evento enviado pelo intercomunicador informando que uma porta foi mantida aberta alem do tempo máximo configurado.
Evento Mifire / NFC Evento enviado pelo intercomunicador informando status de cartão lido.
Evento RF433 Code Evento enviado pelo intercomunicador informando status de cartão/controle RF 433 lido.
Evento Fingerprint Evento enviado pelo intercomunicador informando status de biometria lida.
Evento Fingerprint Status (Enrolment) Evento enviado pelo intercomunicador informando o status de cadastro de uma biometria (Enrolment).
Evento de Usuário e Senha Evento enviado pelo intercomunicador informando nova requisição de acesso por usuário e senha.
Evento QR Code Evento enviado pelo intercomunicador informando status de leitura de QR Code.
Evento Add User Evento enviado pelo intercomunicador informando que um novo usuário foi adicionado.
Evento Del User Evento enviado pelo intercomunicador informando que um usuário foi removido.
Evento de Cadastro Automático de Usuário Evento enviado pelo intercomunicador informando o status do cadastro automático de usuário (enviado após o comando probeuser.
Evento de Remoção Automática de Usuário Evento enviado pelo intercomunicador informando o status da remoção automática de usuário (enviado após o comando eraseuser.
Evento de Alarme Evento enviado pelo intercomunicador informando novo status de alarme.
Evento Pânico Evento enviado pelo intercomunicador informando status da função pânico.
Evento de Chamada Evento enviado pelo intercomunicador informando um novo status de chamada.
Evento de Violação (Tamper) Evento enviado pelo intercomunicador informando que o intercomunicador foi violado (Evento de Tamper).
Evento de Boot Evento enviado pelo intercomunicador informando Boot do intercomunicador.



Codigo Exemplo para receber os eventos:

  • Copie e cole o código abaixo na pasta do seu servidor HTTP.
  • Depois configure no intercomunicador, menu Geral, aba Integração. Opção Configuração do Cliente, campo Url o caminho relativo do seu código.
    • Ex. Se seu código está na pasta /events (/var/www/html/events - Document root padrão para apache no CentOS), no campo Url, coloque '/events'.
  • NOTA: No código abaixo é especificado o arquivo onde serão saçvos os eventos recebidos. Altere a variavel DGBFILE para seu destino desejado.
    • O arquivo DEVE existir e ter permissão de escrita pelo servidor HTTP.



Mti-api-events-url.jpg


<?php
 
/*
 * Arquivo DEVE existir e ter permissão de escrita pelo apache / (server http)
 */
$DGBFILE = "/var/log/evts.log";
 
 
function evt2log($str = null, $file = null)
{
    if($str == null) {
        echo "str null\n";
        return;
    }
 
    if($file == null)
        $file = "/var/log/evts.log";
 
    error_log($str, 3, $file);
}
 
function show_request($req, $post, $file)
{
    if($req) {
        evt2log("==>\nREQUEST {$req}\n", $file);
    }
 
    if($post) {
        evt2log("==>\nPOST {$post}\n", $file);
    }
}
 
$vars = $_REQUEST;
$l = print_r($vars, true);
 
$p = null;
$post_params = file_get_contents("php://input");
if($post_params) {
    $post = json_decode($post_params, true);
    $p = print_r($post, true);
}
 
$d = date(DATE_RFC822);
 
evt2log("\n=============================================\n", $DGBFILE);
evt2log("=> $d\n", $DGBFILE);
 
 
if(!isset($vars)) {
        evt2log("==> !!! Invalid arguments !!!\n\n", $DGBFILE);
        show_request($l, $p, $DGBFILE);
        exit(0);
}
 
 
if(isset($vars['request']))
        $event = $vars['request'];
else {
        evt2log("==> !!!Evento Invalido!!!\n", $DGBFILE);
        show_request($l, $p, $DGBFILE);
        exit(1);
}
 
evt2log("=> Novo evento recebido...\n", $DGBFILE);
evt2log("=> Evento: {$vars['request']}\n", $DGBFILE);
show_request($l, $p, $DGBFILE);
evt2log("\n\n", $DGBFILE);
 
?>



QR Code Dinâmico

O MII possui uma função para controle de QR Code's dinâmicos (Com validade de tempo) Para utilização, siga os passos abaixo:

  1. Verifique a versão de software do seu intercomunicador. Ela DEVE ser igual ou superior a versão 1.1.17.
  2. Habilite no intercomunicador a função de QR Code dinâmico. Acesse o menu Controle de Acesso, aba Geral e habilite os campos:
* Habilitar QRCODE Dinâmico
* Validade de QRCODE Dinâmico
  1. Agora, o intercomunicador está pronto para utilização. Veja no link QR Code Dinâmico como é o seu funcionamento.



Voltar

Ferramentas pessoais
Espaços nominais

Variantes
Visualizações
Ações
Navegação
Ferramentas