Etiquetas
Visão Geral
O módulo Etiquetas permite a impressão de etiquetas de produtos em lote. É utilizado para gerar etiquetas a partir de um modelo configurado, informando a posição inicial de impressão e a lista de itens a etiquetar.
Base URL
/api/etiquetas
Todos os endpoints requerem autenticação via Bearer Token:
Authorization: Bearer {token}
Endpoints
POST
/api/etiquetas
Descrição: Gera e retorna o arquivo de etiquetas para impressão, com base em um modelo cadastrado e a lista de itens informados. A posição inicial define em qual etiqueta da folha a impressão começa (útil para aproveitar folhas parcialmente usadas).
Corpo da Requisição
{
"modeloId": 3,
"posicaoInicial": 1,
"lista": [
{
"produtoId": 10,
"quantidade": 5
},
{
"produtoId": 22,
"quantidade": 3
}
]
}
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
modeloId | integer (int64) | ✓ | ID do modelo de etiqueta cadastrado |
posicaoInicial | integer (int32) | ✓ | Posição inicial de impressão na folha (mínimo: 1) |
lista | array | ✓ | Lista de itens a etiquetar |
lista[].produtoId | integer | ✓ | ID do produto |
lista[].quantidade | integer | ✓ | Quantidade de etiquetas a imprimir para o produto |
Resposta de Sucesso 200
Retorna o arquivo de etiquetas gerado (PDF ou formato compatível com a impressora configurada no modelo).
Códigos de Erro
| Código | Descrição |
|---|---|
400 | Dados inválidos ou modelo não suportado |
401 | Token ausente ou inválido |
404 | Modelo de etiqueta não encontrado |
500 | Erro interno do servidor |
Exemplos de Código
cURL
curl -X POST "https://api.app.hooked.com.br/api/etiquetas" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"modeloId":3,"posicaoInicial":1,"lista":[{"produtoId":10,"quantidade":5},{"produtoId":22,"quantidade":3}]}'
JavaScript
const response = await fetch('https://api.app.hooked.com.br/api/etiquetas', {
method: 'POST',
headers: {
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"modeloId": 3,
"posicaoInicial": 1,
"lista": [
{
"produtoId": 10,
"quantidade": 5
},
{
"produtoId": 22,
"quantidade": 3
}
]
})
});
const data = await response.json();
Python
import requests
data = requests.post(
'https://api.app.hooked.com.br/api/etiquetas',
headers={'Authorization': 'Bearer {token}'},
json={'modeloId': 3, 'posicaoInicial': 1, 'lista': [{'produtoId': 10, 'quantidade': 5}, {'produtoId': 22, 'quantidade': 3}]}
).json()
Go
import (
"bytes"
"net/http"
)
payload := []byte(`{"modeloId":3,"posicaoInicial":1,"lista":[{"produtoId":10,"quantidade":5},{"produtoId":22,"quantidade":3}]}`)
req, _ := http.NewRequest("POST", "https://api.app.hooked.com.br/api/etiquetas", 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/etiquetas');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer {token}', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'modeloId' => 3,
'posicaoInicial' => 1,
'lista' => [
[
'produtoId' => 10,
'quantidade' => 5
],
[
'produtoId' => 22,
'quantidade' => 3
]
]
]),
CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
n8n
{
"name": "Hooked API — POST /api/etiquetas",
"nodes": [
{
"parameters": {
"method": "POST",
"url": "https://api.app.hooked.com.br/api/etiquetas",
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer SEU_TOKEN_AQUI"
}
]
},
"sendBody": true,
"contentType": "json",
"specifyBody": "json",
"jsonBody": "{\"modeloId\":3,\"posicaoInicial\":1,\"lista\":[{\"produtoId\":10,\"quantidade\":5},{\"produtoId\":22,\"quantidade\":3}]}",
"options": {}
},
"id": "node-1",
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
250,
300
]
}
],
"connections": {},
"pinData": {}
}
