Extrair dados do arquivo PDF
URN
/ia/arquivo/extrair/pdf
Método:
POST
Headers
{
"Content-Type": "multipart/form-data",
"Authorization": "Token XXXXXXXXXXXXXXXX"
}
Body
-
file: Arquivo PDF do documento a ser processado.
-
fields: Array de objetos especificando os campos que devem ser extraídos do documento PDF.
- 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 do documento é 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 do documento. -
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",
"vc_cnpj": "Valor do Campo"
},
"it_quality": 80
},
"message": "Campos extraídos com sucesso.",
"status": "success"
}
Descrição
Este endpoint realiza a extração de campos específicos de um documento em formato PDF e permite validar o tipo do documento e a qualidade do arquivo se configurado.
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]", "Data do Relatório");
formData.append("fields[0][description]", "Data de emissão do relatório");
// Adiciona a verificação de documento ao FormData
formData.append("check_document", true);
// Adiciona a estrutura de 'document' ao FormData
formData.append("document[name]", "Relatório Financeiro");
formData.append("document[description]", "Relatório financeiro anual");
// Adiciona o campo 'quality_evaluation' ao formData
formData.append("quality_evaluation", true);
// Adiciona o campo 'quality_accept' ao formData
formData.append("quality_accept", 85);
// Adiciona o array 'custom_rules' ao formData
formData.append("custom_rules[]", "Verificar se os valores estão em dólar");
// 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/pdf',
// 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_data_relatorio": "2023-05-15"
},
"it_quality": 87
},
"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 avaliada do documento, 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.
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.