Pular para conteúdo

Classificar um arquivo

URN

  • /ia/arquivo/classificar

Método:

  • POST

Headers

{
    "Content-Type": "multipart/form-data",
    "Authorization": "TOKEN XXXXXXXXXXXXXXXX"
}

Body

  • file: Arquivo da imagem do documento (tipos aceitos: png, jpg, jpeg, webp).

  • categories: Array de objetos que define as categorias que devem ser atribuídas ao documento.

    • 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 indicando se a verificação de qualidade da imagem é 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 da imagem aceitável.

  • custom_rules: Array de strings, cada uma com até 255 caracteres, que descrevem regras personalizadas aplicadas durante a classificação.

Retorno

{
    "data": {
        "it_document_type": 0,
        "fields": {
            "vc_nome_marido": "Valor do campo"
        },
        "it_quality": 80
    },
    "message": "Documento classificado com sucesso.",
    "status": "success"
}

Descrição

Este URN é responsável por classificar um documento enviado como imagem, atribuindo categorias e extraindo campos específicos do documento. Opcionalmente, ele também realiza a validação da qualidade da imagem.

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);

  // Adiciona a estrutura de categorias ao objeto FormData
  formData.append("categories[0][name]", "Fatura");
  formData.append("categories[0][description]", "Documentos de fatura");
  formData.append("categories[0][fields][0][name]", "Número da Fatura");
  formData.append("categories[0][fields][0][description]", "O identificador único da fatura");

  // 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[]", "Regra A");

  // 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',

    // 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_numero_fatura": "INV-2023-001"
        },
        "it_quality": 82
    },
    "message": "Documento classificado com sucesso.",
    "status": "success"
}

Explicação dos Campos de Resposta:

  • data: Objeto principal contendo o resultado da classificação.

    • it_document_type: Inteiro que representa o índice da categoria atribuída a partir do array de categorias fornecido na requisição.
    • fields: Objeto que contém os campos extraídos, com nomes de campos como chaves e seus valores correspondentes como conteúdo extraído.
    • it_quality: (Opcional) Número representando a qualidade da imagem, retornado apenas se quality_evaluation for true.
  • message: Mensagem descritiva indicando o resultado da operação.

  • status: Indica o sucesso ou falha da operação.

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.