Pular para conteúdo

Ação customizada com um arquivo PDF

URN

  • /ia/arquivo/customizado/pdf

Método:

  • POST

Headers

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

Body

  • file: Arquivo PDF do documento a ser analisado.

  • prompt: Texto contendo as instruções para a análise personalizada do documento. Isso inclui como os dados devem ser extraídos e qual a estrutura esperada do resultado.

  • 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 detalhada, 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 detalhada.

{
    "data": {
        "message": "Detalhes do documento analisado: Exemplo"
    },
    "message": "Análise realizada com sucesso.",
    "status": "success"
}

Descrição

Este endpoint realiza uma análise personalizada de um documento em formato PDF aplicando as regras de extração e interpretação conforme especificadas no prompt. O resultado pode ser um json estruturado ou uma simples mensagem descritiva.

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

  // Adiciona o campo 'prompt' ao formData
  formData.append("prompt", "Análise o relatório anual e retorne em JSON o campos com a receita e as despesas.");

  // Define json como true no formData
  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/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": {
        "receita": "$5,000,000",
        "despesas": "$3,000,000"
    },
    "message": "Análise realizada com sucesso.",
    "status": "success"
}

Descrição dos Campos de Resposta:

  • data: Objeto principal contendo o resultado da análise.

    • message: String que contém a mensagem ou resumo gerado 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 dependerá das instruções fornecidas no prompt.
  • message: Mensagem que descreve o sucesso da operação de análise.

  • status: Indica se a operação foi realizada com sucesso ou não.