Skip to main content

Gerenciamento de Arquivos

Esta página documenta como fazer upload e download de arquivos para uso nas conversas com agentes.

Upload File​

Faz upload de um arquivo para ser usado em mensagens ou retorna um ID para um arquivo externo via URL.

Endpoint​

POST https://api.tech4.ai/agent/v2/files/upload

Headers​

x-client-key: YOUR_API_KEY
Content-Type: application/json OU multipart/form-data

Formatos Aceitos​

A API aceita dois formatos de requisição:

  1. application/json - Para enviar URL de arquivo externo
  2. multipart/form-data - Para enviar arquivo diretamente (bytes)

Opção 1: Upload via JSON (URL)​

Use este método quando o arquivo já estiver hospedado em algum lugar acessível.

Parâmetros​

NomeTipoObrigatórioDescrição
session_iduuidSimID da sessão ativa
file_urlstringSimURL pública do arquivo

Exemplo de Requisição​

curl -X POST https://api.tech4.ai/agent/v2/files/upload \
-H "x-client-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"session_id": "550e8400-e29b-41d4-a716-446655440000",
"file_url": "https://example.com/path/to/file.pdf"
}'

Opção 2: Upload via Multipart (Arquivo Binário)​

Use este método para enviar arquivos diretamente do seu sistema.

Parâmetros (Form-Data)​

NomeTipoObrigatórioDescrição
session_idstringSimUUID da sessão ativa
filefileSimArquivo binário a ser enviado
file_urlstringNãoURL alternativa (opcional)

Exemplo de Requisição​

curl -X POST https://api.tech4.ai/agent/v2/files/upload \
-H "x-client-key: YOUR_API_KEY" \
-F "session_id=550e8400-e29b-41d4-a716-446655440000" \
-F "file=@/path/to/local/document.pdf"

Respostas do Upload​

Sucesso (200 OK)​

Arquivo enviado com sucesso.

{
"file_id": "e5f6a7b8-c9d0-1234-ef56-789012345678",
"detail": "File uploaded successfully"
}

Requisição Inválida (400 Bad Request)​

Requisição inválida ou erro de validação do arquivo.

{
"detail": "Invalid request or file validation error"
}

Não Autorizado (401 Unauthorized)​

Chave de API inválida.

{
"detail": "Invalid client key"
}

Não Encontrado (404 Not Found)​

Recurso não encontrado.

{
"detail": "Resource not found"
}

Erro Interno (500 Internal Server Error)​

Erro interno do servidor.

{
"detail": "Internal server error"
}

Download de Arquivo​

Obtém a URL de download de um arquivo previamente enviado ou gerado pelo agente.

Endpoint​

GET https://api.tech4.ai/agent/v2/files/{file_id}

Headers​

x-client-key: YOUR_API_KEY

Parâmetros​

NomeTipoLocalObrigatórioDescrição
file_iduuidPathSimID único do arquivo retornado no upload ou enviado pelo agente

Exemplo de Requisição​

curl -X GET https://api.tech4.ai/agent/v2/files/e5f6a7b8-c9d0-1234-ef56-789012345678 \
-H "x-client-key: YOUR_API_KEY"

Respostas​

Sucesso (200 OK)​

Retorna a URL de download válida por 10 minutos.

{
"file_url": "https://example.com/files/download/e5f6a7b8-c9d0-1234-ef56-789012345678",
"detail": "File successfully retrieved"
}
Atenção

A URL de download expira após 10 minutos. Se precisar acessar o arquivo novamente depois desse período, faça uma nova requisição para obter uma URL atualizada.

Não Autorizado (401 Unauthorized)​

Chave de API inválida.

{
"detail": "Invalid client key"
}

Não Encontrado (404 Not Found)​

O arquivo não foi encontrado.

{
"detail": "File not found"
}

Erro Interno (500 Internal Server Error)​

Erro interno do servidor.

{
"detail": "Internal server error"
}

Tipos de Arquivo Suportados​

A API suporta diversos tipos de arquivo:

Documentos​

  • PDF (.pdf)
  • Texto (.txt)
  • Pkpass (.pkpass)

Imagens​

  • JPEG (.jpg, .jpeg)
  • PNG (.png)
  • WebP (.webp)

Áudio​

  • MP3 (.mp3)
  • WAV (.wav)
  • OGG (.ogg)
  • MP4 (.mp4)
Limites

Consulte os limites de tamanho de arquivo com o suporte técnico, pois podem variar de acordo com o tipo de arquivo e seu plano.


Exemplo Completo: Upload e Envio​

Aqui está um exemplo completo de como fazer upload de um arquivo e enviá-lo em uma mensagem:

Passo 1: Upload do Arquivo​

# Upload do arquivo
curl -X POST https://api.tech4.ai/agent/v2/files/upload \
-H "x-client-key: YOUR_API_KEY" \
-F "session_id=550e8400-e29b-41d4-a716-446655440000" \
-F "file=@/path/to/contract.pdf"

# Resposta:
# {
# "file_id": "e5f6a7b8-c9d0-1234-ef56-789012345678",
# "detail": "File uploaded successfully"
# }

Passo 2: Enviar Mensagem com o Arquivo​

# Enviar mensagem com o arquivo
curl -X POST https://api.tech4.ai/agent/v2/conversation/550e8400-e29b-41d4-a716-446655440000/message \
-H "x-client-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "document",
"document": {
"id": "e5f6a7b8-c9d0-1234-ef56-789012345678",
"caption": "Contrato assinado para análise"
}
}'

Boas Práticas​

Recomendações
  • Valide arquivos antes do upload: Verifique tipo e tamanho no cliente
  • Use nomes descritivos: Adicione caption relevante ao enviar arquivos
  • Armazene file_id: Guarde o ID retornado para referência futura
  • Gerencie expiração: URLs de download expiram em 10 minutos

Próximos Passos​

Agora que você sabe gerenciar arquivos, explore: