MLW/API/CmdAdicionarUsuario
De uTech Tecnologia
(Diferença entre revisões)
(→Comando) |
|||
Linha 102: | Linha 102: | ||
"perm1":"1-5 0:0-23:17" | "perm1":"1-5 0:0-23:17" | ||
"interface": f, | "interface": f, | ||
− | " | + | "relay": 1, |
"key":"26ab0d" | "key":"26ab0d" | ||
} | } | ||
Linha 138: | Linha 138: | ||
<source lang="php"> | <source lang="php"> | ||
<?php | <?php | ||
− | + | ||
− | $user = " | + | $user = "admin"; |
− | $pass = " | + | $pass = "admin"; |
− | $port = " | + | $port = "80"; |
− | $ipaddr = "10.0.0. | + | $ipaddr = "10.0.0.20"; |
− | + | ||
$data = array( | $data = array( | ||
"name" => "Teste", | "name" => "Teste", | ||
Linha 153: | Linha 153: | ||
"accessibility" => "false", | "accessibility" => "false", | ||
"panic" => "false", | "panic" => "false", | ||
− | "perm1" => "1-5 0:0-23:17" | + | "perm1" => "1-5 0:0-23:17", |
"interface" => "f", | "interface" => "f", | ||
− | " | + | "relay" => "1", |
"key" => "26ab0d" | "key" => "26ab0d" | ||
); | ); | ||
− | + | ||
$data_string = json_encode($data,JSON_UNESCAPED_SLASHES); | $data_string = json_encode($data,JSON_UNESCAPED_SLASHES); | ||
$url = "$ipaddr:$port?request=adduser"; | $url = "$ipaddr:$port?request=adduser"; | ||
Linha 171: | Linha 171: | ||
'Content-Length: ' . strlen($data_string)) | 'Content-Length: ' . strlen($data_string)) | ||
); | ); | ||
− | + | ||
$result = curl_exec($ch); | $result = curl_exec($ch); | ||
if(!$result) { | if(!$result) { | ||
Linha 177: | Linha 177: | ||
return 2; | return 2; | ||
} | } | ||
− | + | ||
$fs = preg_replace("/<html><body>/", "", "$result"); | $fs = preg_replace("/<html><body>/", "", "$result"); | ||
$rc = preg_replace("/<\/body><\/html>/", "", "$fs"); | $rc = preg_replace("/<\/body><\/html>/", "", "$fs"); | ||
− | + | ||
switch($rc) { | switch($rc) { | ||
− | + | ||
case "400": | case "400": | ||
echo "400 => Parametros Invalidos\n"; | echo "400 => Parametros Invalidos\n"; | ||
break; | break; | ||
− | + | ||
case "401": | case "401": | ||
echo "401 => Erro de autenticação da API\n"; | echo "401 => Erro de autenticação da API\n"; | ||
break; | break; | ||
− | + | ||
case "500": | case "500": | ||
echo "500 => Falha no comando\n"; | echo "500 => Falha no comando\n"; | ||
break; | break; | ||
− | + | ||
case "200": | case "200": | ||
echo "200 => OK\n"; | echo "200 => OK\n"; | ||
break; | break; | ||
− | + | ||
default: | default: | ||
echo "Return Code: $rc\n"; | echo "Return Code: $rc\n"; | ||
} | } | ||
− | + | ||
?> | ?> | ||
</source> | </source> |
Edição atual tal como 18h24min de 22 de junho de 2022
Tabela de conteúdo |
O comando Adicionar usuário é utilizado inserir um usuário no controle de acesso do leitor
|
[editar] Comando
MÉTODO: POST
Parâmetros enviados para o Leitor | |
---|---|
request | adduser |
POST-DATA:
Parâmetros enviados para o Leitor via JSON | |
---|---|
name | Nome do usuário. Tamanho máximo 64 caracteres. |
user | Login do usuário. Tamanho máximo 20 caracteres. |
password | Senha do usuário. Tamanho máximo 20 caracteres. |
card | Identificação de acesso via cartão MIFARE / NFC. Tamanho máximo 32 caracteres. |
rfcode | Identificação de acesso via RF 433 (Controle). Tamanho máximo 16 caracteres. |
perm1 | Permissão de acesso 1 - Veja mais sobre as permissões no link: MPI/PermissõesDeAcesso |
perm2 | Permissão de acesso 2 - Veja mais sobre as permissões no link: MPI/PermissõesDeAcesso |
perm3 | Permissão de acesso 3 - Veja mais sobre as permissões no link: MPI/PermissõesDeAcesso |
perm4 | Permissão de acesso 4 - Veja mais sobre as permissões no link: MPI/PermissõesDeAcesso |
perm5 | Permissão de acesso 5 - Veja mais sobre as permissões no link: MPI/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ção - Interface 1/2. |
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. |
key | Permite cadastrar a chave primária do integrador para manipulação de usuários. Tamanho máximo 16 caracteres. |
administrator | Define se o usuário terá permissões de administrados. Usuário administrador poderá utilizar funções de configurações da placa, omo inserir novos usuários.
|
visitor | Define se o usuário é visitante ou não.
|
interface | Mascara de 4 bits indicando quais interfaces (1 a 4) o usuário tem acesso. Valor em hexadecimal. 0 a F.
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.
|
Resposta:
A resposta será um JSON com o id da base do Porteiro e com a chave primária (key) enviada no comando, conforme mostrado abaixo:
{"id":"1","key":"26ab0d"}
[editar] Exemplo
POST /?request=adduser HTTP/1.1 Content-Type: application/json Content-Length: 167 { "name":"Teste", "user":"1000", "password":"1234", "card":"000012345", "rfcode":"1234567890", "lifecount":"0", "accessibility":"false", "panic":"false", "perm1":"1-5 0:0-23:17" "interface": f, "relay": 1, "key":"26ab0d" } |
---|
Resposta:
HTTP/1.1 200 OK Content-Length: 25 Content-Type: application/json; charset=iso-8859-1 Date: Wed, 03 Jan 2007 21:52:54 GMT {"id":"1","key":"26ab0d"} |
---|
Return code:
- 400 => Parâmetros incorretos
- 401 => Erro de autenticação da API
- 500 => Falha no comando
- 200 => OK
[editar] PHP
<?php $user = "admin"; $pass = "admin"; $port = "80"; $ipaddr = "10.0.0.20"; $data = array( "name" => "Teste", "user" => "1000", "password" =>"1234", "card" => "000012345", "rfcode" => "1234567890", "lifecount" => "0", "accessibility" => "false", "panic" => "false", "perm1" => "1-5 0:0-23:17", "interface" => "f", "relay" => "1", "key" => "26ab0d" ); $data_string = json_encode($data,JSON_UNESCAPED_SLASHES); $url = "$ipaddr:$port?request=adduser"; $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) { case "400": echo "400 => Parametros Invalidos\n"; break; case "401": echo "401 => Erro de autenticação da API\n"; break; case "500": echo "500 => Falha no comando\n"; break; case "200": echo "200 => OK\n"; break; default: echo "Return Code: $rc\n"; } ?> |