API Hooked

API Hooked

  • Documentação
  • Buscar
  • Changelog

›Documentos & Arquivos

Comece por aqui

  • Primeiros Passos
  • Postman — importar e testar
  • Integração com IA
  • Paginação
  • Changelog

Autenticação

  • Acessos

Financeiro

  • Bancos
  • Contas
  • Contas a Pagar e Receber
  • Condições de Pagamento
  • Formas de Pagamento
  • Transferências
  • Comissões
  • Preços
  • Tabelas de Preços

Fiscal

  • Notas Fiscais
  • Tributações
  • Regras Tributárias
  • Naturezas de Operação
  • SPEDs Fiscais
  • IBPTs

Estoque

  • Estoques
  • Produtos e Serviços
  • Grades
  • Unidades
  • Marcas
  • Fichas Técnicas
  • Tabelas de Produtos

Vendas & Pedidos

  • Pedidos
  • Romaneios
  • Remessas
  • Manifestos

Produção

  • Ordens de Produção
  • Ordens de Produção — Itens
  • Apontamentos de Produção

Cadastros

  • Pessoas
  • Cidades
  • Países
  • Cargos
  • Grupos
  • Subgrupos
  • Categorias
  • Classificações
  • Classificações Comerciais
  • Centros de Custos
  • Centros de Custos Categorias
  • Setores

Documentos & Arquivos

  • Documentos
  • Arquivos
  • Imagens
  • Etiquetas
  • Modelos

Configurações

  • Configurações
  • Webhooks
  • Operações

Outros

  • Dashboard
  • Projetos
  • Veículos
  • Tipos de Contas
  • Sobre

Modelos

Visão Geral

O módulo Modelos gerencia os templates de impressão utilizados pelo sistema, como modelos de etiquetas, contratos, boletos e outros documentos customizáveis. Cada modelo possui um arquivo de template que pode ser atualizado via upload.

Base URL

/api/modelos
Todos os endpoints requerem autenticação via Bearer Token:
Authorization: Bearer {token}

Endpoints

GET /api/modelos

Descrição: Retorna uma lista paginada de modelos cadastrados, com filtro opcional por descrição.

Parâmetros

NomeTipoLocalObrigatórioDescrição
descricaostringquery—Filtra por descrição do modelo
propertystringquery—Campo de ordenação
orderBystringquery—Direção: asc ou desc
pageNumberintegerquery—Número da página (padrão: 1)
pageSizeintegerquery—Registros por página (padrão: 20)

Resposta de Sucesso 200

{
  "pagination": {
    "currentPage": 1,
    "totalPages": 1,
    "pageSize": 20,
    "totalCount": 3,
    "hasPrevious": false,
    "hasNext": false
  },
  "data": [
    { "id": 1, "descricao": "Etiqueta Padrão 10x5", "nomeOriginal": "etiqueta_10x5.btw" },
    { "id": 2, "descricao": "Contrato de Venda", "nomeOriginal": "contrato_venda.docx" }
  ],
  "summary": null
}

Campos da Resposta — data[]

CampoTipoDescrição
idinteger (int64)Identificador do modelo
descricaostringNome/descrição do modelo
nomeOriginalstringNome do arquivo de template original

Códigos de Erro

CódigoDescrição
401Token ausente ou inválido
500Erro interno do servidor

Exemplos de Código

cURL

curl -X GET "https://api.app.hooked.com.br/api/modelos" \
  -H "Authorization: Bearer {token}"

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/modelos', {
  headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();

Python

import requests

data = requests.get(
    'https://api.app.hooked.com.br/api/modelos',
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/modelos", 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/modelos');
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/modelos",
  "nodes": [
    {
      "parameters": {
        "method": "GET",
        "url": "https://api.app.hooked.com.br/api/modelos",
        "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": {}
}

POST /api/modelos

Descrição: Cadastra um novo modelo de impressão.

Corpo da Requisição

{
  "descricao": "Etiqueta Produto Lote",
  "nomeOriginal": "etiqueta_lote.btw"
}
CampoTipoObrigatórioDescrição
descricaostring✓Nome do modelo
nomeOriginalstring—Nome do arquivo de template

Resposta de Sucesso 200

Retorna o modelo criado.

Códigos de Erro

CódigoDescrição
400Dados inválidos
401Token ausente ou inválido
500Erro interno do servidor

Exemplos de Código

cURL

curl -X POST "https://api.app.hooked.com.br/api/modelos" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"descricao":"Etiqueta Produto Lote","nomeOriginal":"etiqueta_lote.btw"}'

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/modelos', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer {token}',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
  "descricao": "Etiqueta Produto Lote",
  "nomeOriginal": "etiqueta_lote.btw"
})
});
const data = await response.json();

