Arquivos
Visão Geral
O módulo Arquivos permite o envio e a consulta de arquivos vinculados a uma empresa. É utilizado para armazenar documentos e anexos associados ao contexto da empresa informada.
Base URL
/api/arquivos
Todos os endpoints requerem autenticação via Bearer Token:
Authorization: Bearer {token}
Endpoints
POST
/api/arquivos/{empresaId}
Descrição: Realiza o upload de um ou mais arquivos vinculados à empresa informada via multipart/form-data.
Parâmetros
| Nome | Tipo | Local | Obrigatório | Descrição |
|---|---|---|---|---|
empresaId | integer (int64) | path | ✓ | ID da empresa à qual os arquivos serão vinculados |
Corpo da Requisição
Envio via multipart/form-data:
| Campo | Tipo | Descrição |
|---|---|---|
files | array de binários | Um ou mais arquivos a serem enviados |
Exemplo com cURL:
curl -X POST "https://api.app.hooked.com.br/api/arquivos/1" \
-H "Authorization: Bearer {token}" \
-F "[email protected]" \
-F "[email protected]"
Resposta de Sucesso 200
"Success"
Códigos de Erro
| Código | Descrição |
|---|---|
400 | Nenhum arquivo enviado ou formato incorreto |
401 | Token ausente ou inválido |
404 | Empresa não encontrada |
500 | Erro interno do servidor |
Exemplos de Código
cURL
curl -X POST "https://api.app.hooked.com.br/api/arquivos/{empresaId}" \
-H "Authorization: Bearer {token}" \
-F "[email protected]"
JavaScript
const form = new FormData();
form.append('files', arquivo, 'arquivo.pdf');
const response = await fetch('https://api.app.hooked.com.br/api/arquivos/{empresaId}', {
method: 'POST',
headers: { 'Authorization': 'Bearer {token}' },
body: form
});
const data = await response.json();
Python
import requests
with open('arquivo.pdf', 'rb') as f:
data = requests.post(
'https://api.app.hooked.com.br/api/arquivos/{empresaId}',
headers={'Authorization': 'Bearer {token}'},
files=[('files', f)]
).json()
Go
import (
"bytes"
"io"
"mime/multipart"
"net/http"
"os"
)
body := &bytes.Buffer{}
writer := multipart.NewWriter(body)
arquivo, _ := os.Open("arquivo.pdf")
part, _ := writer.CreateFormFile("files", "arquivo.pdf")
io.Copy(part, arquivo)
writer.Close()
req, _ := http.NewRequest("POST", "https://api.app.hooked.com.br/api/arquivos/{empresaId}", body)
req.Header.Set("Authorization", "Bearer {token}")
req.Header.Set("Content-Type", writer.FormDataContentType())
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
PHP
$ch = curl_init('https://api.app.hooked.com.br/api/arquivos/{empresaId}');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer {token}'],
CURLOPT_POSTFIELDS => ['files' => new CURLFile('arquivo.pdf')],
CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
n8n
{
"name": "Hooked API — POST /api/arquivos/{empresaId}",
"nodes": [
{
"parameters": {
"method": "POST",
"url": "https://api.app.hooked.com.br/api/arquivos/{empresaId}",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer SEU_TOKEN_AQUI"
}
]
},
"options": {}
},
"id": "node-1",
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
250,
300
]
}
],
"connections": {},
"pinData": {}
}
GET
/api/arquivos/{empresaId}
Descrição: Retorna os dados do arquivo vinculado à empresa informada.
Parâmetros
| Nome | Tipo | Local | Obrigatório | Descrição |
|---|---|---|---|---|
empresaId | integer (int64) | path | ✓ | ID da empresa para consulta dos arquivos |
Corpo da Requisição
Nenhum.
Resposta de Sucesso 200
{
"id": 42,
"arquivoOriginal": "contrato_social.pdf",
"localArquivo": "/storage/empresas/1/contrato_social.pdf",
"empresaId": 1
}
Campos da Resposta
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
id | integer (int64) | — | Identificador único do arquivo |
arquivoOriginal | string | ✓ | Nome original do arquivo enviado |
localArquivo | string | ✓ | Caminho onde o arquivo está armazenado |
empresaId | integer (int64) | ✓ | ID da empresa proprietária do arquivo |
Códigos de Erro
| Código | Descrição |
|---|---|
401 | Token ausente ou inválido |
404 | Arquivo ou empresa não encontrados |
500 | Erro interno do servidor |
Exemplos de Código
cURL
curl -X GET "https://api.app.hooked.com.br/api/arquivos/{empresaId}" \
-H "Authorization: Bearer {token}"
JavaScript
const response = await fetch('https://api.app.hooked.com.br/api/arquivos/{empresaId}', {
headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();
Python
import requests
data = requests.get(
'https://api.app.hooked.com.br/api/arquivos/{empresaId}',
headers={'Authorization': 'Bearer {token}'}
).json()
Go
import (
"io"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/arquivos/{empresaId}", nil)
req.Header.Set("Authorization", "Bearer {token}")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
PHP
$ch = curl_init('https://api.app.hooked.com.br/api/arquivos/{empresaId}');
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => ['Authorization: Bearer {token}'],
CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
n8n
{
"name": "Hooked API — GET /api/arquivos/{empresaId}",
"nodes": [
{
"parameters": {
"method": "GET",
"url": "https://api.app.hooked.com.br/api/arquivos/{empresaId}",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer SEU_TOKEN_AQUI"
}
]
},
"options": {}
},
"id": "node-1",
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
250,
300
]
}
],
"connections": {},
"pinData": {}
}
