Classificar um arquivo PDF
URN
/ia/arquivo/classificar/pdf
Método:
POST
Headers
{
"Content-Type": "multipart/form-data",
"Authorization": "Token XXXXXXXXXXXXXXXX"
}
Body
-
file: Arquivo PDF do documento.
-
categories: Array de objetos que define as categorias a serem atribuídas ao documento PDF.
- name: Nome da categoria, obrigatório e limitado a 255 caracteres.
- description: Descrição da categoria, obrigatório e limitado a 255 caracteres.
- fields: Array de campos associados à categoria.
- name: Nome do campo, obrigatório e limitado a 255 caracteres.
- description: Descrição do campo, obrigatório e limitado a 255 caracteres.
-
quality_evaluation: Booleano que indica se a verificação de qualidade do documento é necessária.
-
quality_accept: Número entre 0 e 100, necessário se
quality_evaluation
fortrue
, que define o nível mínimo de qualidade aceitável para o documento. -
custom_rules: Array de regras personalizadas a serem aplicadas na classificação. Cada string pode ter até 255 caracteres.
Retorno
{
"data": [
[
{
"it_document_type": 0,
"fields": {
"vc_nome_marido": "Valor do Campo"
},
"it_quality": 80
},
{
"it_document_type": 1,
"fields": {
"vc_nome": "Valor do Campo"
},
"it_quality": 80
}
],
[
{
"it_document_type": 1,
"fields": {
"vc_nome": "Valor do Campo"
},
"it_quality": 80
}
]
],
"message": "Documento PDF classificado com sucesso.",
"status": "success"
}
Descrição
Este endpoint é utilizado para classificar documentos em formato PDF. Ele analisa cada página do documento, identificando as categorias e extraindo campos específicos conforme definidos no corpo da requisição. Ele também pode validar a qualidade do arquivo PDF se configurado.
Exemplos - JQuery
Requisição com verificação de 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_pdf);
// Adiciona a estrutura de categorias ao objeto FormData
formData.append("categories[0][name]", "Instruções");
formData.append("categories[0][description]", "Páginas que contêm instruções");
formData.append("categories[0][fields][0][name]", "Título");
formData.append("categories[0][fields][0][description]", "O título do documento");
// 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[]", "Check for page numbers");
// 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/classificar/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": [
[
{
"it_document_type": 0,
"fields": {
"vc_titulo": "Introdução às Instruções"
},
"it_quality": 87
}
]
],
"message": "Documento PDF classificado com sucesso.",
"status": "success"
}
Explicação dos Campos de Resposta:
-
data: Array multidimensional onde cada subarray representa uma página do documento PDF. Dentro de cada subarray, há objetos que representam os documentos identificados na respectiva página.
- it_document_type: Inteiro que indica o índice da categoria atribuída do array
categories
fornecido na requisição. - fields: Objeto contendo os campos extraídos. Cada chave representa um nome de campo do
fields
e seu valor associado é o conteúdo extraído. - it_quality: (Opcional) Número que representa a qualidade avaliada do documento, retornado somente se
quality_evaluation
fortrue
.
- it_document_type: Inteiro que indica o índice da categoria atribuída do array
-
message: Mensagem que descreve o resultado da operação.
-
status: Indica se a operação foi bem-sucedida ou falhou.
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.