MLI/API/CmdListaLogsDeAcesso

De uTech Tecnologia
(Diferença entre revisões)
Ir para: navegação, pesquisa
(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 minio
+
* 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">'''GET'''</span>
+
'''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>http://ip:porta/?request=accesslog</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";
  
$url = "";
+
$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_RETURNTRANSFER, 1);
 
 
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.

  • 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.
  • 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 minimo 300 segundos .



[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.
  • Ex: 2020-10-20 07:00:00
end Data hora final do filtro.
  • Ex: 2020-10-20 08:00:00


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:
  • true: Acesso liberado
  • false: Acesso Bloqueado

[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));
 
?>




Voltar


Ferramentas pessoais
Espaços nominais

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