MLW/API/CmdListarUsuarios

De uTech Tecnologia
(Diferença entre revisões)
Ir para: navegação, pesquisa
(Exemplo)
Linha 2: Linha 2:
 
__TOC__
 
__TOC__
  
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).
+
O comando '''Lista Usuários''' utilizado para buscar a lista de usuários cadastrados no leitor.
  
 
== Comando ==
 
== Comando ==
  
<BR\>
+
'''MÉTODO:''' <span style="color:red">'''GET'''</span>
'''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''' || '''getuser'''
+
| align="left"| request || '''users'''
 
|}
 
|}
 
'''POST-DATA:'''
 
  
 
{| class="wikitable" width="65%"
 
{| class="wikitable" width="65%"
! align="center" colspan="2" | Parâmetros enviados para o Leitor via JSON
+
! align="center" colspan="2" | Resposta enviada pelo o Leitor
 +
|-
 +
| align="left"| id || ID do usuário
 +
|-
 +
| align="left"| name || Nome do contato cadastrado
 
|-
 
|-
| align="left"| id || ID do usuário.
+
| align="left"| user || Login do usuário cadastrado (somente números).
 
|-
 
|-
| align="left"| user || login do usuário.
+
| align="left"| password || Senha do usuário cadastrado (somente números).
 
|-
 
|-
 
| 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 '''RF 433''' (Controle)
+
| align="left"| rfcode || Identificação de acesso via '''RF433 - 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>POST /?request=getuser HTTP/1.1
+
! style="text-align: left; font-weight: bold;" | <pre>http://ip:porta/?request=users</pre>
Host: 10.0.0.1:8080
+
Accept: */*
+
Content-Type: application/json
+
Content-Length: 167
+
 
+
{"card":"1234567890"}
+
</pre>
+
 
|}
 
|}
 
  
 
'''Resposta:'''
 
'''Resposta:'''
Linha 60: Linha 78:
 
* '''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 69: Linha 85:
 
Content-Type: application/json
 
Content-Type: application/json
  
{
+
[
"id":"0",
+
{
"name":"Marcos",
+
  "id":"0",
"user":"1005",
+
  "name":"Marcos",
"password":"1234",
+
  "user":"",
"card":"00000123456",
+
  "password":"",
"rfcode":"1234567890",
+
  "card":"1234567890",
"fingerprint":"",
+
  "rfcode":"1234567890",
"lifecount":"0",
+
  "lifecount":"0",
"accessibility":"false",
+
  "accessibility":"false",
"panic":"false",
+
  "panic":"false",
"key":"",
+
  "key":"",
"administrator":"false",
+
  "administrator":"false",
"visitor":"false",
+
  "visitor":"false",
"finger":"",
+
  "interface":"f",
  "relay":"0",
+
  "perm1":"",
"interface":"b",
+
  "perm2":"",
"perm1":"",
+
  "perm3":"",
"perm2":"",
+
  "perm4":"",
"perm3":"",
+
  "perm5":""
"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 105: Linha 137:
 
<source lang="php">
 
<source lang="php">
 
<?php
 
<?php
 
+
 
 
$user = "utech";
 
$user = "utech";
 
$pass = "1234";
 
$pass = "1234";
Linha 111: Linha 143:
 
$ipaddr = "10.0.0.1";
 
$ipaddr = "10.0.0.1";
  
$data = array("user" => "1005");
+
$url = "";
   
+
$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 131: Linha 154:
 
     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 174: Linha 162:
 
<br/>
 
<br/>
 
<br/>
 
<br/>
[[MLW/API#Comandos|'''Voltar''']]
+
[[MLI/API|'''Voltar''']]
 
-----
 
-----

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

Tabela de conteúdo


O comando Lista Usuários utilizado para buscar a lista de usuários cadastrados no leitor.

Comando

MÉTODO: GET

Parâmetros enviados para o Leitor
request users
Resposta enviada pelo o Leitor
id ID do usuário
name Nome do contato cadastrado
user Login do usuário cadastrado (somente números).
password Senha do usuário cadastrado (somente números).
card Identificação de acesso via cartão MIFARE / NFC
rfcode Identificação de acesso via RF433 - Controle
perm1 Permissão de acesso 1 - Veja mais sobre as permissões no link: MLI/PermissõesDeAcesso
perm2 Permissão de acesso 2 - Veja mais sobre as permissões no link: MLI/PermissõesDeAcesso
perm3 Permissão de acesso 3 - Veja mais sobre as permissões no link: MLI/PermissõesDeAcesso
perm4 Permissão de acesso 4 - Veja mais sobre as permissões no link: MLI/PermissõesDeAcesso
perm5 Permissão de acesso 5 - Veja mais sobre as permissões no link: MLI/PermissõesDeAcesso
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.
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 Configurações ⇒ Interface 1 e 2.
  • true: Habilitado.
  • false: Desabilitado.
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.
key Permite cadastrar a chave primária do integrador para manipulação de usuários.
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.
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.
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

http://ip:porta/?request=users

Resposta:

  • 400 => Parâmetros incorretos
  • 401 => Erro de autenticação da API
  • 200 => OK
 
Content-Type: application/json
 
[
 {
  "id":"0",
  "name":"Marcos",
  "user":"",
  "password":"",
  "card":"1234567890",
  "rfcode":"1234567890",
  "lifecount":"0",
  "accessibility":"false",
  "panic":"false",
  "key":"",
  "administrator":"false",
  "visitor":"false",
  "interface":"f",
  "perm1":"",
  "perm2":"",
  "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":""
 }
]



PHP

<?php
 
$user = "utech";
$pass = "1234";
$port = "8080";
$ipaddr = "10.0.0.1";
 
$url = "";
$url = "$ipaddr:$port?request=users";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$user:$pass");
$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