Reconhecimento de Impressão Digital
Todas as operações realizadas no serviço de reconhecimento de impressão digital são feitas através do recurso finger. Este recurso
abstrai um único indivíduo e pode conter um ou mais templates de fingerprint, todos correspondentes ao mesmo indivíduo.
Template de fingerprint é o termo utilizado para a informação da biometria da impressão digital extraída a partir da imagem capturada pelo leitor biométrico. Apenas os templates são armazenados pelo serviço de reconhecimento de impressão digital da TechTrue®.
O identificador único deste recurso, ext_id, é responsável por identificar este indivíduo na base de dados e faz a agregação
dos templates associados ao mesmo.
Ademais, é possível realizar a segregação da base de dados de impressões digitais utilizando o conceito de aplicações, onde cada aplicação possui uma credencial específica, utilizada para geração do token de autenticação, que, por fim, definirá qual instância da base de dados será utilizada nas operações sobre uma impressão digital.
O exemplo mais básico do uso desta aplicação é para segregar as bases de dados utilizadas durante a fase de integração/testes da fase de produção/operação real do serviço. Assim, evita-se que impressões digitais utilizadas em testes acabem indo para a base de dados de produção e/ou que desenvolvedores tenham acesso indevido ao templates utilizados na operação do serviço.
Quantidade de fingerprints
curl "https://api.techtrue.com.br/api/v1/services/finger/count" -H "Authorization: Bearer {{token}}"const axios = require('axios');
let config = { method: 'get', maxBodyLength: Infinity, url: 'https://api.techtrue.com.br/api/v1/services/finger/count', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer {{token}}' }};
axios(config).then((response) => { console.log(JSON.stringify(response.data));}).catch((error) => { console.log(error);});O comando acima retorna o seguinte JSON:
{ "count": 10234}Endpoint que retorna a quantidade de impressões digitais cadastradas na aplicação.
HTTP Request
GET /api/v1/services/finger/count
Parameters
| Name | Located in | Description | Required | Type |
|---|---|---|---|---|
| none |
HTTP Response
| Code | Description |
|---|---|
| 200 | OK |
| 401 | Unauthorized |
Listagem de impressões digitais
curl "https://api.techtrue.com.br/api/v1/services/finger/list" -H "Authorization: Bearer {{token}}"const axios = require('axios');
let config = { method: 'get', maxBodyLength: Infinity, url: 'https://api.techtrue.com.br/api/v1/services/finger/list', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer {{token}}' }};
axios(config).then((response) => { console.log(JSON.stringify(response.data));}).catch((error) => { console.log(error);});O comando acima retorna o seguinte JSON:
{ [ { "externalId": "<ext_id>", "createdAt": "<timestamp>" }, { "externalId": "<ext_id>", "createdAt": "<timestamp>" }, { "externalId": "<ext_id>", "createdAt": "<timestamp>" } ]}Endpoint que retorna uma lista com todas as impressões digitais cadastradas na aplicação.
HTTP Request
GET /api/v1/services/finger/list
Parameters
| Name | Located in | Description | Required | Type |
|---|---|---|---|---|
| none |
HTTP Response
| Code | Description |
|---|---|
| 200 | OK |
| 401 | Unauthorized |
Quantidade de templates
curl "https://api.techtrue.com.br/api/v1/services/finger/templates/count/{ext_id}" -H "Authorization: Bearer {{token}}"const axios = require('axios');
let config = { method: 'get', maxBodyLength: Infinity, url: 'https://api.techtrue.com.br/api/v1/services/finger/templates/count/{ext_id}', headers: { 'Content-Type': 'application/json' }};
axios(config).then((response) => { console.log(JSON.stringify(response.data));}).catch((error) => { console.log(error);});O comando acima retorna o seguinte JSON:
{ "count": 3}Endpoint que retorna a quantidade de templates cadastrados para um determinado indivíduo
HTTP Request
GET /api/v1/services/finger/templates/count/{ext_id}
URL Parameters
| Name | Located in | Description | Required | Type |
|---|---|---|---|---|
| ext_id | path | Identificador único da impressão digital | Yes | string |
HTTP Response
| Code | Description |
|---|---|
| 200 | OK |
| 401 | Unauthorized |
Cadastrar uma impressão digital
curl "https://api.techtrue.com.br/api/v1/services/finger/enroll/{ext_id}" \ -X POST --data "@images.json" \ -H "Authorization: Bearer {{token}}"const axios = require('axios');let data = JSON.stringify({ "position": "RIGHT_INDEX", "dpi": "500", "imageData": "{{base64_image}}"});
let config = { method: 'post', maxBodyLength: Infinity, url: 'https://api.techtrue.com.br/api/v1/services/finger/enroll/{ext_id}', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer {{token}}' }, data: data};
axios(config).then((response) => { console.log(JSON.stringify(response.data));}).catch((error) => { console.log(error.response);});O comando acima retorna o seguinte JSON:
{ "result": { "code": 1000, "message": "ENROLLED_SUCCESSFULLY" }}Endpoint que realiza o cadastro de uma impressão digital no serviço.
HTTP Request
POST /api/v1/services/finger/enroll/{ext_id}
URL Parameters
| Name | Located in | Description | Required | Type |
|---|---|---|---|---|
| ext_id | path | Identificador único da impressão digital | Yes | string |
Body payload
{ "position": "UNKNOWN", "dpi": "500", "imageData": "<base64>"}HTTP Response
| Code | Description |
|---|---|
| 200 | OK |
| 401 | Unauthorized |
Atualizar uma impressão digital
Endpoint que atualiza o cadastro de uma impressão digital no serviço.
curl "https://api.techtrue.com.br/api/v1/services/finger/{ext_id}" \ -X PATCH --data "@images.json" \ -H "Authorization: Bearer {{token}}"const axios = require('axios');let data = JSON.stringify({ "position": "RIGHT_INDEX", "dpi": "500", "imageData": "{{base64_image}}"});
let config = { method: 'patch', maxBodyLength: Infinity, url: 'https://api.techtrue.com.br/api/v1/services/finger/{ext_id}', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer {{token}}' }, data: data};
axios(config).then((response) => { console.log(JSON.stringify(response.data));}).catch((error) => { console.log(error.response);});O comando acima retorna o seguinte JSON:
{ "result": { "code": 1006, "message": "UPDATED_SUCCESSFULLY" }}HTTP Request
PATCH /api/v1/services/finger/{ext_id}
URL Parameters
| Name | Located in | Description | Required | Type |
|---|---|---|---|---|
| ext_id | path | Identificador único da impressão digital | Yes | string |
Body payload
{ "position": "UNKNOWN", "dpi": "500", "imageData": "<base64>"}HTTP Response
| Code | Description |
|---|---|
| 200 | OK |
| 401 | Unauthorized |
Remover uma impressão digital
Endpoint que remove uma impressão digital do serviço.
curl "https://api.techtrue.com.br/api/v1/services/finger/{ext_id}" \ -X DELETE \ -H "Authorization: Bearer {{token}}"const axios = require('axios');
let config = { method: 'delete', maxBodyLength: Infinity, url: 'https://api.techtrue.com.br/api/v1/services/finger/{ext_id}', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer {{token}}' }};
axios(config).then((response) => { console.log(JSON.stringify(response.data));}).catch((error) => { console.log(error.response);});O comando acima retorna o seguinte JSON:
{ "result": { "code": 1004, "message": "DELETED_SUCCESSFULLY" }}HTTP Request
DELETE /api/v1/services/finger/{ext_id}
Parameters
| Name | Located in | Description | Required | Type |
|---|---|---|---|---|
| ext_id | path | Identificador único da impressão digital | Yes | string |
HTTP Response
| Code | Description |
|---|---|
| 200 | OK |
| 401 | Unauthorized |
Verificar uma impressão digital
Endpoint que realiza a verificação (operação 1:1) de uma impressão digital.
curl "https://api.techtrue.com.br/api/v1/services/finger/{ext_id}/verify" \ -X POST --data "@images.json" \ -H "Authorization: Bearer {{token}}"const axios = require('axios');let data = JSON.stringify({ "imageData": "{{base64_image}}"});
let config = { method: 'post', maxBodyLength: Infinity, url: 'https://api.techtrue.com.br/api/v1/services/finger/{ext_id}/verify', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer {{token}}' }, data: data};
axios(config).then((response) => { console.log(JSON.stringify(response.data));}).catch((error) => { console.log(error.response);});O comando acima retorna o seguinte JSON:
{ "result": { "code": 1002, "message": "VERIFIED_SUCCESSFULLY" }}HTTP Request
POST /api/v1/services/finger/{ext_id}/verify
Parameters
| Name | Located in | Description | Required | Type |
|---|---|---|---|---|
| ext_id | path | Identificador único da impressão digital | Yes | string |
Body payload
{ "imageData": "<base64>"}HTTP Response
| Code | Description |
|---|---|
| 200 | OK |
| 401 | Unauthorized |
Identificar uma impressão digital
Endpoint que realiza a identificação (operação 1
) de uma impressão digital.curl "https://api.techtrue.com.br/api/v1/services/finger/identify" \ -X POST --data "@images.json" \ -H "Authorization: Bearer {{token}}"const axios = require('axios');let data = JSON.stringify({ "imageData": "{{base64_image}}"});
let config = { method: 'post', maxBodyLength: Infinity, url: 'https://api.techtrue.com.br/api/v1/services/finger/identify', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer {{token}}' }, data: data};
axios(config).then((response) => { console.log(JSON.stringify(response.data));}).catch((error) => { console.log(error.response);});O comando acima retorna o seguinte JSON:
{ "ExternalID": "chad_smith", "result": { "code": 1008, "message": "IDENTIFIED_SUCCESSFULLY" }}HTTP Request
POST /api/v1/services/finger/identify
Parameters
| Name | Located in | Description | Required | Type |
|---|---|---|---|---|
| none |
Body payload
{ "imageData": "<base64>"}HTTP Response
| Code | Description |
|---|---|
| 200 | OK |
| 401 | Unauthorized |
Comparar duas imagens de impressões digitais
Endpoint que realiza a comparação (1:1) entre duas imagens de impressões digitais, sem a necessidade de estarem cadastradas no serviço.
curl "https://api.techtrue.com.br/api/v1/services/finger/images/match" \ -X POST --data "@images.json" \ -H "Authorization: Bearer {{token}}"const axios = require('axios');let data = JSON.stringify({[ { "imageData": "{{base64_image}}" }, { "imageData": "{{base64_image}}" }]});
let config = { method: 'post', maxBodyLength: Infinity, url: 'https://api.techtrue.com.br/api/v1/services/finger/images/match', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer {{token}}' }, data: data};
axios(config).then((response) => { console.log(JSON.stringify(response.data));}).catch((error) => { console.log(error.response);});O comando acima retorna o seguinte JSON:
{ "code": 1010, "message": "MATCH_IMAGES_SUCCESSFULLY"}HTTP Request
POST /api/v1/services/finger/images/match
Parameters
| Name | Located in | Description | Required | Type |
|---|---|---|---|---|
| none |
Body payload
{ [ { "imageData": "{{base64_image}}" }, { "imageData": "{{base64_image}}" } ]}HTTP Response
| Code | Description |
|---|---|
| 200 | OK |
| 401 | Unauthorized |
Comparar dois templates de impressões digitais
Endpoint que realiza a comparação (1:1) entre dois templates ISO/ANSI de impressões digitais, sem a necessidade de estarem cadastrados no serviço.
curl "https://api.techtrue.com.br/api/v1/services/finger/templates/match" \ -X POST --data "@images.json" \ -H "Authorization: Bearer {{token}}"const axios = require('axios');let data = JSON.stringify({ [ { "b64IsoTemplate": "{{base64_template}}" }, { "b64IsoTemplate": "{{base64_template}}" } ]});
let config = { method: 'post', maxBodyLength: Infinity, url: 'https://api.techtrue.com.br/api/v1/services/finger/templates/match', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer {{token}}' }, data: data};
axios(config).then((response) => { console.log(JSON.stringify(response.data));}).catch((error) => { console.log(error.response);});O comando acima retorna o seguinte JSON:
{ "code": 1010, "message": "MATCH_TEMPLATES_SUCCESSFULLY"}HTTP Request
POST /api/v1/services/finger/templates/match
Parameters
| Name | Located in | Description | Required | Type |
|---|---|---|---|---|
| none |
Body payload
{ [ { "b64IsoTemplate": "{{base64_template}}" }, { "b64IsoTemplate": "{{base64_template}}" } ]}HTTP Response
| Code | Description |
|---|---|
| 200 | OK |
| 401 | Unauthorized |