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
fortrue
, 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
fortrue
.
-
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.