MLW/API/CmdListarUsuarios

De uTech Tecnologia
(Diferença entre revisões)
Ir para: navegação, pesquisa
(Comando)
Linha 2: Linha 2:
 
__TOC__
 
__TOC__
  
O comando '''Lista Usuários''' utilizado para buscar a lista de usuários cadastrados no leitor.
+
O comando '''Buscar Usuário''' é utilizado soliciar a configuração de um usuário cadastrado. Como parâmetro de busca, pode ser utilizado um dos parâmetros listados abaixo (id, user, card ou rfcode).
  
 
== Comando ==
 
== Comando ==
  
'''MÉTODO:''' <span style="color:red">'''GET'''</span>
+
<BR\>
 +
'''MÉTODO:''' <span style="color:red">'''POST'''</span>
  
 
{| class="wikitable" width="65%"
 
{| class="wikitable" width="65%"
 
! align="center" colspan="2" | Parâmetros enviados para o Leitor
 
! align="center" colspan="2" | Parâmetros enviados para o Leitor
 
|-
 
|-
| align="left"| request || '''users'''
+
| align="left"| '''request''' || '''getuser'''
 
|}
 
|}
 +
 +
'''POST-DATA:'''
  
 
{| class="wikitable" width="65%"
 
{| class="wikitable" width="65%"
! align="center" colspan="2" | Resposta enviada pelo o Leitor
+
! align="center" colspan="2" | Parâmetros enviados para o Leitor via JSON
|-
+
| align="left"| id || ID do usuário
+
|-
+
| align="left"| name || Nome do contato cadastrado
+
 
|-
 
|-
| align="left"| user || Login do usuário cadastrado (somente números).
+
| align="left"| id || ID do usuário.
 
|-
 
|-
| align="left"| password || Senha do usuário cadastrado (somente números).
+
| align="left"| user || login do usuário.
 
|-
 
|-
 
| align="left"| card || Identificação de acesso via cartão '''MIFARE / NFC'''
 
| align="left"| card || Identificação de acesso via cartão '''MIFARE / NFC'''
 
|-
 
|-
| align="left"| rfcode || Identificação de acesso via '''RF433 - Controle'''
+
| align="left"| rfcode || Identificação de acesso via '''RF 433''' (Controle)
|-
+
| align="left"| perm1 || Permissão de acesso 1 - Veja mais sobre as permissões no link: [[MLI/PermissõesDeAcesso]]
+
|-
+
| align="left"| perm2 || Permissão de acesso 2 - Veja mais sobre as permissões no link: [[MLI/PermissõesDeAcesso]]
+
|-
+
| align="left"| perm3 || Permissão de acesso 3 - Veja mais sobre as permissões no link: [[MLI/PermissõesDeAcesso]]
+
|-
+
| align="left"| perm4 || Permissão de acesso 4 - Veja mais sobre as permissões no link: [[MLI/PermissõesDeAcesso]]
+
|-
+
| align="left"| perm5 || Permissão de acesso 5 - Veja mais sobre as permissões no link: [[MLI/PermissõesDeAcesso]]
+
|-
+
| align="left"| lifecount || Define a quantidade de vezes que o usuário terá o acesso liberado no leitor. Depois de '''N''' vezes, o usuário será automaticamente removido. O Valor zero (0) define como ilimitado.
+
|-
+
| align="left"| accessibility || Define que o usuário criado terá configurações de acessibilidade. Como por exemplo o tempo de acionamento da porta para acessibilidade. Ver docs. menu [[MLW/ConfiguracaoWEB#Configura.C3.A7.C3.B5es|'''Configurações &rArr; Interface 1 e 2''']].
+
* '''true''': Habilitado.
+
* '''false''': Desabilitado.
+
|-
+
| align="left"| panic || Se habilitado, define que esse usuário é associado a função pânico. Toda vez que sua ''tag'', biometria, ''QR code'', etc..., for detectada, a função pânico será ativada.
+
* '''true''': Habilitado.
+
* '''false''': Desabilitado.
+
|-
+
| align="left"| key || Permite cadastrar a '''chave primária''' do integrador para manipulação de usuários.
+
|-
+
| align="left"| administrator || Define se o usuário terá permissões de administrados. Usuário administrador poderá utilizar funções de configurações da placa, como inserir novos usuários.
+
* '''true''': Usuário com permissão de administrador
+
* '''false''': Usuário sem permissão de administrador.
+
|-
+
| align="left"| visitor || Identifica se o usuário é visitante ou não.  Necessário definir uma data de validade para o visitante em '''Permissões de Acesso''', configurando os campos '''perm1, perm2, perm3, perm4 e perm5'''.
+
* '''true''': É visitante.
+
* '''false''': Não é visitante.
+
|-
+
| align="left"| interface || Mascara de 4 bits indicando quais interfaces (1 a 4) o usuário tem acesso. Valor em hexadecimal. 0 a F.
+
* '''bit 0''': Interface 1.
+
* '''bit 1''': Interface 2.
+
* '''bit 2''': Interface 3.
+
* '''bit 3''': Interface 4.
+
'''Exemplo''': Se o usuário tiver acesso as '''interfaces 1 e 3''', o valor seria '''5'''. Caso o usuário tenha acesso a '''todas as interfaces (1, 2, 3 e 4)''', o valor seria '''f'''.
+
 
|}
 
|}
  
 
== Exemplo ==
 
== Exemplo ==
  
 +
'''Buscando pelo usuário:'''
 +
{| class="wikitable"
 +
! style="text-align: left; font-weight: bold;" | <pre>POST /?request=getuser HTTP/1.1
 +
Host: 10.0.0.1:8080
 +
Accept: */*
 +
Content-Type: application/json
 +
Content-Length: 167
  
 +
{"user":"1005"}
 +
</pre>
 +
|}
 +
 +
'''Ou buscando pelo número do cartão:'''
 
{| class="wikitable"
 
{| class="wikitable"
! style="text-align: left; font-weight: bold;" | <pre>http://ip:porta/?request=users</pre>
+
! style="text-align: left; font-weight: bold;" | <pre>POST /?request=getuser HTTP/1.1
 +
Host: 10.0.0.1:8080
 +
Accept: */*
 +
Content-Type: application/json
 +
Content-Length: 167
 +
 
 +
{"card":"1234567890"}
 +
</pre>
 
|}
 
|}
 +
  
 
'''Resposta:'''
 
'''Resposta:'''
Linha 78: Linha 60:
 
* '''400''' => Parâmetros incorretos
 
* '''400''' => Parâmetros incorretos
 
* '''401''' => Erro de autenticação da API
 
* '''401''' => Erro de autenticação da API
 +
* '''404''' => Usuário não encontrado
 +
* '''500''' => Falha no comando
 
* '''200''' => OK
 
* '''200''' => OK
  
Linha 85: Linha 69:
 
Content-Type: application/json
 
Content-Type: application/json
  
[
+
{
{
+
"id":"0",
  "id":"0",
+
"name":"Marcos",
  "name":"Marcos",
+
"user":"1005",
  "user":"",
+
"password":"1234",
  "password":"",
+
"card":"00000123456",
  "card":"1234567890",
+
"rfcode":"1234567890",
  "rfcode":"1234567890",
+
"fingerprint":"",
  "lifecount":"0",
+
"lifecount":"0",
  "accessibility":"false",
+
"accessibility":"false",
  "panic":"false",
+
"panic":"false",
  "key":"",
+
"key":"",
  "administrator":"false",
+
"administrator":"false",
  "visitor":"false",
+
"visitor":"false",
  "interface":"f",
+
"finger":"",
  "perm1":"",
+
  "relay":"0",
  "perm2":"",
+
"interface":"b",
  "perm3":"",
+
"perm1":"",
  "perm4":"",
+
"perm2":"",
  "perm5":""
+
"perm3":"",
  },
+
"perm4":"",
{
+
"perm5":""
  "id":"1",
+
}
  "name":"Jose",
+
  "user":"",
+
  "password":"",
+
  "card":"0987654321",
+
  "rfcode":"0987654321",
+
  "lifecount":"0",
+
  "accessibility":"false",
+
  "panic":"false",
+
  "key":"",
+
  "administrator":"false",
+
  "visitor":"false",
+
  "interface":"1",
+
  "perm1":"",
+
  "perm2":"",
+
  "perm3":"",
+
  "perm4":"",
+
  "perm5":""
+
}
+
]
+
 
</source>
 
</source>
 
|}
 
