Você está na página 1de 47

IntegraFácil

API IntegraFácil (vr. 1.0)

ServidorIF, IntegraFácil2, desktopif


Índice

Comunicação (API HTTP e Webhooks)

Apresentação rápida dos produtos

Desktop IF (Diagrama de fluxo )

Instalação
Download de arquivos
Instalação servidorIF
Integrafacil2 (Linux x64)
Integrafacil2 (Windows)
Controle de Acesso IF

Configuração
ServidorIF
DesktopIF
IP/Host servidor DB/Cache
IP/Host servidor Futronic
URL
Macros:
resposta simples:
resposta detalhada:
Padrão esperado pelo Servidor IF
URL dos Logs
Exemplo: Identificação digital com sucesso:
Exemplo: Identificação Facial com sucesso
Para acessar os logs da catraca:
IntegraFacil2 - Windows
API
IntegraFacil2
Número de série do leitor.
Cadastro de digital
Registro pela rede local
Levando em conta uma topologia de rede local como se mostra a seguir:
Registro pela Internet
Resposta
Cadastro com sucesso!
Cadastro sem sucesso
Servidor IF
Biometria Facial
Cadastro de template facial
Excluir template facial
Listar template facial
Biometria Digital
Página de Processamento

8. Webhook URL LOG

9. API HTTP
1. Comunicação (API HTTP e Webhooks)

O IntegraFácil usa API HTTP em seus dispositivos e softwares. Seja para liberar uma
catraca, iniciar um cadastro biométrico em um leitor de balcão ou fazer chamadas ao
nosso servidor na internet, tudo é feito com requisições HTTP (Get, Post, etc).

Para o integraFácil comunicar com sua aplicação, utilizamos Webhooks, endPoints do


seu servidor que faremos uma requisição HTTP quando for necessário. Exemplo da
utilização é quando um usuário se identifica em um dos nossos dispositivos, fazemos
uma chamada com os dados do usuário e dispositivo e aguardamos uma resposta
confirmando o acesso. Outro exemplo é o envio dos logs de acessos realizados.
2. Apresentação rápida dos produtos

● DesktopIF

Software que roda embarcado na catraca, terminal, etc

● IntegraFácil2 (windows e linux x64)

Instalado no PC fornece API para fazer cadastro, autenticação e Identificação


biométrica.

● servidorIF (Windows)

Instalado no PC que será o servidor do IntegraFácil Responsável por:

- Fornece API HTTP


- Mantém um cache local com as informações dos usuários providas pelo
servidor do cliente.
- Executa regras de negócio (do cliente) tratando o cache local ou a resposta
online para determinar se o acesso é permitido ou negado.
- Faz as identificações biométricas Finger/Face.
3. DesktopIF (Diagrama de fluxo )
4. Instalação
Para instalar basta baixar e descompactar o aplicativo no equipamento indicado e
executar.

4.1. Download de arquivos


● ServidorIF

https://if-instaladores.s3.amazonaws.com/servidorIF/servidorIF.zip

● Integrafacil2 (Linux x64)

https://if-instaladores.s3.amazonaws.com/futronic-reader/integrafacil2-v0-linux-x64.zip

● Integrafacil2 (Windows x64)

https://if-instaladores.s3.amazonaws.com/integraFacil2/IntegraFacil2.zip

4.2. Instalação servidorIF


● Basta descompactar a pasta descarregada
● Pode ser executado como aplicativo ou como serviço
● Para executar como serviço basta executar, com permissões de administrador, o
script "ServidorIFService-Install.cmd".

Scripts de instalação e operação servidorIF

● Para iniciar o serviço execute o script “ServidorIFService-Start” ou faça isso pelo


painel “Serviços” do Windows
● Se não quiser instalar o serviço, basta executar o software ServidorIF.exe
● Para conferir que o servidor está rodando, acesse http://localhost:8080
● Portas TCP 8080 e 810 são usadas na API do servidorIF, não se esqueça de
liberar essas porta no firewall. As portas podem ser alteradas no arquivo de
configuração “config.json”

4.3. Integrafacil2 (Linux x64)

Para detectar se o leitor está plugado execute o terminal “lsusb” se ele estiver
plugado você verá esse item nos resultados:

Bus 001 Device 003: ID 1491:0088 Futronic Technology Co. Ltd. Fingerprint Scanner
Model FS88

Instalação:

● Descompactar o arquivo baixado


