MLI/API/CmdListaLogsDeAcesso
De uTech Tecnologia
(Diferença entre revisões)
(→Exemplo) |
|||
(3 edições intermediárias de um usuário não apresentadas) | |||
Linha 6: | Linha 6: | ||
| | | | ||
* '''Este comando DEVE ser utilizado FORA do horário de operação do Leitor MLI, uma vez que pode comprometer as leituras de TAG's, biometria e outros.''' | * '''Este comando DEVE ser utilizado FORA do horário de operação do Leitor MLI, uma vez que pode comprometer as leituras de TAG's, biometria e outros.''' | ||
− | * '''DEVE''' ser utilizado o filtro de data para não buscar a lista completa de acessos. | + | * Sempre '''DEVE''' ser utilizado o filtro de data para não buscar a lista completa de acessos. |
− | * O tempo entre comandos '''DEVE''' ser de, no | + | * O tempo entre comandos '''DEVE''' ser de, no minimo 300 segundos . |
|} | |} | ||
<BR><BR> | <BR><BR> | ||
Linha 13: | Linha 13: | ||
== Comando == | == Comando == | ||
− | '''MÉTODO:''' <span style="color:red">''' | + | '''MÉTODO:''' <span style="color:red">'''POST'''</span> |
{| class="wikitable" width="65%" | {| class="wikitable" width="65%" | ||
Linha 20: | Linha 20: | ||
| align="left"| '''request''' || '''accesslog''' | | align="left"| '''request''' || '''accesslog''' | ||
|} | |} | ||
+ | |||
+ | '''POST-DATA:''' | ||
+ | |||
+ | {| class="wikitable" width="65%" | ||
+ | ! align="center" colspan="2" | Parâmetros enviados para o Leitor via JSON | ||
+ | |- | ||
+ | | align="left"| start || Data/Hora inicial do filtro. | ||
+ | * Ex: 2020-10-20 07:00:00 | ||
+ | |- | ||
+ | | align="left"| end || Data hora final do filtro. | ||
+ | * Ex: 2020-10-20 08:00:00 | ||
+ | |} | ||
+ | |||
{| class="wikitable" width="65%" | {| class="wikitable" width="65%" | ||
Linha 47: | Linha 60: | ||
{| class="wikitable" | {| class="wikitable" | ||
− | ! style="text-align: left; font-weight: bold;" | <pre> | + | ! style="text-align: left; font-weight: bold;" | <pre>POST /?request=accesslog HTTP/1.1 |
+ | Host: 10.0.0.1:8080 | ||
+ | Accept: */* | ||
+ | Content-Type: application/json | ||
+ | Content-Length: 167 | ||
+ | |||
+ | { | ||
+ | "start":"2020-10-20 14:15:10", | ||
+ | "end":"2020-10-20 14:15:55" | ||
+ | } | ||
+ | </pre> | ||
|} | |} | ||
+ | |||
'''Resposta:''' | '''Resposta:''' | ||
Linha 99: | Linha 123: | ||
$ipaddr = "10.0.0.1"; | $ipaddr = "10.0.0.1"; | ||
− | $ | + | $data = array("start" => "2020-10-20 14:15:10", "end" => "2020-10-20 14:15:55"); |
+ | |||
+ | $data_string = json_encode($data); | ||
$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 110: | Linha 143: | ||
return 2; | return 2; | ||
} | } | ||
+ | |||
print_r(json_decode($result, true)); | print_r(json_decode($result, true)); | ||
+ | |||
?> | ?> | ||
</source> | </source> |
Edição atual tal como 17h28min de 27 de outubro de 2020
Tabela de conteúdo |
O comando Listar logs de acesso para buscar a lista completa de acesso do leitor.
|
[editar] Comando
MÉTODO: POST
Parâmetros enviados para o Leitor | |
---|---|
request | accesslog |
POST-DATA:
Parâmetros enviados para o Leitor via JSON | |
---|---|
start | Data/Hora inicial do filtro.
|
end | Data hora final do filtro.
|
Resposta enviada pelo o Leitor | |
---|---|
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. |
granted | Status do acesso:
|
[editar] Exemplo
POST /?request=accesslog HTTP/1.1 Host: 10.0.0.1:8080 Accept: */* Content-Type: application/json Content-Length: 167 { "start":"2020-10-20 14:15:10", "end":"2020-10-20 14:15:55" } |
---|
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", "granted:":"false" }, { "name":"Usuario desconhecido", "user":"", "card":"12121212", "qrcode":"", "rfcode":"", "fingerprint":"", "time":"2017-12-27 14:59:52", "granted:":"false" } ] |
---|
[editar] PHP
<?php $user = "utech"; $pass = "1234"; $port = "8080"; $ipaddr = "10.0.0.1"; $data = array("start" => "2020-10-20 14:15:10", "end" => "2020-10-20 14:15:55"); $data_string = json_encode($data); $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; } print_r(json_decode($result, true)); ?> |