|}
 +
 +
* [[MLW/API/CmdListarUsuarios|'''Ver descrição dos campo em Listar Usuários''']]
  
 
<br/><br/>
 
<br/><br/>
Linha 137: Linha 104:
 
<source lang="php">
 
<source lang="php">
 
<?php
 
<?php
 
+
 
 
$user = "utech";
 
$user = "utech";
 
$pass = "1234";
 
$pass = "1234";
Linha 143: Linha 110:
 
$ipaddr = "10.0.0.1";
 
$ipaddr = "10.0.0.1";
  
$url = "";
+
$data = array("user" => "1005");
$url = "$ipaddr:$port?request=users";
+
   
 +
$data_string = json_encode($data);
 +
$url = "$ipaddr:$port?request=getuser";
 
$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 154: Linha 130:
 
     return 2;
 
     return 2;
 
}
 
}
print_r(json_decode($result, true));
+
   
 +
$fs = preg_replace("/<html><body>/", "", "$result");
 +
$rc = preg_replace("/<\/body><\/html>/", "", "$fs");
 +
 
 +
switch($rc) {
 +
       
 +
/* '''400''' => Parâmetros incorretos        */
 +
/* '''401''' => Erro de autenticação da API  */
 +
/* '''404''' => Usuário não encontrado      */
 +
/* '''500''' => Falha no comando            */
 +
/* '''200''' => OK                          */
 +
 
 +
    case "400":
 +
        echo "400 => Parâmetros Inválidos\n";
 +
    break;
 +
 
 +
    case "401":
 +
        echo "401 => Erro de autenticação da API\n";
 +
    break;
 +
 
 +
    case "404":
 +
        echo "404 => Usuário não encontrado\n";
 +
    break;
 +
 
 +
    case "500":
 +
        echo "500 => Falha no comando\n";
 +
    break;
 +
 
 +
    case "200":
 +
        echo "200 => OK\n";
 +
    break;
 +
 
 +
    default:
 +
        echo "Return Code: $rc\n";
 +
}
 +
 
 
