Pular para o conteúdo principal

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.

IdentificadorValor
Content-typemultipart/form-data
Acceptapplication/json
AuthorizationBearer [Valor do token retornado na Autenticação]

Parâmetros de URL

ParâmetroDescriçãoTipoExemplosObrigatório
idIdentificador único da análiseInteger123Sim

Form Data

ParâmetroDescriçãoTipoObrigatório
arquivosArquivo(s) a serem enviadosFile[]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âmetroDescriçãoTipoExemplos
messageMensagem de confirmaçãoString"3 arquivo(s) enviado(s) com sucesso"
arquivosLista de arquivos enviadosArray[Arquivo]-

Objeto Arquivo

ParâmetroDescriçãoTipoExemplos
idIdentificador do arquivoInteger456
nomeNome original do arquivoString"contrato.pdf"
tipoContent-Type do arquivoString"application/pdf"
tamanhoTamanho em bytesInteger2048576
caminho_arquivoURL de acesso ao arquivoString"https://storage.googleapis.com/..."
status_processamentoStatus de processamento (Tabela)String"Recebido"
data_criacaoData/hora do uploadString (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âmetroDescriçãoTipoExemplos
statusStatus da requisiçãoInteger1
messagesLista de mensagens de erroArray[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âmetroDescriçãoTipoExemplos
statusStatus da requisiçãoInteger1
messagesLista de mensagens de erroArray[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âmetroDescriçãoTipoExemplos
statusStatus da requisiçãoInteger1
messagesLista de mensagens de erroArray[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âmetroDescriçãoTipoExemplos
statusStatus da requisiçãoInteger1
messagesLista de mensagens de erroArray[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âmetroDescriçãoTipoExemplos
statusStatus da requisiçãoInteger1
messagesLista de mensagens de erroArray[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âmetroDescriçãoTipoExemplos
statusStatus da requisiçãoInteger1
messagesLista de mensagens de erroArray[String]["Erro ao processar upload"]

Exemplo

{
"status": 1,
"messages": [
"Erro interno ao processar o upload dos arquivos"
]
}