MPI/API/CmdListaLogsDeAcesso
De uTech Tecnologia
(Diferença entre revisões)
(Criou página com ' __TOC__ O comando '''Listar logs de acesso''' para buscar a a lista completa de acesso do porteiro. == Comando == {| class="wikitable" width="65%" ! align="center" colspan...') |
(→Exemplo) |
||
(15 edições intermediárias de 2 usuários não apresentadas) | |||
Linha 2: | Linha 2: | ||
__TOC__ | __TOC__ | ||
− | O comando '''Listar logs de acesso''' para buscar | + | O comando '''Listar logs de acesso''' para buscar a lista completa de acesso do porteiro. |
== Comando == | == Comando == | ||
+ | |||
+ | '''MÉTODO:''' <span style="color:red">'''GET'''</span> | ||
{| class="wikitable" width="65%" | {| class="wikitable" width="65%" | ||
Linha 10: | Linha 12: | ||
|- | |- | ||
| align="left"| '''request''' || '''accesslog''' | | align="left"| '''request''' || '''accesslog''' | ||
+ | |} | ||
+ | |||
+ | '''POST-DATA:''' | ||
+ | {| class="wikitable" width="65%" | ||
+ | ! align="center" colspan="2" | Parâmetros enviados para o Porteiro via JSON | ||
+ | |- | ||
+ | | align="left"| '''start''' || Data inicial do filtro por data. ('''OPCIONAL caso necessite filtrar por data/hora''') | ||
+ | Formato: 'YYYY-MM-DD HH-MM-SS'. Ex. '''2020-01-01 08:00:00'''. | ||
+ | * Se inserido parâmetro '''start''', '''DEVE''' ser inserido parâmetro '''end'''. | ||
+ | |- | ||
+ | | align="left"| '''end''' || Data inicial do filtro por data. ('''OPCIONAL caso necessite filtrar por data/hora''') | ||
+ | * Se inserido parâmetro '''end''', '''DEVE''' ser inserido parâmetro '''start'''. | ||
|} | |} | ||
Linha 22: | Linha 36: | ||
|- | |- | ||
| align="left"| '''qrcode''' || Identificação do QR Code utilizado. | | align="left"| '''qrcode''' || Identificação do QR Code utilizado. | ||
+ | |- | ||
+ | | align="left"| '''rfcode''' || Identificação do código de acesso RF 433 (controle) utilizado. | ||
+ | |- | ||
+ | | align="left"| '''fingreprint''' || Identificação da leitura biométrica utilizado. | ||
|- | |- | ||
| align="left"| '''time''' || Data/Hora do acesso. | | align="left"| '''time''' || Data/Hora do acesso. | ||
+ | |- | ||
+ | | align="left"| '''interface''' || Interface acessada pelo usuário. | ||
+ | * '''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 [[MPI/ConfiguracaoWEB#Leitores|Leitores Externos]] | ||
|- | |- | ||
| align="left"| '''granted''' || Status do acesso: | | align="left"| '''granted''' || Status do acesso: | ||
* '''true:''' Acesso liberado | * '''true:''' Acesso liberado | ||
* '''false:''' Acesso Bloqueado | * '''false:''' Acesso Bloqueado | ||
+ | |- | ||
+ | | align="left"| '''granted''' || Indica se o acesse é de um usuário cadastrada com visitante: | ||
+ | * '''true:''' Acesso de visitante. | ||
+ | * '''false:''' Não é acesso de visitante | ||
|} | |} | ||
Linha 36: | Linha 63: | ||
! style="text-align: left; font-weight: bold;" | <pre>http://ip:porta/?request=accesslog</pre> | ! style="text-align: left; font-weight: bold;" | <pre>http://ip:porta/?request=accesslog</pre> | ||
|} | |} | ||
+ | |||
+ | '''Ou com filtro de data/hora''': | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! style="text-align: left; font-weight: bold;" | <pre>POST /?request=accesslog HTTP/1.1 | ||
+ | Content-Type: application/json | ||
+ | Content-Length: 20 | ||
+ | |||
+ | { | ||
+ | "start":"2020-04-14 00:00:00", | ||
+ | "end":"2020-04-14 23:59:59" | ||
+ | } | ||
+ | </pre> | ||
+ | |} | ||
+ | |||
+ | |||
'''Resposta:''' | '''Resposta:''' | ||
Linha 48: | Linha 91: | ||
Content-Type: application/json | Content-Type: application/json | ||
− | + | [ | |
− | + | { | |
"name":"Usuario desconhecido", | "name":"Usuario desconhecido", | ||
"user":"", | "user":"", | ||
"card":"12121212", | "card":"12121212", | ||
"qrcode":"", | "qrcode":"", | ||
+ | "rfcode":"", | ||
+ | "fingerprint":"", | ||
"time":"2017-12-27 14:59:57", | "time":"2017-12-27 14:59:57", | ||
− | "granted:":"false" | + | "interface": "1", |
+ | "granted:":"false", | ||
+ | "visitor":"false" | ||
}, | }, | ||
− | + | { | |
"name":"Usuario desconhecido", | "name":"Usuario desconhecido", | ||
"user":"", | "user":"", | ||
"card":"12121212", | "card":"12121212", | ||
"qrcode":"", | "qrcode":"", | ||
+ | "rfcode":"", | ||
+ | "fingerprint":"", | ||
"time":"2017-12-27 14:59:52", | "time":"2017-12-27 14:59:52", | ||
− | "granted:":"false" | + | "interface": "3", |
+ | "granted:":"false", | ||
+ | "visitor":"false" | ||
} | } | ||
− | + | ] | |
</source> | </source> | ||
|} | |} | ||
Linha 82: | Linha 133: | ||
$ipaddr = "10.0.0.1"; | $ipaddr = "10.0.0.1"; | ||
− | $ | + | $data = array( |
+ | "start" => "2020-04-14 00:00:00", | ||
+ | "end" => "2020-04-14 23:59:59" | ||
+ | ); | ||
+ | |||
+ | $data_string = json_encode($data,JSON_UNESCAPED_SLASHES); | ||
$url = "$ipaddr:$port?request=accesslog"; | $url = "$ipaddr:$port?request=accesslog"; | ||
$ch = curl_init($url); | $ch = curl_init($url); | ||
− | |||
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); | curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); | ||
curl_setopt($ch, CURLOPT_USERPWD, "$user:$pass"); | curl_setopt($ch, CURLOPT_USERPWD, "$user:$pass"); | ||
+ | curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); | ||
+ | curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); | ||
+ | curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); | ||
+ | curl_setopt($ch, CURLOPT_HTTPHEADER, array( | ||
+ | 'Content-Type: application/json', | ||
+ | 'Content-Length: ' . strlen($data_string)) | ||
+ | ); | ||
+ | |||
$result = curl_exec($ch); | $result = curl_exec($ch); | ||
if(!$result) { | if(!$result) { | ||
Linha 93: | Linha 156: | ||
return 2; | return 2; | ||
} | } | ||
− | + | ||
+ | $fs = preg_replace("/<html><body>/", "", "$result"); | ||
+ | $rc = preg_replace("/<\/body><\/html>/", "", "$fs") | ||
+ | |||
+ | switch($rc) { | ||
+ | |||
+ | case "400": | ||
+ | echo "400 => Parametros Invalidos\n"; | ||
+ | break; | ||
+ | |||
+ | case "401": | ||
+ | echo "401 => Erro de autenticação da API\n"; | ||
+ | break; | ||
+ | |||
+ | case "500": | ||
+ | echo "500 => Falha no comando\n"; | ||
+ | break; | ||
+ | |||
+ | case "200": | ||
+ | echo "200 => OK\n"; | ||
+ | print_r($result); | ||
+ | break; | ||
+ | |||
+ | default: | ||
+ | echo "Return Code: $rc\n"; | ||
+ | } | ||
+ | |||
+ | ?> | ||
</source> | </source> | ||
|} | |} |
Edição atual tal como 19h56min de 14 de abril de 2020
Tabela de conteúdo |
O comando Listar logs de acesso para buscar a lista completa de acesso do porteiro.
[editar] Comando
MÉTODO: GET
Parâmetros enviados para o Porteiro | |
---|---|
request | accesslog |
POST-DATA:
Parâmetros enviados para o Porteiro via JSON | |
---|---|
start | Data inicial do filtro por data. (OPCIONAL caso necessite filtrar por data/hora)
Formato: 'YYYY-MM-DD HH-MM-SS'. Ex. 2020-01-01 08:00:00.
|
end | Data inicial do filtro por data. (OPCIONAL caso necessite filtrar por data/hora)
|
Resposta enviada pelo o Porteiro | |
---|---|
name | Nome do usuário. |
user | Login do usuário. |
card | Identificação do cartão utilizado. |
qrcode | Identificação do QR Code utilizado. |
rfcode | Identificação do código de acesso RF 433 (controle) utilizado. |
fingreprint | Identificação da leitura biométrica utilizado. |
time | Data/Hora do acesso. |
interface | Interface acessada pelo usuário.
|
granted | Status do acesso:
|
granted | Indica se o acesse é de um usuário cadastrada com visitante:
|
[editar] Exemplo
http://ip:porta/?request=accesslog |
---|
Ou com filtro de data/hora:
POST /?request=accesslog HTTP/1.1 Content-Type: application/json Content-Length: 20 { "start":"2020-04-14 00:00:00", "end":"2020-04-14 23:59:59" } |
---|
Resposta:
- 400 => Parâmetros incorretos
- 401 => Erro de autenticação da API
- 200 => OK
Content-Type: application/json [ { "name":"Usuario desconhecido", "user":"", "card":"12121212", "qrcode":"", "rfcode":"", "fingerprint":"", "time":"2017-12-27 14:59:57", "interface": "1", "granted:":"false", "visitor":"false" }, { "name":"Usuario desconhecido", "user":"", "card":"12121212", "qrcode":"", "rfcode":"", "fingerprint":"", "time":"2017-12-27 14:59:52", "interface": "3", "granted:":"false", "visitor":"false" } ] |
---|
[editar] PHP
<?php $user = "utech"; $pass = "1234"; $port = "8080"; $ipaddr = "10.0.0.1"; $data = array( "start" => "2020-04-14 00:00:00", "end" => "2020-04-14 23:59:59" ); $data_string = json_encode($data,JSON_UNESCAPED_SLASHES); $url = "$ipaddr:$port?request=accesslog"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($ch, CURLOPT_USERPWD, "$user:$pass"); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($data_string)) ); $result = curl_exec($ch); if(!$result) { echo "error!\n"; return 2; } $fs = preg_replace("/<html><body>/", "", "$result"); $rc = preg_replace("/<\/body><\/html>/", "", "$fs") switch($rc) { case "400": echo "400 => Parametros Invalidos\n"; break; case "401": echo "401 => Erro de autenticação da API\n"; break; case "500": echo "500 => Falha no comando\n"; break; case "200": echo "200 => OK\n"; print_r($result); break; default: echo "Return Code: $rc\n"; } ?> |