Pular para conteúdo

Ação customizada com um arquivo

URN

  • /ia/arquivo/customizado

Método:

  • POST

Headers

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

Body

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

  • prompt: Texto com as instruções para realizar a análise personalizada do documento. Esse texto define as regras e o formato de extração desejados.

  • json: Booleano que determina o formato de retorno da resposta.

    • true: O retorno será em formato JSON, estruturado conforme as especificações definidas no prompt.
    • false: O retorno será uma mensagem simples, encaixada no campo message.

Retorno

Se json for true

O retorno será estruturado de acordo com o padrão definido no prompt fornecido.

{
    "data": {
        "name": "Exemplo",
        "document_type": "Exemplo"
    },
    "message": "Análise realizada com sucesso.",
    "status": "success"
}

Se json for false

O retorno será em formato de mensagem simples.

{
    "data": {
        "message": "Valor da mensagem"
    },
    "message": "Informação da requisição",
    "status": "success"
}

Descrição

Este endpoint realiza a análise personalizada de um documento em imagem, aplicando regras de extração definidas pelo usuário através de um prompt. O formato do retorno pode ser configurado para ser apresentado como uma mensagem simples ou em um formato JSON personalizado, dependendo do parâmetro json.

Exemplos - JQuery

Retorno em formato JSON

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 o campo 'prompt' e 'json' ao formData
  formData.append("prompt", "Extrair nome e tipo de documento. Em formato JSON, os campos devem ser vc_nome e vc_documento.");
  formData.append("json", true);

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

    // 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": {
        "vc_nome": "Pedro Antonio",
        "vc_documento": "Certidão de Casamento"
    },
    "message": "Documento classificado com sucesso.",
    "status": "success"
}

Descrição dos Campos de Resposta:

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

    • message: String que contém a mensagem gerada pela análise do documento, retornada quando json é false.
    • JSON personalizado: Estrutura de saída definida pelo prompt, retornada quando json é true. A estrutura específica deste JSON será ditada pelas instruções do prompt fornecido na requisição.
  • message: Mensagem descritiva indicando o resultado da operação.

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