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 campomessage
.
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: String que contém a mensagem ou resumo gerado pela análise do documento, retornada quando
-
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.