Tabelas de Produtos
Visão Geral
O módulo Tabelas de Produtos gerencia agrupamentos de produtos para fins comerciais ou operacionais, como listas de produtos disponíveis para determinados clientes, regiões ou canais de venda. Permite criar catálogos personalizados de produtos.
Endpoints
Descrição: Lista todas as tabelas de produtos cadastradas com suporte a paginação e filtros. Autenticação: Obrigatória
Parâmetros de Query
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| pagina | integer | Não | Número da página (padrão: 1) |
| quantidade | integer | Não | Itens por página (padrão: 20) |
| nome | string | Não | Filtrar por nome da tabela |
| ativo | boolean | Não | Filtrar por status ativo/inativo |
Resposta de Sucesso
{
"dados": [
{
"id": "uuid",
"nome": "Catálogo Verão 2024",
"descricao": "Produtos da coleção verão",
"quantidadeProdutos": 45,
"ativo": true
}
],
"total": 8,
"pagina": 1,
"quantidade": 20
}
Códigos de Erro Comuns
| Código | Descrição |
|---|---|
| 401 | Não autorizado |
| 500 | Erro interno do servidor |
Exemplos de Código
cURL
curl -X GET "https://api.app.hooked.com.br/api/tabelas-produtos" \
-H "Authorization: Bearer {token}"
JavaScript
const response = await fetch('https://api.app.hooked.com.br/api/tabelas-produtos', {
headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();
Python
import requests
data = requests.get(
'https://api.app.hooked.com.br/api/tabelas-produtos',
headers={'Authorization': 'Bearer {token}'}
).json()
Go
import (
"io"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/tabelas-produtos", 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/tabelas-produtos');
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/tabelas-produtos",
"nodes": [
{
"parameters": {
"method": "GET",
"url": "https://api.app.hooked.com.br/api/tabelas-produtos",
"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": {}
}
Descrição: Cria uma nova tabela de produtos no sistema. Autenticação: Obrigatória
Corpo da Requisição (Request Body)
{
"nome": "Catálogo Inverno 2024",
"descricao": "Produtos da coleção inverno",
"produtos": [
"uuid-produto-1",
"uuid-produto-2"
],
"ativo": true
}
Resposta de Sucesso
{
"id": "uuid",
"nome": "Catálogo Inverno 2024",
"quantidadeProdutos": 2,
"ativo": true
}
Códigos de Erro Comuns
| Código | Descrição |
|---|---|
| 400 | Dados inválidos |
| 401 | Não autorizado |
Exemplos de Código
cURL
curl -X POST "https://api.app.hooked.com.br/api/tabelas-produtos" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"nome":"Catálogo Inverno 2024","descricao":"Produtos da coleção inverno","produtos":["uuid-produto-1","uuid-produto-2"],"ativo":true}'
JavaScript
const response = await fetch('https://api.app.hooked.com.br/api/tabelas-produtos', {
method: 'POST',
headers: {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"nome": "Catálogo Inverno 2024",
"descricao": "Produtos da coleção inverno",
"produtos": [
"uuid-produto-1",
"uuid-produto-2"
],
"ativo": true
})
});
const data = await response.json();
Python
import requests
data = requests.post(
'https://api.app.hooked.com.br/api/tabelas-produtos',
headers={'Authorization': 'Bearer {token}'},
json={'nome': 'Catálogo Inverno 2024', 'descricao': 'Produtos da coleção inverno', 'produtos': ['uuid-produto-1', 'uuid-produto-2'], 'ativo': True}
).json()
Go
import (
"bytes"
"net/http"
)
payload := []byte(`{"nome":"Catálogo Inverno 2024","descricao":"Produtos da coleção inverno","produtos":["uuid-produto-1","uuid-produto-2"],"ativo":true}`)
req, _ := http.NewRequest("POST", "https://api.app.hooked.com.br/api/tabelas-produtos", bytes.NewBuffer(payload))
req.Header.Set("Authorization", "Bearer {token}")
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
PHP
$ch = curl_init('https://api.app.hooked.com.br/api/tabelas-produtos');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer {token}', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'nome' => 'Catálogo Inverno 2024',
'descricao' => 'Produtos da coleção inverno',
'produtos' => [
'uuid-produto-1',
'uuid-produto-2'
],
'ativo' => true
]),
CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
n8n
{
"name": "Hooked API — POST /api/tabelas-produtos",
"nodes": [
{
"parameters": {
"method": "POST",
"url": "https://api.app.hooked.com.br/api/tabelas-produtos",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer SEU_TOKEN_AQUI"
}
]
},
"sendBody": true,
"contentType": "json",
"specifyBody": "json",
"jsonBody": "{\"nome\":\"Catálogo Inverno 2024\",\"descricao\":\"Produtos da coleção inverno\",\"produtos\":[\"uuid-produto-1\",\"uuid-produto-2\"],\"ativo\":true}",
"options": {}
},
"id": "node-1",
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
250,
300
]
}
],
"connections": {},
"pinData": {}
}
Descrição: Retorna os detalhes de uma tabela de produtos pelo seu identificador único. Autenticação: Obrigatória
Parâmetros de Path
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | string (uuid) | Sim | Identificador único da tabela de produtos |
Resposta de Sucesso
{
"id": "uuid",
"nome": "Catálogo Inverno 2024",
"descricao": "Produtos da coleção inverno",
"produtos": [
{
"id": "uuid",
"codigo": "PROD001",
"nome": "Casaco de Lã",
"preco": 199.90
}
],
"ativo": true
}
Códigos de Erro Comuns
| Código | Descrição |
|---|---|
| 401 | Não autorizado |
| 404 | Tabela de produtos não encontrada |
Exemplos de Código
cURL
curl -X GET "https://api.app.hooked.com.br/api/tabelas-produtos/{id}" \
-H "Authorization: Bearer {token}"
JavaScript
const response = await fetch('https://api.app.hooked.com.br/api/tabelas-produtos/{id}', {
headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();
Python
import requests
data = requests.get(
'https://api.app.hooked.com.br/api/tabelas-produtos/{id}',
headers={'Authorization': 'Bearer {token}'}
).json()
Go
import (
"io"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/tabelas-produtos/{id}", 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/tabelas-produtos/{id}');
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/tabelas-produtos/{id}",
"nodes": [
{
"parameters": {
"method": "GET",
"url": "https://api.app.hooked.com.br/api/tabelas-produtos/{id}",
"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": {}
}
Descrição: Atualiza os dados de uma tabela de produtos existente. Autenticação: Obrigatória
Parâmetros de Path
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | string (uuid) | Sim | Identificador único da tabela de produtos |
Corpo da Requisição (Request Body)
{
"nome": "Catálogo Inverno 2024 - Revisado",
"produtos": [
"uuid-produto-1",
"uuid-produto-2",
"uuid-produto-3"
],
"ativo": true
}
Resposta de Sucesso
{
"id": "uuid",
"nome": "Catálogo Inverno 2024 - Revisado",
"quantidadeProdutos": 3,
"ativo": true
}
Códigos de Erro Comuns
| Código | Descrição |
|---|---|
| 400 | Dados inválidos |
| 401 | Não autorizado |
| 404 | Tabela de produtos não encontrada |
Exemplos de Código
cURL
curl -X PUT "https://api.app.hooked.com.br/api/tabelas-produtos/{id}" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"nome":"Catálogo Inverno 2024 - Revisado","produtos":["uuid-produto-1","uuid-produto-2","uuid-produto-3"],"ativo":true}'
JavaScript
const response = await fetch('https://api.app.hooked.com.br/api/tabelas-produtos/{id}', {
method: 'PUT',
headers: {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"nome": "Catálogo Inverno 2024 - Revisado",
"produtos": [
"uuid-produto-1",
"uuid-produto-2",
"uuid-produto-3"
],
"ativo": true
})
});
const data = await response.json();
Python
import requests
data = requests.put(
'https://api.app.hooked.com.br/api/tabelas-produtos/{id}',
headers={'Authorization': 'Bearer {token}'},
json={'nome': 'Catálogo Inverno 2024 - Revisado', 'produtos': ['uuid-produto-1', 'uuid-produto-2', 'uuid-produto-3'], 'ativo': True}
).json()
Go
import (
"bytes"
"net/http"
)
payload := []byte(`{"nome":"Catálogo Inverno 2024 - Revisado","produtos":["uuid-produto-1","uuid-produto-2","uuid-produto-3"],"ativo":true}`)
req, _ := http.NewRequest("PUT", "https://api.app.hooked.com.br/api/tabelas-produtos/{id}", bytes.NewBuffer(payload))
req.Header.Set("Authorization", "Bearer {token}")
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
PHP
$ch = curl_init('https://api.app.hooked.com.br/api/tabelas-produtos/{id}');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => ['Authorization: Bearer {token}', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'nome' => 'Catálogo Inverno 2024 - Revisado',
'produtos' => [
'uuid-produto-1',
'uuid-produto-2'
],
'ativo' => true
]),
CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
n8n
{
"name": "Hooked API — PUT /api/tabelas-produtos/{id}",
"nodes": [
{
"parameters": {
"method": "PUT",
"url": "https://api.app.hooked.com.br/api/tabelas-produtos/{id}",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer SEU_TOKEN_AQUI"
}
]
},
"sendBody": true,
"contentType": "json",
"specifyBody": "json",
"jsonBody": "{\"nome\":\"Catálogo Inverno 2024 - Revisado\",\"produtos\":[\"uuid-produto-1\",\"uuid-produto-2\",\"uuid-produto-3\"],\"ativo\":true}",
"options": {}
},
"id": "node-1",
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
250,
300
]
}
],
"connections": {},
"pinData": {}
}
Descrição: Remove uma tabela de produtos do sistema pelo seu identificador. Autenticação: Obrigatória
Parâmetros de Path
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | string (uuid) | Sim | Identificador único da tabela de produtos |
Resposta de Sucesso
{
"mensagem": "Tabela de produtos removida com sucesso"
}
Códigos de Erro Comuns
| Código | Descrição |
|---|---|
| 401 | Não autorizado |
| 404 | Tabela de produtos não encontrada |
| 409 | Tabela vinculada a outros registros |
Exemplos de Código
cURL
curl -X DELETE "https://api.app.hooked.com.br/api/tabelas-produtos/{id}" \
-H "Authorization: Bearer {token}"
JavaScript
const response = await fetch('https://api.app.hooked.com.br/api/tabelas-produtos/{id}', {
method: 'DELETE',
headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();
Python
import requests
data = requests.delete(
'https://api.app.hooked.com.br/api/tabelas-produtos/{id}',
headers={'Authorization': 'Bearer {token}'}
).json()
Go
import (
"io"
"net/http"
)
req, _ := http.NewRequest("DELETE", "https://api.app.hooked.com.br/api/tabelas-produtos/{id}", 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/tabelas-produtos/{id}');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => ['Authorization: Bearer {token}'],
CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
n8n
{
"name": "Hooked API — DELETE /api/tabelas-produtos/{id}",
"nodes": [
{
"parameters": {
"method": "DELETE",
"url": "https://api.app.hooked.com.br/api/tabelas-produtos/{id}",
"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": {}
}