Python

import requests

data = requests.post(
    'https://api.app.hooked.com.br/api/modelos',
    headers={'Authorization': 'Bearer {token}'},
    json={'descricao': 'Etiqueta Produto Lote', 'nomeOriginal': 'etiqueta_lote.btw'}
).json()

Go

import (
    "bytes"
    "net/http"
)

payload := []byte(`{"descricao":"Etiqueta Produto Lote","nomeOriginal":"etiqueta_lote.btw"}`)
req, _ := http.NewRequest("POST", "https://api.app.hooked.com.br/api/modelos", 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/modelos');
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}', 'Content-Type: application/json'],
    CURLOPT_POSTFIELDS     => json_encode([
        'descricao' => 'Etiqueta Produto Lote',
        'nomeOriginal' => 'etiqueta_lote.btw'
    ]),
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — POST /api/modelos",
  "nodes": [
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.app.hooked.com.br/api/modelos",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "sendBody": true,
        "contentType": "json",
        "specifyBody": "json",
        "jsonBody": "{\"descricao\":\"Etiqueta Produto Lote\",\"nomeOriginal\":\"etiqueta_lote.btw\"}",
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

GET /api/modelos/{id}

Descrição: Retorna os dados de um modelo pelo ID.

Parâmetros

NomeTipoLocalObrigatórioDescrição
idinteger (int64)path✓ID do modelo

Resposta de Sucesso 200

{
  "id": 1,
  "descricao": "Etiqueta Padrão 10x5",
  "nomeOriginal": "etiqueta_10x5.btw"
}

Códigos de Erro

CódigoDescrição
401Token ausente ou inválido
404Modelo não encontrado
500Erro interno do servidor

Exemplos de Código

cURL

curl -X GET "https://api.app.hooked.com.br/api/modelos/{id}" \
  -H "Authorization: Bearer {token}"

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/modelos/{id}', {
  headers: { 'Authorization': 'Bearer {token}' }
});
const data = await response.json();

Python

import requests

