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 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 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: String que contém a mensagem gerada pela análise do documento, retornada quando
-
message: Mensagem descritiva indicando o resultado da operação.
-
status: Indica o sucesso ou falha da operação.