unzip integrafacil2-v0-linux-x64.zip
● Acessar a pasta descompactada e execute como administrador o script de
instalação
sudo ./installer.sh

● A execução do comando cria a pasta /opt/integraFacil2, onde encontra-se o


arquivo de configuração, config.json (este é o único arquivo a ser editado)

● Altere o valor do parâmetros “servidorIFHostname” do config.json com o IP da


máquina onde está rodando o servidorIF. ex: “servidorIFHostname”: ”10.0.0.10”,

● Para verificar se o serviço está rodando corretamente, verifique o status do


serviço com o comando systemctl (o comando permite fazer start, stop e restart
no serviços do sistema substituindo a palavra status)

$ sudo systemctl status integrafacil2

● O Integrafacil2 (linux) utiliza as seguintes portas:


○ Porta TCP 3050 para receber requisições HTTP
○ Porta TCP 3050 (GET) Para exibir uma página de instruções para o
cadastro digital. ex.: http://localhost:3050
○ As portas devem ser liberadas no firewall da rede local
Página de instruções para o cadastro biométrico

4.4. Integrafacil2 (Windows)

● No Windows, precisamos instalar o driver da Futronic para que o leitor seja


detectado. O driver está na pasta “Driver Finger Futronic” dentro da pasta
“integraFacil2”. Após a instalação plug o leitor e verifique se foi detectado no
gerenciador de dispositivos.
● Para configurar o integrafacil2 para ser executado na inicialização do Windows,
edite o arquivos integraFacil2.ini e mude a opção [APP] autoexec= de 0 para 1

Não executar automaticamente

Executar automaticamente

● integraFacil2 deve apontar ao servidorIF, isto se configura nos campos


[FULTRONIC_SERVIDOR] e [DATABASE]. No caso de ambos os programas
estejam rodando na mesma máquina o hostname será o localhost, caso estejam
rodando em máquinas diferentes será a IP da máquina do servidorIF.
● Executar integraFacil2.exe como administrador

Se abrirá uma janela com os logs de instalação e os dados do leitor conectado

Fig. IntegraFacil2 em execução

4.5. Controle de Acesso IF


● Sistema para visualizar ou liberar os acessos
● Executar no localhost:5102 ou na porta configurada

Interface de visualização
Opção de liberação
5. Configuração

5.1. ServidorIF

Para acessar as configurações acesso no navegador http://IP_servidorIF:8080.

Configurações importantes:

Porta Servidor IF = 8080 (porta que o servidor vai usar para expor a API)

Porta Base de Dados = 810 (porta que o servidor vai usar para expor a API da base de
dados)

Exclusão automática de registros (após x dias)

Para evitar que a base de dados cresça indefinidamente, usamos alguns parâmetros
para excluir automaticamente os dados não usados.

Dados cadastrais (digitais, face, etc) = dados pessoais

Cache = dados de acesso das pessoas (recebido do webhook)

Logs dos dispositivos = logs gerados nos acessos


Os dados podem ser visualizados no dashboard do servidor IF acessando pelo
navegador http://IP_servidorIF
5.2. DesktopIF

No desktopif é configurado e testado o funcionamento da catraca. Configuramos o


sentido da liberação, os endereços IP e Porta do servidorIF, os endpoints do webhook
do cliente.

Para acessar as configurações básicas

http://ip_catraca/config

5.2.1. IP/Host servidor DB/Cache


IP do servidorIF

5.2.2. IP/Host servidor Futronic


IP do servidorIF
Para acessar as configurações do webhook basta clicar na opção “Configurações
Avançadas”.
5.2.3. URL

É um endpoint para o servidor do cliente que receberá os dados de acesso de um


usuário, com esses dados o cliente deve retornar informando se o usuário pode ou não
ter acesso. Nesse endpoint tudo nele é personalizado, URL e parâmetros. Você define a
URL com ou sem parâmetros e usa as macros para serem substituídas em tempo real em
qualquer lugar.

Macros:

{{ns}} = Número de Série do dispositivo

{{dispositivo}} = tipo do dispositivo. ex: finger, interface, qrcode, senha

{{info}} = identificação do usuário

Exemplo: http://seuwebservice/person/{{info}}/access?ns={{ns}}&dispositivo={{dispositivo}}

Podemos aceitar 2 níveis de respostas, simples e detalhada.


resposta simples:

