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:
- application/json - Para enviar URL de arquivo externo
- 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
session_id | uuid | Sim | ID da sessão ativa |
file_url | string | Sim | URL 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)
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
session_id | string | Sim | UUID da sessão ativa |
file | file | Sim | Arquivo binário a ser enviado |
file_url | string | Não | URL 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
| Nome | Tipo | Local | Obrigatório | Descrição |
|---|---|---|---|---|
file_id | uuid | Path | Sim | ID ú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"
}
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)
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
- 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: