Upload de Arquivos
POST [Url Ambiente]/api/analise/{id}/arquivos
Esse endpoint é utilizado para enviar (upload) documentos que serão anexados a uma análise. Os arquivos são processados automaticamente e convertidos para formato Markdown para posterior análise por IA.
Header
| Identificador | Valor |
|---|---|
| Content-type | multipart/form-data |
| Accept | application/json |
| Authorization | Bearer [Valor do token retornado na Autenticação] |
Parâmetros de URL
| Parâmetro | Descrição | Tipo | Exemplos | Obrigatório |
|---|---|---|---|---|
| id | Identificador único da análise | Integer | 123 | Sim |
Form Data
| Parâmetro | Descrição | Tipo | Obrigatório | |
|---|---|---|---|---|
| arquivos | Arquivo(s) a serem enviados | File[] | Sim |
Exemplo CURL
curl -X POST \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6...' \
--form 'arquivos=@/path/to/contrato.pdf' \
--form 'arquivos=@/path/to/anexo1.docx' \
--form 'arquivos=@/path/to/anexo2.jpg' \
'https://api.evidencia.acertpix.com.br/api/analise/123/arquivos'
Status Code 200
Upload realizado com sucesso.
| Parâmetro | Descrição | Tipo | Exemplos |
|---|---|---|---|
| message | Mensagem de confirmação | String | "3 arquivo(s) enviado(s) com sucesso" |
| arquivos | Lista de arquivos enviados | Array[Arquivo] | - |
Objeto Arquivo
| Parâmetro | Descrição | Tipo | Exemplos |
|---|---|---|---|
| id | Identificador do arquivo | Integer | 456 |
| nome | Nome original do arquivo | String | "contrato.pdf" |
| tipo | Content-Type do arquivo | String | "application/pdf" |
| tamanho | Tamanho em bytes | Integer | 2048576 |
| caminho_arquivo | URL de acesso ao arquivo | String | "https://storage.googleapis.com/..." |
| status_processamento | Status de processamento (Tabela) | String | "Recebido" |
| data_criacao | Data/hora do upload | String (ISO 8601) | "2025-01-20T10:10:00.123Z" |
Exemplo
{
"message": "3 arquivo(s) enviado(s) com sucesso",
"arquivos": [
{
"id": 456,
"nome": "contrato.pdf",
"tipo": "application/pdf",
"tamanho": 2048576,
"caminho_arquivo": "https://storage.googleapis.com/bucket/123/contrato.pdf",
"status_processamento": "Recebido",
"data_criacao": "2025-01-20T10:10:00.123Z"
},
{
"id": 457,
"nome": "anexo1.docx",
"tipo": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"tamanho": 512000,
"caminho_arquivo": "https://storage.googleapis.com/bucket/123/anexo1.docx",
"status_processamento": "Recebido",
"data_criacao": "2025-01-20T10:10:01.456Z"
},
{
"id": 458,
"nome": "anexo2.jpg",
"tipo": "image/jpeg",
"tamanho": 1024000,
"caminho_arquivo": "https://storage.googleapis.com/bucket/123/anexo2.jpg",
"status_processamento": "Recebido",
"data_criacao": "2025-01-20T10:10:02.789Z"
}
]
}
Status Code 400
Erro de validação nos arquivos enviados.
| Parâmetro | Descrição | Tipo | Exemplos |
|---|---|---|---|
| status | Status da requisição | Integer | 1 |
| messages | Lista de mensagens de erro | Array[String] | ["Formato de arquivo não suportado"] |
Exemplos de Erros Comuns
Nenhum arquivo enviado:
{
"status": 1,
"messages": [
"Nenhum arquivo foi enviado"
]
}
Formato não suportado:
{
"status": 1,
"messages": [
"O arquivo 'documento.exe' possui formato não suportado"
]
}
Arquivo muito grande:
{
"status": 1,
"messages": [
"O arquivo 'documento.pdf' excede o tamanho máximo permitido de 50 MB"
]
}
Limite de arquivos excedido:
{
"status": 1,
"messages": [
"Limite de 10 arquivos por upload excedido"
]
}
Status Code 401
Requisição não autenticada ou token inválido/expirado.
| Parâmetro | Descrição | Tipo | Exemplos |
|---|---|---|---|
| status | Status da requisição | Integer | 1 |
| messages | Lista de mensagens de erro | Array[String] | ["Token de autenticação inválido"] |
Exemplo
{
"status": 1,
"messages": [
"Token de autenticação inválido ou expirado"
]
}
Status Code 403
Acesso negado - a análise pertence a outra empresa.
| Parâmetro | Descrição | Tipo | Exemplos |
|---|---|---|---|
| status | Status da requisição | Integer | 1 |
| messages | Lista de mensagens de erro | Array[String] | ["Acesso negado"] |
Exemplo
{
"status": 1,
"messages": [
"Você não tem permissão para enviar arquivos para esta análise"
]
}
Status Code 404
Análise não encontrada.
| Parâmetro | Descrição | Tipo | Exemplos |
|---|---|---|---|
| status | Status da requisição | Integer | 1 |
| messages | Lista de mensagens de erro | Array[String] | ["Análise não encontrada"] |
Exemplo
{
"status": 1,
"messages": [
"Análise com ID 123 não encontrada"
]
}
Status Code 413
Payload muito grande (arquivo excede limite de tamanho).
| Parâmetro | Descrição | Tipo | Exemplos |
|---|---|---|---|
| status | Status da requisição | Integer | 1 |
| messages | Lista de mensagens de erro | Array[String] | ["Arquivo muito grande"] |
Exemplo
{
"status": 1,
"messages": [
"O tamanho total dos arquivos excede o limite permitido"
]
}
Status Code 500
Erro interno do servidor.
| Parâmetro | Descrição | Tipo | Exemplos |
|---|---|---|---|
| status | Status da requisição | Integer | 1 |
| messages | Lista de mensagens de erro | Array[String] | ["Erro ao processar upload"] |
Exemplo
{
"status": 1,
"messages": [
"Erro interno ao processar o upload dos arquivos"
]
}