Sua resposta deve ter no mínimo status code < 400 para acesso liberado e status code
>= 400 para acesso negado.

Essa resposta básica irá manter a catraca travada (>=400) ou liberar (<400) a catraca
para ambos os sentidos durante no máximo 10 segundos ou até ocorrer o primeiro giro.

resposta detalhada:

Além dessa forma básica de resposta, temos outras informações complementares que
podem ser usadas. Essas informações podem vir no padrão esperado pelo servidor IF ou
de qualquer maneira (XML, CSV, etc) que um javascript possa tratá-lo e converter para o
padrão esperado.

Padrão esperado pelo Servidor IF

Status code = 200


{
"personName": "User name xxxx",
"clockwiseFree": true,
"counterclockwiseFree": false,
"accessTime": 5000,
"msgToReception": "msg to reception",
"group":"group name"
}

todos os parâmetros são opcionais:


personName: string;
clockwiseFree: bool; sentido horário liberado (padrão true)
counterclockwiseFree: bool; sentido anti-horário liberado (padrão true)
accessTime: int; tempo (ms) máximo que a catraca permanecerá liberada, o giro trava
imediatamente (padrão 10000)
msgToReception: string;
group: string; Grupo a qual o dispositivo faz parte (Portaria, Sala de reunião, piscinas)

Outra opção é mandar os dados biométricos para serem cadastrados/atualizados.


{
"personName": "User name xxxx",
"clockwiseFree": true,
"counterclockwiseFree": false,
"accessTime": 5000,
"msgToReception": "msg to reception",
"group":"group name"
person{
fingerTemplates: “CAyICAgICA…CAyICAgICA==”,
photoUrl: “http://endereco/da/foto.jpg”
}
}

fingerTemplates: Base64 recebido no parametro “resultado” da resposta do


metodos/cadastraDigital.
photoUrl: Url da foto de cadastro em formato JPG.

Uma vez recebida esta resposta, ela será armazenada e utilizada como redundância
caso o endpoint não esteja disponível, o que garante que a catraca não parará de
funcionar.

5.2.4. URL dos Logs

Endpoint que vai receber os logs de acesso.

5.2.4.1. Exemplo: Identificação digital com sucesso:

Isso é o que o cliente receberá

{
"id": "000000000000005578332020-08-19T18:22:21Z",
"numeroSerie": "049226c597c8",
"identificacao": {
"horario": "2020-08-19T18:22:21Z",
"dispositivo": "finger",
"numeroSerie": "557833",
"usuarioId": "200",
"convidado": false
},
"cliente": {
"url": "http://192.168.0.5:8000/log",
"recebimentos": [

]
},
"pgProcessamento": {
"horario": "2020-08-19T18:22:21Z",
"response": "{\"text\":\"text to
turnstile\",\"clockwiseFree\":true,\"counterclockwiseFree\":false,\"a
ccessTime\":10000,\"msgToReception\":\"msg to reception\"}",
"cacheUsado": false
},
"giro": {
"horario": "2020-08-19T18:22:26Z",
"sentido": "antiHorario"
},
"motivoLiberacaoManual": "",
"processamentos_json": null,
"liberaCatraca": {
"texto": "text to turnstile",
"sentidoHorarioLiberado": true,
"sentidoAntiHorarioLiberado": false,
"liberacaoTempo": 10000,
"semComando": false,
"msgRecepcao": "msg to reception",
"senha": null,
"nomeCatraca": "Catraca1",
"grupoCatracas": "turnstile",
"nsPLC": "049226c597c8"
}
}

5.2.4.2. Exemplo: Identificação Facial com sucesso

{cache
"id": "00000000049226c597c82020-08-19T18:28:21Z",
"numeroSerie": "049226c597c8",
"identificacao": {
"horario": "2020-08-19T18:28:21Z",
"dispositivo": "interface",
"numeroSerie": "049226c597c8",
"usuarioId": "200",
"convidado": false
},
"cliente": {
"url": "http://192.168.0.5:8000/log",
"recebimentos": [

]
},
"pgProcessamento": {
"horario": "2020-08-19T18:28:21Z",
"response": "{\"text\":\"text to
turnstile\",\"clockwiseFree\":true,\"counterclockwiseFree\":false,\"a
ccessTime\":10000,\"msgToReception\":\"msg to reception\"}",
"cacheUsado": false
},
"giro": {
"horario": "2020-08-19T18:28:28Z",
"sentido": "antiHorario"
},
"motivoLiberacaoManual": "",
"processamentos_json": null,
"liberaCatraca": {
"texto": "text to turnstile",
"sentidoHorarioLiberado": true,
"sentidoAntiHorarioLiberado": false,
"liberacaoTempo": 10000,
"semComando": false,
"msgRecepcao": "msg to reception",
"senha": null,
"nomeCatraca": "Catraca1",
"grupoCatracas": "turnstile",
"nsPLC": "049226c597c8"
}
}

