MPI/API/EvtMifireNFC

De uTech Tecnologia
(Diferença entre revisões)
Ir para: navegação, pesquisa
(Buitl-in Respose)
(PHP)
Linha 113: Linha 113:
  
 
== PHP ==
 
== PHP ==
 +
 +
== Evento Simples ==
 +
 
{| class="wikitable" width="65%"
 
{| class="wikitable" width="65%"
 
|
 
|
Linha 138: Linha 141:
 
</source>
 
</source>
 
|}
 
|}
 +
 +
 +
 +
== Evento com Resposta Built-in ==
 +
 +
{| class="wikitable" width="65%"
 +
|
 +
<source lang="php">
 +
<?php
 +
 +
 +
$CARD_DO_USUARIO=1234;
 +
 +
$vars = $_REQUEST;
 +
 +
if(!isset($vars))
 +
        exit(0);
 +
 +
if(isset($vars['request']) && strcmp($vars['request'],"card") == 0)
 +
        $event = $vars['request'];
 +
else {
 +
        echo "Evento invalido!\n";
 +
        exit(1);
 +
}
 +
 +
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']);
 +
 +
// Exemplo!
 +
if($CARD_DO_USUARIO == $CARD_DO_USUSARIO) {
 +
 +
  $data = array(""
 +
 +
  header('Content-type: application/json');
 +
  echo json_encode( $data );
 +
 +
}
 +
 +
?>
 +
</source>
 +
|}
 +
 +
  
 
<br/>
 
<br/>

Edição de 21h10min de 29 de julho de 2019

Tabela de conteúdo


O Evento Mifire/NFC é enviado do porteiro para a aplicação, informando evento de cartão mifire / NFC.

Evento

Parâmetros enviados pelo Porteiro
request card
card Identificação do cartão Mifire/NFC
state Status do cartão/Evento
  • blocked: Cartão/NFC bloqueado.
  • granted: Cartão/NFC liberado.
  • detected: Cartão/NFX detectado. Enviado quando o equipamento não está configurado no modo stadalone. Evento é repassado para a aplicação de terceiros.
  • doublepass: Passagem dupla detectada (Utilizado para controle de dupla passagem).
  • panic: Estado enviado quando o usuário estiver configurado como Pânico (Campo Habilitar Pânico de cada usuário do porteiro).
key Chave primária do usuário.
interface Identificação da interface acessada/acionada.
  • 0: Interface de acionamento 1 e 2 do porteiro (Quando selecionado para acionamento simultâneo das interfaces 1 e 2).
  • 1: Interface de acionamento 1 do porteiro.
  • 2: Interface de acionamento 2 do porteiro.
  • 3 a 32: Interface de acionamento externo. Leitor ou Porteiro slave. Ver Leitores Externos
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=card&card=EAD2353236FAC&interface=1&state=blocked&key=2ed1698bcf&time=10122018183000

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 Porteiro
request Comando a ser enviado. Exrelay 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

Evento Simples

<?php
 
$vars = $_REQUEST;
 
if(!isset($vars))
        exit(0);
 
if(isset($vars['request']) && strcmp($vars['request'],"card") == 0)
        $event = $vars['request'];
else {
        echo "Evento invalido!\n";
        exit(1);
}
 
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']);
?>


Evento com Resposta Built-in

<?php
 
 
$CARD_DO_USUARIO=1234;
 
$vars = $_REQUEST;
 
if(!isset($vars))
        exit(0);
 
if(isset($vars['request']) && strcmp($vars['request'],"card") == 0)
        $event = $vars['request'];
else {
        echo "Evento invalido!\n";
        exit(1);
}
 
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']);
 
// Exemplo!
if($CARD_DO_USUARIO == $CARD_DO_USUSARIO) {
 
  $data = array(""
 
  header('Content-type: application/json');
  echo json_encode( $data );
 
}
 
?>





Voltar


Ferramentas pessoais
Espaços nominais

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