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
Cookie | Duração | Descrição |
---|---|---|
cookielawinfo-checkbox-advertisement | 1 year | Set by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category . |
cookielawinfo-checkbox-publicidade | 1 year | Definido pelo plug-in de consentimento de cookie do GDPR para armazenar o consentimento do usuário para cookies na categoria "Publicidade". |
Cookie | Duração | Descrição |
---|---|---|
_ga | 2 years | O cookie _ga, instalado pelo Google Analytics, calcula os dados do visitante, da sessão e da campanha e também acompanha o uso do site para o relatório de análise do site. O cookie armazena informações anonimamente e atribui um número gerado aleatoriamente para reconhecer visitantes únicos. |
_ga_SSL6PYDN3V | 2 years | Este cookie é instalado pelo Google Analytics. |
_gcl_au | 3 months | Fornecido pelo Gerenciador de tags do Google para experimentar a eficiência de publicidade de sites que usam seus serviços. |
Cookie | Duração | Descrição |
---|---|---|
cookielawinfo-checkbox-advertisement | 1 year | Set by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category . |
cookielawinfo-checkbox-publicidade | 1 year | Definido pelo plug-in de consentimento de cookie do GDPR para armazenar o consentimento do usuário para cookies na categoria "Publicidade". |
Cookie | Duração | Descrição |
---|---|---|
_vSgeqjntAudhm | 1 day | No description |
AnalyticsSyncHistory | 1 month | No description |
cieKNS | 1 day | No description |
cookielawinfo-checkbox-funcionais | 1 year | No description |
cookielawinfo-checkbox-necessarios | 1 year | No description |
cookielawinfo-checkbox-outros | 1 year | No description |
CookieLawInfoConsent | 1 year | No description |
daVsQNy | 1 day | No description |
eFwgiJHbRI_ofVTl | 1 day | No description |
elementor | never | Este cookie é usado pelo tema WordPress do site. Ele permite que o proprietário do site implemente ou altere o conteúdo do site em tempo real. |
li_gc | 2 years | No description |
LiFVQhETHZxs-SR | 1 day | No description |
URCioGQ | 1 day | No description |
UxvyXepJnDmEHbz | 1 day | No description |
Cookie | Duração | Descrição |
---|---|---|
test_cookie | 15 minutes | O test_cookie é definido por doubleclick.net e é usado para determinar se o navegador do usuário oferece suporte a cookies. |
Cookie | Duração | Descrição |
---|---|---|
bcookie | 2 years | O LinkedIn define esse cookie dos botões de compartilhamento e tags de anúncio do LinkedIn para reconhecer o ID do navegador.
|
bscookie | 2 years | O LinkedIn define esse cookie para armazenar ações realizadas no site. |
lang | session | LinkedIn sets this cookie to remember a user's language setting. |
lidc | 1 day | O LinkedIn define o cookie lidc para facilitar a seleção do data center.
|
UserMatchHistory | 1 month | LinkedIn sets this cookie for LinkedIn Ads ID syncing. |