5.2.5. Para acessar os logs da catraca:

http://ip_catraca/logs
5.3. IntegraFacil2 - Windows

A configuração fica no arquivo integraFacil2.ini na mesma pasta do integraFacile.exe. É


usado um arquivo de padrão INI composto por “Seções” entre colchetes “[ ]” e
“propriedades” no formato chave=valor.

Propriedades importantes:

[FUTRONIC_SERVIDOR]

hostname=localhost (IP do servidorIF)

porta=8080 (Porta do servidorIF)

[DATABASE]

hostname=localhost (IP do servidorIF)

porta=8080 (Porta do servidorIF)

[FINGER_FUTRONIC]

exibirInstrucoesCadastroDigital=1 (1 - mostra tela de auxiliar de cadastro, 0 - não mostra)

[WEBSERVER]

porta=80 (porta da API HTTP)


6. API
6.1. IntegraFacil2

Todo o processo de registro de digital de usuários se realiza por meio do integraFacil2

6.1.1. Número de série do leitor.

Este número pode ser obtido pelo browser desde qualquer dispositivo conectado
à rede local apontando para o ip da máquina onde roda integraFacil2, pelo
método status.

● No Linux

http://ip-address:3050/metodos/status

{
"host": "debian",
"platfrom": "linux",
"lstDispositivos": [
{
"dispositivo": "finger",
"ns": "492731"
}
]
}

A resposta vai ser um json com as informações dos dispositivos da catraca

● No Windows (não precisa especificar porta)

http://ip-address/metodos/status

{
"lstDispositivos": [
{
"dispositivo": "finger",
"ns": "492731"
}
],
"versao": "2.0.14.7",
"teamViewerID": "Não instalado"
}

ou fisicamente na parte de trás do leitor

Fig. Número de série no leitor biométrico

6.1.2. Cadastro de digital

Pode ser executado via rede local ou internet, deve-se usar o método
metodos/cadastraDigital com os seguintes parâmetros em uma solicitação http.

❖ numeroSerie: número de série do leitor biométrico (só é obrigatório quando


usado o nosso servidor na internet)
❖ usuarioID: número de identificação do usuário
❖ idxDedo: indicador do dedo a ser cadastrado levando em conta o padrão abaixo:
Identificadores de dedo para IntegraFácil2

6.1.2.1. Registro pela rede local

Levando em conta uma topologia de rede local como se mostra a seguir:

Fig. Topologia de acesso pela rede local

Nota: servidorIF e integraFácil2 podem ser instalados no mesmo computador.


Envia-se a solicitação HTTP (GET ou POST) com o método cadastraDigital:
http://10.0.0.3/metodos/cadastraDigital?usuarioID=1234&idxDedo=7

Fig. 5. Solicitação da primeira leitura biométrica

Fig. Primeira leitura biométrica realizada


Fig. Solicitação de segunda leitura biométrica

Fig. Segunda leitura biométrica realizada


Fig. Solicitação de terceira leitura biométrica

Fig. Terceira leitura biométrica realizada

Fig. Solicitação de leitura biométrica de verificação


6.1.2.2. Registro pela Internet

Levando em conta a seguinte topologia de rede

Fig. Topologia de acesso pela internet

A solicitação HTTP (GET ou POST) com o método cadastraDigital é enviada ao servidor


do integraFacil na nuvem:

http://plc.interlaken.ind.br:888/metodos/cadastraDigital?numeroSerie=123456&usuarioID
=1234&idxDedo=7&senha=77777

nota: troque o número de série 123456 pelo número de série do leitor seu biométrico. a
senha=77777 funcionará a título de homologação
O programa de registro será executado da mesma maneira que foi mostrado no item
Registro pela rede local.

Resposta

A resposta do sistema a uma solicitação de registro é um Json com os dados e o estado


do registro.

6.1.2.3. Cadastro com sucesso!

