MPI/API/EvtFingerprint

De uTech Tecnologia
(Diferença entre revisões)
Ir para: navegação, pesquisa
(Evento)
(Buitl-in Respose)
 
(6 edições intermediárias de um usuário não apresentadas)
Linha 69: Linha 69:
 
Content-Length:  
 
Content-Length:  
  
{"fingerprint":"fingerprint template..."}
+
{
 +
  "fingerprint":"fingerprint template...",
 +
  "finger":"A"
 +
}
  
 
</pre>
 
</pre>
Linha 78: Linha 81:
 
* '''401''' => Erro de Autenticação.
 
* '''401''' => Erro de Autenticação.
 
* '''200''' => OK.
 
* '''200''' => OK.
 +
 +
<br/>
 +
<BR>
 +
=== 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:
 +
 +
{| class="wikitable" width="65%"
 +
! align="center" colspan="2" | Parâmetros enviados para o Porteiro
 +
|-
 +
| align="left"| request || Comando a ser enviado.  Comandos aceitos: '''relay''' ou '''play'''.
 +
|-
 +
| align="left"| interface || '''Para relay''': Define qual relê será habilitado ou desligado
 +
* '''0''': Ambas interfaces (1 e 2).
 +
* '''1''': Interface 1.
 +
* '''2''': Interface 2.
 +
|-
 +
| align="left"| 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).
 +
|-
 +
| align="left"| message || '''Para play''':  Define a mensagem a reproduzir. Ver mensagens na documentação do comando [[MPI/API/PlayMessage|'''PlayMessage''']]
 +
|}
 +
 +
'''Exemplo - acionando o relê para abertura da interface 1''':
 +
{| class="wikitable"
 +
! style="text-align: left; font-weight: bold;" | <pre>HTTP/1.1 200 OK
 +
Content-Type: application/json
 +
Content-Length: 167
 +
{
 +
  "request"  :"relay",
 +
  "interface": "1",
 +
  "state"    :"on"
 +
}
 +
</pre>
 +
|}
 +
 +
 +
 +
'''Exemplo - acionando o relê para abertura da interface 1 e reproduzindo a mensagem de ''acesso liberado''''':
 +
{| class="wikitable"
 +
! style="text-align: left; font-weight: bold;" | <pre>HTTP/1.1 200 OK
 +
Content-Type: application/json
 +
Content-Length: 167
 +
 +
[
 +
  {
 +
  "request"  :"relay",
 +
  "interface": "1",
 +
  "state"    :"on"
 +
  },
 +
  {
 +
  "request" :"play",
 +
  "message" :"access_allowed"
 +
  }
 +
]
 +
 +
</pre>
 +
|}
 +
  
 
<br/><br/>
 
<br/><br/>
Linha 102: Linha 166:
  
 
?>
 
?>
 +
</source>
 +
|}
 +
<BR>
 +
<br/>
 +
== Evento com Resposta Built-in ==
 +
 +
{| class="wikitable" width="65%"
 +
|
 +
<source lang="php">
 +
<?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 porteiro
 +
#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 dedo/biometria 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 );
 +
 +
?>
 +
 
</source>
 
</source>
 
|}
 
|}

Edição atual tal como 22h09min de 29 de julho de 2019

Tabela de conteúdo


O Evento Fingerprint é enviado do porteiro para a aplicação, informando evento de leitura biométrico.

[editar] Evento

Parâmetros enviados pelo Porteiro
request fingerprint
state Status do cartão/Evento
  • blocked: Usuário bloqueado, não configurado ou sem acesso liberado.
  • granted: Usuário liberado.
  • detected: Usuário detectado. Enviado quando o equipamento não está configurado no modo stadalone. Evento é repassado para a aplicação de terceiros.
  • panic: Evento enviado quando a função pânico for habilitada por tempo de permanecia do dedo no sensor biométrico. o Tempo mínimo é configurado em Controle de Acesso, nos campos Timeout para Pânico ....
  • doublepass: Passagem dupla detectada (Utilizado para controle de dupla passagem).
fingerprint Informações de profile do fingerprint lido. Dados passados via JSON.
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
key Chave primária do usuário.
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).


POST-DATA:

Parâmetros enviados pela central MCP vi JSON
fingerprint Informações de profile do fingerprint lido. Dados passados via JSON.
finger Identificação do dedo utilizado na biometria.

É utilizado uma letra para identificação do dedo:

  • 0: Dedo não definido.
  • A: Dedo polegar direito.
  • B: Dedo indicador direito.
  • C: Dedo médio direito.
  • D: Dedo anelar direito.
  • E: Dedo mínimo direito.
  • F: Dedo polegar esquerdo.
  • G: Dedo indicador esquerdo.
  • H: Dedo médio esquerdo.
  • I: Dedo anelar esquerdo.
  • J: Dedo mínimo esquerdo.

[editar] Exemplo

POST /?request=fingerprint&interface=1&state=blocked&key=2dcfe3ab&time=12102018183000 HTTP/1.1
Content-Type: application/json
Content-Length: 

{
  "fingerprint":"fingerprint template...",
  "finger":"A"
}

Resposta: A aplicação deve responder:

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



[editar] 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. 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"
  }
]




[editar] PHP

<?php
 
$vars = $_REQUEST;
 
if(!isset($vars))
        exit(0);
 
if(isset($vars['request']) && strcmp($vars['request'],"fingerprint") == 0)
        $event = $vars['request'];
else {
        echo "Evento invalido!\n";
        exit(1);
}
 
print_r(json_decode($result, true));
 
?>



[editar] 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 porteiro
#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 dedo/biometria 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