data = requests.get(
    'https://api.app.hooked.com.br/api/modelos/{id}',
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/modelos/{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/modelos/{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/modelos/{id}",
  "nodes": [
    {
      "parameters": {
        "method": "GET",
        "url": "https://api.app.hooked.com.br/api/modelos/{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": {}
}

PUT /api/modelos/{id}

Descrição: Atualiza os metadados de um modelo existente.

Parâmetros

NomeTipoLocalObrigatórioDescrição
idinteger (int64)path✓ID do modelo a atualizar

Corpo da Requisição

{
  "id": 1,
  "descricao": "Etiqueta Padrão 10x5 v2",
  "nomeOriginal": "etiqueta_10x5_v2.btw"
}

Resposta de Sucesso 200

Retorna o modelo atualizado.

Códigos de Erro

CódigoDescrição
400Dados inválidos
401Token ausente ou inválido
404Modelo não encontrado
500Erro interno do servidor

Exemplos de Código

cURL

curl -X PUT "https://api.app.hooked.com.br/api/modelos/{id}" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"id":1,"descricao":"Etiqueta Padrão 10x5 v2","nomeOriginal":"etiqueta_10x5_v2.btw"}'

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/modelos/{id}', {
  method: 'PUT',
  headers: {
    'Authorization': 'Bearer {token}',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
  "id": 1,
  "descricao": "Etiqueta Padrão 10x5 v2",
  "nomeOriginal": "etiqueta_10x5_v2.btw"
})
});
const data = await response.json();

Python

import requests

data = requests.put(
    'https://api.app.hooked.com.br/api/modelos/{id}',
    headers={'Authorization': 'Bearer {token}'},
    json={'id': 1, 'descricao': 'Etiqueta Padrão 10x5 v2', 'nomeOriginal': 'etiqueta_10x5_v2.btw'}
).json()

Go

import (
    "bytes"
    "net/http"
)

payload := []byte(`{"id":1,"descricao":"Etiqueta Padrão 10x5 v2","nomeOriginal":"etiqueta_10x5_v2.btw"}`)
req, _ := http.NewRequest("PUT", "https://api.app.hooked.com.br/api/modelos/{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/modelos/{id}');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST  => 'PUT',
    CURLOPT_HTTPHEADER     => ['Authorization: Bearer {token}', 'Content-Type: application/json'],
    CURLOPT_POSTFIELDS     => json_encode([
        'id' => 1,
        'descricao' => 'Etiqueta Padrão 10x5 v2',
        'nomeOriginal' => 'etiqueta_10x5_v2.btw'
    ]),
    CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);

n8n

{
  "name": "Hooked API — PUT /api/modelos/{id}",
  "nodes": [
    {
      "parameters": {
        "method": "PUT",
        "url": "https://api.app.hooked.com.br/api/modelos/{id}",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "sendBody": true,
        "contentType": "json",
        "specifyBody": "json",
        "jsonBody": "{\"id\":1,\"descricao\":\"Etiqueta Padrão 10x5 v2\",\"nomeOriginal\":\"etiqueta_10x5_v2.btw\"}",
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

DELETE /api/modelos/{id}

Descrição: Remove um modelo pelo ID.

Parâmetros

NomeTipoLocalObrigatórioDescrição
idinteger (int64)path✓ID do modelo a remover

Resposta de Sucesso 200

Retorna o modelo removido.

Códigos de Erro

CódigoDescrição
401Token ausente ou inválido
404Modelo não encontrado
500Erro interno do servidor

Exemplos de Código

cURL

curl -X DELETE "https://api.app.hooked.com.br/api/modelos/{id}" \
  -H "Authorization: Bearer {token}"

JavaScript

const response = await fetch('https://api.app.hooked.com.br/api/modelos/{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/modelos/{id}',
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

import (
    "io"
    "net/http"
)

req, _ := http.NewRequest("DELETE", "https://api.app.hooked.com.br/api/modelos/{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/modelos/{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/modelos/{id}",
  "nodes": [
    {
      "parameters": {
        "method": "DELETE",
        "url": "https://api.app.hooked.com.br/api/modelos/{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": {}
}

PUT /api/modelos/atualizar-template/{id}

Descrição: Substitui o arquivo de template de um modelo existente via upload multipart/form-data.

Parâmetros

NomeTipoLocalObrigatórioDescrição
idinteger (int64)path✓ID do modelo cujo template será atualizado

Corpo da Requisição

Envio via multipart/form-data:

CampoTipoDescrição
filebinárioNovo arquivo de template (.btw, .docx, etc.)

Exemplo com cURL:

curl -X PUT "https://api.app.hooked.com.br/api/modelos/atualizar-template/1" \
  -H "Authorization: Bearer {token}" \
  -F "file=@etiqueta_nova.btw"

Resposta de Sucesso 200

"Success"

Códigos de Erro

CódigoDescrição
400Nenhum arquivo enviado ou formato inválido
401Token ausente ou inválido
404Modelo não encontrado
500Erro interno do servidor

Exemplos de Código

cURL

curl -X PUT "https://api.app.hooked.com.br/api/modelos/atualizar-template/{id}" \
  -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/modelos/atualizar-template/{id}', {
  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/modelos/atualizar-template/{id}',
    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/modelos/atualizar-template/{id}", 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/modelos/atualizar-template/{id}');
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 — PUT /api/modelos/atualizar-template/{id}",
  "nodes": [
    {
      "parameters": {
        "method": "PUT",
        "url": "https://api.app.hooked.com.br/api/modelos/atualizar-template/{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": {}
}
← EtiquetasConfigurações →
  • Visão Geral
  • Base URL
  • Endpoints
Hooked Sistemas Ltda

O ERP que se ajusta ao seu negócio.

CNPJ: 41.696.403/0001-02

Produto
ProdutoCadastre-seLogin
A Hooked
Quem somosFale conoscoCadastre-se
Empresas
Planos e preçosControle de Ponto
Contato
+55 49 9114-1678[email protected]Instagram
© Copyright 2026 Hooked Sistemas - Todos os Direitos Reservados.