Se o registro se deu com sucesso, aparecerá uma mensagem de confirmação na janela


de registro, onde o 10 indica o grau de sucesso do registro em uma escala de 1 a 10:

Fig. Mensagem de leitura biométrica com sucesso

O resultado request /metodos/cadastraDigital é um json nesse formato:


{
"resultado":
"NyAx . . . ChY=",
"qualidade": 10,
"sucesso": true
}
No Windows dados do registro também podem ser verificados dando duplo clique no
ícone do IntegraFácil2 que se encontra na área de notificações da barra de tarefas.

Console de verificação integraFacil2 no Windows

O servidorIF também irá mostrar o novo cadastro

6.1.2.4. Cadastro sem sucesso

Existe também a possibilidade de o registro não ser realizado com sucesso, isto pode
ocorrer pelos seguintes motivos:

● Digital semelhante à de outro usuário


O usuário atual, cujo registro está sendo realizado, possui uma impressão digital
similar à de um usuário já registrado. Neste caso, aparecerá na tela uma
mensagem como a seguinte:

{
"resultado": "DIGITAL SEMELHANTE AO USUARIO 100",
"qualidade": 0,
"sucesso": false
}

Fig. Erro devido a semelhança de impressões digitais entre os usuários

Nota: É aconselhável registrar de novo o usuário 100.

● Digital inconsistente

Colocar na última tentativa de registro um dedo diferente dos que foram usados
nas primeiras tentativas. Neste caso, o leitor não consegue verificar a consistência
nas 3 digitais capturadas.

{
"resultado": "Digital inconsistente",
"qualidade": null,
"sucesso": false
}
Fig. Erro devido a inconsistência de impressões digitais de usuário

● Digital já cadastrada

Ao tentar registrar um usuário que já existe no sistema, vai dar erro e neste caso é
necessário eliminar o registro existente para criar um novo.

{
"resultado": "DIGITAL JA CADASTRADA",
"qualidade": 0,
"sucesso": false
}
Fig. Erro devido a duplicidade de registro.
6.2. Servidor IF

6.2.1. Biometria Facial

6.2.1.1. Cadastro de template facial

A imagem contendo a face deve ser no máximo 640x480 ou 480x640

Request:
POST: IPSERVIDOR:8080/v1/face/template

Usando base64
body
{
"personId": "2",
"jpegImageBase64": "imagem jpeg em base64"
}

Usando url da foto


body
{
"personId": "2",
"photoUrl": "https://url/foto.jpg"
}

Response:
Status code: 200

{
"success": true,
"engine": "engine3",
"personId": "100",
"template": "VEHT2bcd1aKIw9R9pHP..0ARPL9AdMBnAoaKKBH/9k=",
"id": "ad6e5262-3733-4fb7-9278-b58f7c1d62a3",
"enrollScore": 0,
"createdAt": "2021-03-10T14:12:07.000Z",
"updatedAt": "2021-03-10T14:12:07.000Z"
}

6.2.1.2. Excluir template facial

Request:
DELETE: IPSERVIDOR:8080/v1/face/templates?personId=2

body
{
"personId": "2",
"jpegImageBase64": "imagem jpeg em base64"
}

Response:
Status code: 204

6.2.1.3. Listar template facial

Request:
GET: IPSERVIDOR:8080/v1/face/template?personId=2

Response:
Status code: 200

{
"id": "39820510-8304-4aa2-9e98-0fc3654056b0",
"engine": "engine3",
"personId": "100",
"enrollScore": 0,
"template": "VElGMDEvKCogKCU1O..KD9M9Fs/qHU=",
"jpegImageBase64": "/9j/4AAQSkZJRgABAQEAYAB..oaKKBH/9k=",
"createdAt": "2021-03-10T18:03:06.000Z",
"updatedAt": "2021-03-10T18:03:06.000Z"
}

6.2.2. Biometria Digital

6.2.2.1. Página de Processamento

É um endpoint do cliente que receberá os dados de acesso de um usuário, com esses


dados a página do cliente deve retornar uma resposta informando se o usuário pode ou
não passar.

Parâmetros:

{{ns}} = Número de Série do dispositivo

{{dispositivo}} = tipo do dispositivo. ex: finger, interface, qrcode, senha

{{info}} = identificação do usuário

Exemplo: http://seuwebservice/endpoint?ns={{ns}}&info={{info}}&dispositivo={{dispositivo}}

