MPI/API/CmdAdicionarUsuarioAuto
De uTech Tecnologia
(Diferença entre revisões)
(Criou página com ' __TOC__ O comando '''Adicionar usuário automaticamente''' pe enviado para o porteiro solicitando a inclusão automática de um novo usuário. Será inserido automaticamente...') |
(→Comando) |
||
(15 edições intermediárias de 2 usuários não apresentadas) | |||
Linha 2: | Linha 2: | ||
__TOC__ | __TOC__ | ||
− | O comando '''Adicionar usuário automaticamente''' | + | O comando '''Adicionar usuário automaticamente''' é enviado para o porteiro solicitando a inclusão automática de um novo usuário. Será inserido automaticamente um usuário com os dados do próximo cartão ou QR Code lido pelo porteiro.<BR> |
+ | Se informado, no comando um dos parâmetros '''id''', '''user''', '''card''', '''qrcode''', '''rfcode''' ou '''fingerprint''', de um usuário já cadastrado, a TAG lida será adicionada neste usuário. | ||
== Comando == | == Comando == | ||
Linha 12: | Linha 13: | ||
|- | |- | ||
| align="left"| '''request''' || '''probeuser''' | | align="left"| '''request''' || '''probeuser''' | ||
+ | |- | ||
+ | | align="left"| '''interface''' || Interface onde será lido o Cartão/QR Code. | ||
+ | * '''1''': Interface 1. | ||
+ | * '''2''': Interface 2. | ||
+ | * '''3 a 22''': Interfaces externas (Ver menu [[MPI/ConfiguracaoWEB#Leitores|'''Leitores''']] | ||
+ | |- | ||
+ | | align="left"| '''state''' || Define se é para habilitar ou desabilitar a leitura e inclusão. | ||
+ | * '''on''': habilita o comando de leitura e inclusão. | ||
+ | * '''off''': cancela o comando de leitura e inclusão. | ||
+ | |} | ||
+ | |||
+ | <BR> | ||
+ | '''POST-DATA:''' | ||
+ | |||
+ | {| style="width: 100%; background-color: orange;" | ||
+ | | '''NOTA''': Pelo menos, um dos parâmetros '''user''' ou '''id''' '''DEVE''' ser enviado no comando para que o porteiro identifique qual usuário está sendo lido/associada.<BR>Caso não seja passado nenhum valor neste campo, será inserido um '''novo usuário''' com o cartão ou QR Code lido. | ||
+ | |} | ||
+ | |||
+ | {| class="wikitable" width="75%" | ||
+ | ! align="center" colspan="2" | Parâmetros enviados para o Porteiro via JSON | ||
+ | |- | ||
+ | | align="left"| id || id do usuário, '''listado nos comandos''' [[MPI/API/CmdCheckUser|'''CmdCheckUser''']], [[MPI/API/CmdListarUsuarios|'''CmdListarUsuarios''']] ou [[MPI/API/CmdGetUser|'''CmdGetUser''']]. | ||
+ | |- | ||
+ | | align="left"| user || Login do usuário, '''previamente configurado''' no comando [[MPI/API/CmdAdicionarUsuario|'''CmdAdicionarUsuario''']]. | ||
+ | |- | ||
+ | | align="left"| card || Cartão NFC/Mifire do usuário, '''previamente configurado''' no comando [[MPI/API/CmdAdicionarUsuario|'''CmdAdicionarUsuario''']]. | ||
+ | |- | ||
+ | | align="left"| qrcode || QR Code do usuário, '''previamente configurado''' no comando [[MPI/API/CmdAdicionarUsuario|'''CmdAdicionarUsuario''']]. | ||
+ | |- | ||
+ | | align="left"| rfcode || Código RF do usuário, '''previamente configurado''' no comando [[MPI/API/CmdAdicionarUsuario|'''CmdAdicionarUsuario''']]. | ||
+ | |- | ||
+ | | align="left"| fingerprint || Identificação/template da identificação biométrica. | ||
|} | |} | ||
== Exemplo == | == Exemplo == | ||
+ | * '''Sem dados de usuários: (Inserindo novo usuário)''' | ||
{| class="wikitable" | {| class="wikitable" | ||
− | ! style="text-align: left; font-weight: bold;" | <pre>http://ip:porta/?request=probeuser</pre> | + | ! style="text-align: left; font-weight: bold;" | <pre>http://ip:porta/?request=probeuser&state=on</pre> |
|} | |} | ||
+ | |||
+ | |||
+ | * '''Com dados do usuário (Inserindo um cartão/QR code em um usuário já castrado)''' | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! style="text-align: left; font-weight: bold;" | <pre> | ||
+ | POST/? request=probeuser&interface=1&state=on HTTP/1.1 | ||
+ | Content-Type: application/json | ||
+ | Content-Length: | ||
+ | |||
+ | { | ||
+ | "user":"1000" | ||
+ | } | ||
+ | </pre> | ||
+ | |} | ||
+ | |||
'''Resposta:''' | '''Resposta:''' | ||
* '''400''' => Parâmetros incorretos | * '''400''' => Parâmetros incorretos | ||
+ | * '''401''' => Erro de autenticação da API | ||
* '''500''' => Falha no comando | * '''500''' => Falha no comando | ||
* '''200''' => OK | * '''200''' => OK | ||
Linha 29: | Linha 80: | ||
<br/><br/> | <br/><br/> | ||
+ | |||
== PHP == | == PHP == | ||
+ | |||
+ | === Exemplo sem selecionar usuário === | ||
+ | |||
{| class="wikitable" width="65%" | {| class="wikitable" width="65%" | ||
| | | | ||
Linha 41: | Linha 96: | ||
$url = ""; | $url = ""; | ||
− | $url = "$ipaddr:$port?request=probeuser"; | + | $url = "$ipaddr:$port?request=probeuser&state=on"; |
$ch = curl_init($url); | $ch = curl_init($url); | ||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); | ||
Linha 61: | Linha 116: | ||
</source> | </source> | ||
|} | |} | ||
+ | |||
+ | === Exemplo selecionando o usuário === | ||
+ | |||
+ | {| class="wikitable" width="65%" | ||
+ | | | ||
+ | <source lang="php"> | ||
+ | <?php | ||
+ | |||
+ | $user = "utech"; | ||
+ | $pass = "1234"; | ||
+ | $port = "8080"; | ||
+ | $ipaddr = "10.0.0.1"; | ||
+ | |||
+ | $data = array( | ||
+ | "user" => "1005" | ||
+ | ); | ||
+ | |||
+ | |||
+ | $url = ""; | ||
+ | $url = "$ipaddr:$port?request=probeuser&interface=1&state=on"; | ||
+ | $ch = curl_init($url); | ||
+ | $data_string = json_encode($data); | ||
+ | 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"); | ||
+ | |||
+ | echo "Return Status:[$rc]\n"; | ||
+ | |||
+ | ?> | ||
+ | </source> | ||
+ | |} | ||
+ | |||
<br/> | <br/> | ||
<br/> | <br/> | ||
<br/> | <br/> | ||
− | [[MPI/API|'''Voltar''']] | + | [[MPI/API#Comandos|'''Voltar''']] |
----- | ----- |
Edição atual tal como 13h04min de 11 de junho de 2024
Tabela de conteúdo |
O comando Adicionar usuário automaticamente é enviado para o porteiro solicitando a inclusão automática de um novo usuário. Será inserido automaticamente um usuário com os dados do próximo cartão ou QR Code lido pelo porteiro.
Se informado, no comando um dos parâmetros id, user, card, qrcode, rfcode ou fingerprint, de um usuário já cadastrado, a TAG lida será adicionada neste usuário.
[editar] Comando
MÉTODO: GET
Parâmetros enviados para o Porteiro | |
---|---|
request | probeuser |
interface | Interface onde será lido o Cartão/QR Code.
|
state | Define se é para habilitar ou desabilitar a leitura e inclusão.
|
POST-DATA:
NOTA: Pelo menos, um dos parâmetros user ou id DEVE ser enviado no comando para que o porteiro identifique qual usuário está sendo lido/associada. Caso não seja passado nenhum valor neste campo, será inserido um novo usuário com o cartão ou QR Code lido. |
Parâmetros enviados para o Porteiro via JSON | |
---|---|
id | id do usuário, listado nos comandos CmdCheckUser, CmdListarUsuarios ou CmdGetUser. |
user | Login do usuário, previamente configurado no comando CmdAdicionarUsuario. |
card | Cartão NFC/Mifire do usuário, previamente configurado no comando CmdAdicionarUsuario. |
qrcode | QR Code do usuário, previamente configurado no comando CmdAdicionarUsuario. |
rfcode | Código RF do usuário, previamente configurado no comando CmdAdicionarUsuario. |
fingerprint | Identificação/template da identificação biométrica. |
[editar] Exemplo
- Sem dados de usuários: (Inserindo novo usuário)
http://ip:porta/?request=probeuser&state=on |
---|
- Com dados do usuário (Inserindo um cartão/QR code em um usuário já castrado)
POST/? request=probeuser&interface=1&state=on HTTP/1.1 Content-Type: application/json Content-Length: { "user":"1000" } |
---|
Resposta:
- 400 => Parâmetros incorretos
- 401 => Erro de autenticação da API
- 500 => Falha no comando
- 200 => OK
[editar] PHP
[editar] Exemplo sem selecionar usuário
<?php $user = "utech"; $pass = "1234"; $port = "8080"; $ipaddr = "10.0.0.1"; $url = ""; $url = "$ipaddr:$port?request=probeuser&state=on"; $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; } $fs = preg_replace("/<html><body>/", "", "$result"); $rc = preg_replace("/<\/body><\/html>/", "", "$fs"); echo "Return Status:[$rc]\n"; ?> |
[editar] Exemplo selecionando o usuário
<?php $user = "utech"; $pass = "1234"; $port = "8080"; $ipaddr = "10.0.0.1"; $data = array( "user" => "1005" ); $url = ""; $url = "$ipaddr:$port?request=probeuser&interface=1&state=on"; $ch = curl_init($url); $data_string = json_encode($data); 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"); echo "Return Status:[$rc]\n"; ?> |