MPI/API/EvtUser
De uTech Tecnologia
(Diferença entre revisões)
(→Exemplo) |
(→Buitl-in Respose) |
||
Linha 68: | Linha 68: | ||
! align="center" colspan="2" | Parâmetros enviados para o Porteiro | ! align="center" colspan="2" | Parâmetros enviados para o Porteiro | ||
|- | |- | ||
− | | align="left"| request || Comando a ser enviado. | + | | align="left"| request || Comando a ser enviado. Comandos aceitos: relay ou play. |
|- | |- | ||
| align="left"| interface || '''Para relay''': Define qual relê será habilitado ou desligado | | align="left"| interface || '''Para relay''': Define qual relê será habilitado ou desligado |
Edição de 22h07min de 29 de julho de 2019
Tabela de conteúdo |
O Evento de Usuário e Senha é enviado do porteiro para a aplicação, informando uma tentativa de acesso via usuário e senha pelo teclado numérico do porteiro.
Evento
Parâmetros enviados pelo Porteiro | |
---|---|
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
|
interface | Identificação da interface acessada/acionada.
|
key | Chave primária do usuário (Se configurado). |
time | Data/Hora do evento no formato ddmmYYYYHHMMSS onde:
|
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 Porteiro | |
---|---|
request | Comando a ser enviado. Comandos aceitos: relay ou play. |
interface | Para relay: Define qual relê será habilitado ou desligado
|
state | Para relay: Define o estado do relê:
|
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 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 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 ); ?> |