MLW/API/CmdListarUsuarios

De uTech Tecnologia
(Diferença entre revisões)
Ir para: navegação, pesquisa
(Exemplo)
 
(4 edições intermediárias de um usuário não apresentadas)
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'''.
 +
|-
 +
| align="left"| relay || Interface de acionamento do usuário.
 +
* '''0''': Nenhuma.
 +
* '''1''': Interface 1.
 +
* '''2''': Interface 2.
 +
* '''3''': Ambas (interface 1 e 2).
 
|}
 
|}
  
 
== 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 84:
 
* '''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 91:
 
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 104: Linha 143:
 
<source lang="php">
 
<source lang="php">
 
<?php
 
<?php
 
+
 
 
$user = "utech";
 
$user = "utech";
 
$pass = "1234";
 
$pass = "1234";
Linha 110: Linha 149:
 
$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 130: Linha 160:
 
     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 173: Linha 168:
 
<br/>
 
<br/>
 
<br/>
 
<br/>
[[MLW/API#Comandos|'''Voltar''']]
+
[[MLW/API|'''Voltar''']]
 
-----
 
-----

Edição atual tal como 17h58min 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.

[editar] 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.

relay Interface de acionamento do usuário.
  • 0: Nenhuma.
  • 1: Interface 1.
  • 2: Interface 2.
  • 3: Ambas (interface 1 e 2).

[editar] 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":""
 }
]



[editar] 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