Pular para conteúdo

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 for true, 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 for true.
  • 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.