Extrair dados do arquivo
URN
/ia/arquivo/extrair
Método:
POST
Headers
{
"Content-Type": "multipart/form-data",
"Authorization": "Token XXXXXXXXXXXXXXXX"
}
Body
-
file: Arquivo de imagem do documento (tipos aceitos: png, jpg, jpeg, webp).
-
fields: Array de objetos especificando os campos que devem ser extraídos da imagem.
- name: Nome do campo a ser extraído, obrigatório e limitado a 255 caracteres.
- description: Descrição do campo, obrigatória e limitada a 255 caracteres.
-
check_document: Booleano que ativa a validação do tipo de documento.
-
document: Objeto necessário se
check_document
fortrue
, detalhando o documento esperado.- name: Nome do documento esperado, obrigatório e limitado a 255 caracteres.
- description: Descrição do documento esperado, obrigatória e limitada a 255 caracteres.
-
quality_evaluation: Booleano que indica se a validação da qualidade da imagem é necessária.
-
quality_accept: Número entre 0 e 100, necessário se
quality_evaluation
fortrue
, definindo o valor mínimo aceitável para a qualidade da imagem. -
custom_rules: Array de strings para aplicar regras personalizadas durante a extração. Cada string pode ter até 255 caracteres.
Retorno
{
"data": {
"fields": {
"vc_nome": "Valor do Campo",
"vc_curso": "Valor do Campo"
},
"it_quality": 80
},
"message": "Campos extraídos com sucesso.",
"status": "success"
}
Descrição
Este endpoint é usado para extrair campos específicos de um documento enviado como imagem. Ele fornece a opção de validar o tipo de documento e a qualidade da imagem, conforme configurado na requisição.
Exemplos - JQuery
Requisição com validação de documento e qualidade
Request:
$("form#data").submit(function(event){
// Previne o comportamento padrão de envio do formulário
event.preventDefault();
// Cria um novo objeto FormData
var formData = new FormData();
// Adiciona o arquivo ao objeto FormData
formData.append("file", arquivo);
// Adiciona os campos definidos ao objeto FormData
formData.append("fields[0][name]", "Número do contrato");
formData.append("fields[0][description]", "Um número único que identifica o contrato");
// Adiciona a verificação de documento ao FormData
formData.append("check_document", true);
// Adiciona a estrutura de 'document' ao FormData
formData.append("document[name]", "Contrato");
formData.append("document[description]", "Um documento oficial que firma um acordo entre partes");
// Adiciona o campo 'quality_evaluation' ao formData
formData.append("quality_evaluation", true);
// Adiciona o campo 'quality_accept' ao formData
formData.append("quality_accept", 75);
// Adiciona o array 'custom_rules' ao formData
formData.append("custom_rules[]", "Deve haver uma logo no contrato de um pássaro.");
// Realiza a chamada AJAX
$.ajax({
// URL para onde os dados serão enviados
url: 'https://ws.guardiaodigital.com.br/versions/2.3.9/ia/arquivo/extrair',
// Define o tipo de requisição HTTP como POST
type: 'POST',
// Define os dados que estão sendo enviados
data: formData,
// Configura cabeçalhos, caso necessários
headers: {
"Authorization": "Token XXXXXXXXXXXXXXXX"
},
// Define opções para a requisição AJAX
async: false,
cache: false,
contentType: false, // Necessário para envio de arquivos
processData: false, // Necessário para enviar o objeto FormData
// Função de callback a ser executada em caso de sucesso
success: function (returndata) {
// Alerta o usuário sobre o retorno do servidor
alert(returndata);
}
});
// Retorna false para garantir que o formulário não seja enviado da maneira tradicional
return false;
});
Response:
{
"data": {
"fields": {
"vc_invoice_number": "INV-2023-045"
},
"it_quality": 78
},
"message": "Campos extraídos com sucesso.",
"status": "success"
}
Explicação dos Campos de Resposta:
-
data: Objeto principal da resposta contendo:
- fields: Objeto onde cada chave representa o nome de um campo especificado no
fields
da requisição, e o valor associado é o conteúdo extraído desse campo. - it_quality: (Opcional) Número representando a qualidade da imagem avaliada, retornado apenas se
quality_evaluation
fortrue
.
- fields: Objeto onde cada chave representa o nome de um campo especificado no
-
message: Mensagem que descreve o sucesso da operação de extração.
-
status: String que indica se a operação foi realizada com sucesso ou com falha.
Informações sobre o Campo vc_reject
Se você está procurando informações específicas relacionadas ao campo vc_reject
, acesse a seção Documento Rejeitado na documentação. Essa aba detalha as possíveis causas e soluções para problemas que interrompem o processamento.