Essa resposta deve estar de acordo com o exemplo abaixo ( json).

{
"passwordToAccess":"",
"personName": "User name xxxx",
"text": "text to turnstile",
"clockwiseFree": true,
"counterclockwiseFree": false,
"accessTime": 5000,
"msgToReception": "msg to reception",
"group":"group name"
}

onde

passwordToAccess: string; (opcional)


personName: string; (obrigatório)
text: texto que aparecerá na tela da catraca
clockwiseFree: bool; (obrigatório), sentido horário de liberação
counterclockwiseFree: bool; (obrigatório), sentido anti-horário de liberação
accessTime: int; (obrigatório) tempo que a catraca permanecerá liberada
msgToReception: string; (opcional)
group: string; (obrigatório), Grupo do comando de liberação da Catraca (entrada, saída,
restaurante, etc)

Uma vez recebida esta resposta, ela será armazenada e utilizada como redundância
caso a página de processamento não esteja disponível, o que garante que a catraca não
parará de funcionar.
8. Webhook URL LOG
9. API HTTP
Os métodos podem ser enviados através da rede local com a IP da máquina onde roda o
servidorIF:

● http://ip:3050/metodos para o integrafacil2 no Linux


● http://ip/metodos para o o integrafacil2 windows (não precisa especificar a porta)
● http://plc.interlaken.ind.br:888/metodos/ através da internet

A continuação uma lista dos métodos a utilizar:

● Método Status
○ rede local

http://localhost/metodos/status

○ internet

http://plc.interlaken.ind.br:888/metodos/status?numeroSerie=123456&senha=77777

○ resposta

{Json de resposta}
host: "suporte-VirtualBox",
platfrom: "linux"
lstDispositivos:
dispositivo: "finger"
ns: "492731"

● Registro de Digital
○ rede local

http://localhost/metodos/cadastraDigital?usuarioID=1234&idxDedo=7

○ Internet
http://plc.interlaken.ind.br:888/metodos/cadastraDigital?numeroSerie={{numero-de-serie}}
&usuarioID=1234&idxDedo=7&senha=77777

○ Resposta

sucesso: true
qualidade: 9
resultado:"MDczICAgICAgICAgICAgICAgICAgIDIwMDHRBwMDACkSGR53d3d3d3d3d3
d3d3d3...MUAAIOEwUGEBIEDw0FDQgMABcOCgcHBgUPCwAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
idxDedo:"7"

● Exclusão de uma digital


○ rede local

http://localhost/metodos/excluiDigital?usuarioID=100&idxDedo=3

○ internet

http://plc.interlaken.ind.br:888/metodos/excluiDigital?numeroSerie={{numero-de-serie}}&u
suarioID=1234&idxDedo=7

○ Resposta

resultado: "OK"

● Exclusão de todas as digitais de um Aluno


○ rede local

http://localhost/metodos/excluiTodasDigitais?usuarioID=1234

○ internet

http://plc.interlaken.ind.br:888/metodos/excluiTodasDigitais?numeroSerie={{numero-de-s
erie}}&usuarioID=100
○ Resposta

resultado: "OK"

● Listar Todas as Digitais Cadastradas


○ rede local

http://localhost/metodos/listaTemplatesDigital

○ internet

http://plc.interlaken.ind.br:888/metodos/listaTemplatesDigital?numeroSerie={{numero-de-
serie}}

○ resposta

resultado:
0:
usuarioID: "1"
idxDedo:
template:
"MDcxICAgICAgICAgICAgICAgIC...AAAAAAAAAAAAAAAAAAAAAAAAAA="
1:
usuarioID: "3"
idxDedo: 7
template: "MDczICAgICAgIC....AAAAAAAAAAAA="
2:
usuarioID: "2"
idxDedo: 6
template: "MDYyICAgICAg....AAAAAAAAAAA="

● Listar Todas as Digitais Cadastradas De Um Aluno


○ rede local

http://localhost/metodos/listaTemplatesDigital?usuarioID=100
○ internet

http://plc.interlaken.ind.br:888/metodos/listaTemplatesDigital?numeroSerie={{numero-de-
serie}}&usuarioID=2

○ Resposta

resultado:
0:
usuarioID: "1"
idxDedo: 6
template:
"MDcxICAgICAgICAgICAgICAgIC...AAAAAAAAAAAAAAAAAAAAAAAAAA="

Você também pode gostar