Fazer upload de arquivos para a Base de Conhecimento

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://api-docs.neppo.com.br/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "Neppo API MCP server": {
    "url": "https://api-docs.neppo.com.br/mcp"
  }
}

Close
POST /transformersapi/1.0/upload_files

Realiza o upload de um arquivo para a Base de Conhecimento da plataforma IAN, como parte do fluxo de RAG (Retrieval-Augmented Generation).

O endpoint executa as seguintes etapas:

  1. Lê o arquivo a partir de uma URL pública
  2. Armazena os dados na arquitetura interna
  3. Processa e indexa os dados para recuperação eficiente via API /questions

Após o envio, os documentos ficam disponíveis para pipelines de IA que combinam recuperação de contexto + geração de texto.

Tipos de arquivo suportados: .xls, .xlsx, .ods, .pdf, .csv, .txt, .tsv, .docx, .xml, .json

Parâmetros:

Parâmetro Descrição Obrigatório
url_file URL pública do arquivo (não pode ser link do Google Drive) ✅ Sim
index_elastic Nome da base de conhecimento. Composto por: {hostname}_{identificador}_data_pt. Se já existir uma base com o mesmo nome, ela será sobrescrita ✅ Sim
separator_doc_elastic Separador de linhas usado no arquivo para identificar documentos ❌ Não
id_doc_elastic Nome da coluna que identifica cada documento como único ❌ Não

Consulte as abas de exemplo ao lado para ver o payload de cada tipo de arquivo.

application/json

Body Required

  • url_file string Required

    URL pública do arquivo a ser processado. Não pode ser link do Google Drive.

  • index_elastic string Required

    Nome da base de conhecimento. Formato: {hostname}_{identificador}_data_pt. Se já existir uma base com o mesmo nome, será sobrescrita.

  • separator_doc_elastic string

    Separador de linhas usado no arquivo para identificar documentos. Recomendado para CSV, DOCX e PDF.

  • id_doc_elastic string

    Nome da coluna que identifica cada documento como único. Recomendado para JSON e XML.

Responses

  • 200 application/json

    Arquivo recebido e processamento iniciado com sucesso

  • 401 application/json

    Não autorizado — token ausente ou inválido

  • 403 application/json

    Acesso proibido — sem permissão para este recurso

  • 404 application/json

    Recurso não encontrado

POST /transformersapi/1.0/upload_files
{
  "url_file": "https://arquivos.clienteXPTO.com.br/base-conhecimento.json",
  "index_elastic": "clienteXPTO_json_data_pt",
  "id_doc_elastic": "ListingID",
  "separator_doc_elastic": "Listing"
}
{
  "url_file": "https://arquivos.clienteXPTO.com.br/base-conhecimento.xml",
  "index_elastic": "clienteXPTO_xml_data_pt",
  "id_doc_elastic": "Listing"
}
{
  "url_file": "https://arquivos.clienteXPTO.com.br/base-conhecimento.xlsx",
  "index_elastic": "clienteXPTO_xlsx_data_pt"
}
{
  "url_file": "https://arquivos.clienteXPTO.com.br/base-conhecimento.csv",
  "index_elastic": "clienteXPTO_csv_data_pt",
  "separator_doc_elastic": "|"
}
{
  "url_file": "https://arquivos.clienteXPTO.com.br/base-conhecimento.docx",
  "index_elastic": "clienteXPTO_docx_data_pt",
  "separator_doc_elastic": "\n \n"
}
{
  "url_file": "https://arquivos.clienteXPTO.com.br/base-conhecimento.pdf",
  "index_elastic": "clienteXPTO_pdf_data_pt",
  "separator_doc_elastic": "\n \n"
}
{
  "url_file": "https://arquivos.clienteXPTO.com.br/base-conhecimento.txt",
  "index_elastic": "clienteXPTO_txt_data_pt",
  "separator_doc_elastic": "\n"
}
curl \
 --request POST 'https://api.neppo.com.br/transformersapi/1.0/upload_files' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{"url_file":"https://arquivos.clienteXPTO.com.br/base-conhecimento.pdf","index_elastic":"clienteXPTO_pdf_data_pt","separator_doc_elastic":"\n \n"}'
Request example
{
  "url_file": "https://arquivos.clienteXPTO.com.br/base-conhecimento.pdf",
  "index_elastic": "clienteXPTO_pdf_data_pt",
  "separator_doc_elastic": "\n \n"
}
Response examples (200)
{
  "message": "O arquivo está sendo processado e indexado através do processo de indexação acionada."
}
Response examples (401)
{
  "status": "Unauthorized"
}
Response examples (403)
{
  "status": "Forbidden"
}
Response examples (404)
{
  "status": "Not Found"
}