MII/API/EvtUser

De uTech Tecnologia
Edição feita às 13h13min de 1 de abril de 2024 por Utechnet (disc | contribs)

(dif) ← Versão anterior | ver versão atual (dif) | Versão posterior → (dif)
Ir para: navegação, pesquisa

Tabela de conteúdo


O Evento de Usuário e Senha é enviado do Intercomunicador para a aplicação, informando uma tentativa de acesso via usuário e senha pelo teclado numérico do Intercomunicador.

Evento

Parâmetros enviados pelo Intercomunicador
request user
user Usuário utilizado na tentativa de acesso
password Senha utilizada na tentativa de acesso
state Status da tentativa de acesso com usuário e senha
  • blocked: Usuário bloqueado.
  • granted: Usuário liberado.
  • doublepass: Passagem dupla detectada (Utilizado para controle de dupla passagem).
  • detected: Enviado quando o equipamento não está configurado no modo stadalone. Evento é repassado para a aplicação de terceiros.
  • panic: Estado enviado quando o usuário estiver configurado como Pânico (Campo Habilitar Pânico de cada usuário do Intercomunicador).
interface Identificação da interface acessada/acionada.
  • 0: Interface de acionamento 1 e 2 do Intercomunicador (Quando selecionado para acionamento simultâneo das interfaces 1 e 2)
  • 1: Interface de acionamento 1 do Intercomunicador.
  • 2: Interface de acionamento 2 do Intercomunicador.
  • 3 a 32: Interface de acionamento externo. Leitor ou Intercomunicador slave. Ver Leitores Externos
key Chave primária do usuário (Se configurado).
time Data/Hora do evento no formato ddmmYYYYHHMMSS onde:
  • dd: Dia do mês. (01 a 31)
  • mm: Mês do ano. (01 a 12).
  • YYYY: Ano no formato 1970.
  • HH: Hora do dia no formato 24H. (00 a 23).
  • MM: Minuto da hora. (00 a 59).
  • SS: Segundo. (00 a 59).

Exemplo

http://ip:porta/url/?request=user&user=1234&password=4567&interface=14&state=granted&time=26032019113933

Ou para pânico:

http://ip:porta/url/?request=user&user=4567&password=7890&interface=14&state=panic&time=26032019113544


Resposta: A aplicação deve responder:

  • 401 => Erro de Autenticação.
  • 200 => OK.



Buitl-in Respose

No próprio evento, é possível executar outros comandos, inserindo no corpo da resposta (no caso 200 OK) enviado pela aplicação, um array com os dados do comando a ser executado. Os parâmetros aceiros são descritos abaixo:

Parâmetros enviados para o Intercomunicador
request Comando a ser enviado. Comandos aceitos: relay ou play.
interface Para relay: Define qual relê será habilitado ou desligado
  • 0: Ambas interfaces (1 e 2).
  • 1: Interface 1.
  • 2: Interface 2.
state Para relay: Define o estado do relê:
  • on: => Ligado
  • off: => Desligado
  • hold: => Mantem aberta porta/relê até receber um evento off da API ou um comando externo (ex. interface WEB, DTMF).
message Para play: Define a mensagem a reproduzir. Ver mensagens na documentação do comando PlayMessage

Exemplo - acionando o relê para abertura da interface 1:

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 167
{
  "request"  :"relay",
  "interface": "1",
  "state"    :"on" 
}


Exemplo - acionando o relê para abertura da interface 1 e reproduzindo a mensagem de acesso liberado:

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 167

[
  {
   "request"  :"relay",
   "interface": "1",
   "state"    :"on" 
  },
  {
   "request" :"play",
   "message" :"access_allowed"
  }
]




PHP

<?php
 
$vars = $_REQUEST;
 
if(!isset($vars))
        exit(0);
 
if(isset($vars['request']) && strcmp($vars['request'],"user") == 0)
        $event = $vars['request'];
else {
        echo "Evento invalido!\n";
        exit(1);
}
 
printf("Evento: %s<BR>\n", $vars['request']);
printf("=>  User: %s<BR>\n", $vars['user']);
printf("=>  Pass: %s<BR>\n", $vars['password']);
printf("=> State: %s<BR>\n", $vars['state']);
printf("=>   key: %s<BR>\n", $vars['key']);
printf("==> Data: %s<BR>\n", $vars['time']);
?>



Evento com Resposta Built-in

<?php
 
$vars = $_REQUEST;
 
if(!isset($vars))
        exit(0);
 
if(isset($vars['request']) && strcmp($vars['request'],"card") == 0)
        $event = $vars['request'];
else {
        exit(1);
}
 
# Dados recebido no evevento do Intercomunicador
#printf("Evento: %s<BR>\n", $vars['request']);
#printf("=>  Card: %s<BR>\n", $vars['card']);
#printf("=> State: %s<BR>\n", $vars['state']);
#printf("=>  Time: %s<BR>\n", $vars['time']);
#printf("=>   Key: %s<BR>\n", $vars['key']);

 
## Verificar se o usuário tem acesso e responder com o comando de liberação.
##

$data = array (
                0 => array ('request'   => 'relay',
                            'interface' => '1',
                            'state'     => 'on'),
 
                1 => array ('request' => 'play',
                            'message' => 'access_allowed'),
);
 
header('Content-type: application/json');
echo json_encode( $data );
 
?>



Voltar


Ferramentas pessoais
Espaços nominais

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