?>
 
?>
 
</source>
 
</source>
Linha 162: Linha 173:
 
<br/>
 
<br/>
 
<br/>
 
<br/>
[[MLI/API|'''Voltar''']]
+
[[MLW/API#Comandos|'''Voltar''']]
 
-----
 
-----

Edição de 17h12min de 22 de junho de 2022

Tabela de conteúdo


O comando Buscar Usuário é utilizado soliciar a configuração de um usuário cadastrado. Como parâmetro de busca, pode ser utilizado um dos parâmetros listados abaixo (id, user, card ou rfcode).

Comando


MÉTODO: POST

Parâmetros enviados para o Leitor
request getuser

POST-DATA:

Parâmetros enviados para o Leitor via JSON
id ID do usuário.
user login do usuário.
card Identificação de acesso via cartão MIFARE / NFC
rfcode Identificação de acesso via RF 433 (Controle)

Exemplo

Buscando pelo usuário:

POST /?request=getuser HTTP/1.1
Host: 10.0.0.1:8080
Accept: */*
Content-Type: application/json
Content-Length: 167

{"user":"1005"}

Ou buscando pelo número do cartão:

POST /?request=getuser HTTP/1.1
Host: 10.0.0.1:8080
Accept: */*
Content-Type: application/json
Content-Length: 167

{"card":"1234567890"}


Resposta:

  • 400 => Parâmetros incorretos
  • 401 => Erro de autenticação da API
  • 404 => Usuário não encontrado
  • 500 => Falha no comando
  • 200 => OK
 
Content-Type: application/json
 
{
 "id":"0",
 "name":"Marcos",
 "user":"1005",
 "password":"1234",
 "card":"00000123456",
 "rfcode":"1234567890",
 "fingerprint":"",
 "lifecount":"0",
 "accessibility":"false",
 "panic":"false",
 "key":"",
 "administrator":"false",
 "visitor":"false",
 "finger":"",
 "relay":"0",
 "interface":"b",
 "perm1":"",
 "perm2":"",
 "perm3":"",
 "perm4":"",
 "perm5":""
}
  • Ver descrição dos campo em Listar Usuários



PHP

<?php
 
$user = "utech";
$pass = "1234";
$port = "8080";
$ipaddr = "10.0.0.1";
 
$data = array("user" => "1005");
 
$data_string = json_encode($data);
$url = "$ipaddr:$port?request=getuser";
$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) {
 
/* '''400''' => Parâmetros incorretos        */
/* '''401''' => Erro de autenticação da API  */
/* '''404''' => Usuário não encontrado       */
/* '''500''' => Falha no comando             */
/* '''200''' => OK                           */
 
    case "400":
        echo "400 => Parâmetros Inválidos\n";
    break;
 
    case "401":
        echo "401 => Erro de autenticação da API\n";
    break;
 
    case "404":
        echo "404 => Usuário não encontrado\n";
    break;
 
    case "500":
        echo "500 => Falha no comando\n";
    break;
 
    case "200":
        echo "200 => OK\n";
    break;
 
    default:
        echo "Return Code: $rc\n";
}
 
?>




Voltar


Ferramentas pessoais
Espaços nominais

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