A API FlexExtractor possui um conjunto de funcionalidades que podem ser facilmente implementadas em seus sistemas, para que você possa usufruir de recursos de última geração no que se refere a tratamento de imagens, extração de dados, padronização de informações e comparação de dados entre documentos e imagens.
Para isso, basta seguir os passos iniciais descritos logo abaixo:
Para testes das funcionalidades disponibilizadas pela FLEXDOC-APIS, é necessário efetuar um cadastro prévio em nosso site para autorização de uso.
Este cadastro é simples e levará apenas alguns minutos para ser concluído.
Após a conclusão do cadastro, você receberá os dados para autorização de uso.
O cadastro é simples e rápido. Basta acessar o link abaixo para iniciar seu cadastramento:
Após a conclusão do cadastro, aguarde alguns minutos e verifique seu e-mail para seguir para o passo seguinte.
Após alguns minutos da conclusão do cadastro, você receberá um e-mail com os dados necessários para iniciar seus testes.
Neste e-mail, você receberá uma identificação (ApplicationName) e uma senha (Hash) que deverá ser utilizada no passo seguinte (Solicitar Token).
Guarde estas informações para que possa utilizá-las posteriormente.
Para geração do Token, será necessário inicialmente que faça um cadastro em nosso site para que possamos encaminhar no seu e-mail uma autorização de uso.
Esta autorização é essencial para que você possa autenticar suas requisições em nossos sistemas.
//
// Criando um Token para iniciar as requisições
//
string applicationName = "FLEXDOC";
string hash = "ca241b02-3036-4874-b1b5-5419d30866bf";
JToken tokenGerado = null;
var client = new RestClient("https://hml.flexdoc-Apis.com.br/FlexExtractor/Token");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("grant_type", "password");
request.AddParameter("ApplicationName", applicationName);
request.AddParameter("Hash", hash);
IRestResponse response = client.Execute(request);
if (response.StatusCode != System.Net.HttpStatusCode.OK)
throw new Exception(response.Content);
tokenGerado = JToken.Parse(response.Content);
return tokenGerado;
{
"access_token": "ccZwmL....ZGy0cA",
"token_type": "bearer",
"expires_in": 86399,
".issued": "Wed, 24 Nov 2021 14:55:33 GMT",
".expires": "Thu, 25 Nov 2021 14:55:33 GMT",
"ApplicationName": "FLEXDOC"
}
Caso seus dados de acesso não estejam corretos, um erro será apresentado, como o exemplo a seguir:
{ "error": "invalid_grant",
"error_description": "The ApplicationName or Hash is incorrect."
}
Para maiores detalhes sobre tipos de erros, consulte o item TOKEN.
Com o Token gerado, agora é possível solicitar o processamento de um documento através da execução de uma das funcionalidades disponibilizadas pela FLEXDOC-APIS.
No exemplo abaixo, iremos solicitar uma Extração de Dados completa. Este processo irá identificar o tipo de documento (TypeAlias) e, baseado neste tipo, extrair e formatar os dados inerentes ao documento.
Para iniciarmos o teste abaixo, é necessário substituir as informações delimitadas com “<< >>” pelos dados necessários para o processamento.
string applicationName = "<>";
string hash = "<>";
JToken resultado;
string hash = tokenGerado["access_token"].ToString();
byte[] byteImagem = File.ReadAllBytes(@"c:\tmp\CNH_Flavio Portela.jpg");
string imagemBase64 = Convert.ToBase64String(byteImagem);
var client = new RestClient("https://hml.flexdoc-Apis.com.br/FlexExtractor/api/ExtractService");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("ApplicationName", applicationName);
request.AddHeader("Authorization", "Bearer " + hash);
Dictionary body = new Dictionary();
body.Add("TypeAlias", "");
body.Add("ShowStats", "true");
body.Add("ShowInput", "true");
body.Add("ShowActions", "true");
body.Add("ImageBase64", imagemBase64);
JToken jBody = JToken.FromObject(body);
request.AddParameter("application/json", jBody, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
if (response.StatusCode != System.Net.HttpStatusCode.OK)
throw new Exception(response.Content);
resultado = JToken.Parse(response.Content);
JToken jtResult = new JToken( response.Content );
// Mostra o json completo
Console.WriteLine("Resultado : " + resultado.ToString());
// Mostra um quadro estatístico do processamento e o TypeAlias (tipo de documento)
Console.WriteLine("Estatísticas: " + resultado["Stats"].ToString());
Console.WriteLine("TypeAlias : " + resultado["Output"]["TypeAlias"].ToString());
// Lista todos os campos extraídos
foreach (JToken jt in resultado["Output"]["Fields"])
{
Console.WriteLine( " " + jt["Name"].ToString() + " : " + jt["Value"].ToString());
}
Este método permite gerar um Token de autorização para utilização dos métodos de processamento (apresentados a seguir).
Método para processamento de documentos, identificando o seu tipo (RG, CNH, CIE, CIP,…) e extraindo todos os campos relativos ao documento.
A extração passa por um processo de tratamento de dados, de forma a permitir um melhor aproveitamento e padronização dos dados extraídos.
Método de análise de prova de vida. Utiliza uma sequência de imagens, analisando características e movimentação.
Método para análise de Selfie (foto do rosto). Efetua a comparação de uma imagem de selfie, confrontando-a com uma foto de um documento. O resultado gerado indica uma similaridade entre as duas imagens.
http://hmo.flexdoc.com.br/FlexExtractor/Token
Gera um Token de autorização, com tempo pré-determinado de utilização. Este token é essencial para utilização das demais ações desta Api (ExtractService).
Para gerar o Token, é necessário informar o username (ApplicationName) e password (ApplicationHash). Estas informações deverão ser criadas antecipadamente no site da aplicação.
application/x-www-form-urlencoded
password
<>
<>
'http://hmo.flexdoc.com.br/FlexExtractor/Token',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => 'grant_type=password&ApplicationName=%3C%3CApplicationName%3E%3E&Hash=%3C%3CHash%3E%3E',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/x-www-form-urlencoded'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
http://hmo.flexdoc.com.br/FlexExtractor/api/ExtractPlugin
Extrai informações a partir da imagem de um documento.
Como parâmetros de envio, é obrigatório apenas um array base64 referente a imagem (imageBase64). Adicionalmente poderá ser enviado também o tipo do documento (typeAlias) e informações esperadas na extração (dados lógicos). Caso o tipo do documento seja enviado, a Api assumirá este tipo e efetuará apenas a extração dos dados. Caso os dados lógicos sejam enviados, a Api irá analisar cada informação enviada com o dado extraído, gerando um índice de similaridade entre eles.
A Api retornará um Json contendo informações do tipo de documento identificado, seus dados extraídos e estatísticas.
application/json
<>
{
"TypeAlias":"",
"Fields":
[
{"name": "NOME", "reference": "MOMOMOMO MOMOM MOMO" },
{"name": "CPF", "reference": "99988877733" }
],
"ImageBase64":"<>"
}
'http://hmo.flexdoc.com.br/FlexExtractor/api/ExtractPlugin',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"TypeAlias":"",
"Fields":
[
{"name": "NOME", "reference": "MOMOMOMO MOMOM MOMO" },
{"name": "CPF", "reference": "99988877733" }
],
"ImageBase64":"<>"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'ApplicationName: <>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
http://hmo.flexdoc.com.br/FlexExtractor/api/ProofOfLifePlugin
Extrai informações a partir da imagem de um documento.
Como parâmetros de envio, é obrigatório apenas um array base64 referente a imagem (imageBase64). Adicionalmente poderá ser enviado também o tipo do documento (typeAlias) e informações esperadas na extração (dados lógicos). Caso o tipo do documento seja enviado, a Api assumirá este tipo e efetuará apenas a extração dos dados. Caso os dados lógicos sejam enviados, a Api irá analisar cada informação enviada com o dado extraído, gerando um índice de similaridade entre eles.
A Api retornará um Json contendo informações do tipo de documento identificado, seus dados extraídos e estatísticas.
application/json
<>
{
"ShowStats": true,
"ShowInput": false,
"ShowActions": true,
"ImagesBase64":
[
"<
'http://hmo.flexdoc.com.br/FlexExtractor/api/ProofOfLifePlugin',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"ShowStats": true,
"ShowInput": false,
"ShowActions": true,
"ImagesBase64":
[
"< array(
'Content-Type: application/json',
'ApplicationName: <>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
http://hmo.flexdoc.com.br/FlexExtractor/api/SelfiePlugin
Extrai informações a partir da imagem de um documento.
Como parâmetros de envio, é obrigatório apenas um array base64 referente a imagem (imageBase64). Adicionalmente poderá ser enviado também o tipo do documento (typeAlias) e informações esperadas na extração (dados lógicos). Caso o tipo do documento seja enviado, a Api assumirá este tipo e efetuará apenas a extração dos dados. Caso os dados lógicos sejam enviados, a Api irá analisar cada informação enviada com o dado extraído, gerando um índice de similaridade entre eles.
A Api retornará um Json contendo informações do tipo de documento identificado, seus dados extraídos e estatísticas.
application/json
<>
{ "ShowStats":"true",
"DocImageBase64": "<
'http://hmo.flexdoc.com.br/FlexExtractor/api/SelfiePlugin',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{ "ShowStats":"true",
"DocImageBase64": "< array(
'Content-Type: application/json',
'ApplicationName: <>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Tecnologia e expertise, unidas para gerar soluções para empresas!
Soluções
Todos os Direitos Reservados à FLEXDOC