API Hooked

API Hooked

  • Documentação
  • Buscar
  • Changelog

›Comece por aqui

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

Paginação

Visão Geral

Todos os endpoints de listagem da API Hooked utilizam paginação por número de página. Os parâmetros de entrada e os campos de resposta seguem o mesmo padrão em todos os módulos.


Parâmetros de Query

ParâmetroTipoPadrãoDescrição
pageNumberinteger1Número da página desejada (começa em 1)
pageSizeinteger10Quantidade de itens por página

Exemplo de requisição:

GET /api/bancos?pageNumber=2&pageSize=20

Campos da Resposta

Todas as respostas de listagem retornam um objeto com os seguintes campos de controle além do array data:

CampoTipoDescrição
currentPageintegerNúmero da página atual
totalPagesintegerTotal de páginas disponíveis
pageSizeintegerItens por página retornados
totalCountintegerTotal de registros no banco
hasPreviousbooleanExiste página anterior
hasNextbooleanExiste próxima página
dataarrayLista de registros da página atual

Exemplo de resposta:

{
  "currentPage": 2,
  "totalPages": 5,
  "pageSize": 20,
  "totalCount": 98,
  "hasPrevious": true,
  "hasNext": true,
  "data": [
    { "id": 21, "nome": "..." },
    { "id": 22, "nome": "..." }
  ]
}

Exemplos por Módulo

GET /api/bancos?pageNumber=1&pageSize=10

Exemplos de Código

cURL

curl "https://api.app.hooked.com.br/api/bancos?pageNumber=1&pageSize=10" \
  -H "Authorization: Bearer {token}"

JavaScript

const res = await fetch('https://api.app.hooked.com.br/api/bancos?pageNumber=1&pageSize=10', {
  headers: { 'Authorization': 'Bearer {token}' }
});
const data = await res.json();

Python

import requests

data = requests.get(
    'https://api.app.hooked.com.br/api/bancos',
    params={'pageNumber': 1, 'pageSize': 10},
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

package main

import (
    "encoding/json"
    "fmt"
    "io"
    "net/http"
)

func main() {
    req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/bancos?pageNumber=1&pageSize=10", nil)
    req.Header.Set("Authorization", "Bearer {token}")
    resp, _ := http.DefaultClient.Do(req)
    defer resp.Body.Close()
    body, _ := io.ReadAll(resp.Body)
    var data map[string]interface{}
    json.Unmarshal(body, &data)
    fmt.Println(data)
}

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/bancos?pageNumber=1&pageSize=10');
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/bancos",
  "nodes": [
    {
      "parameters": {
        "method": "GET",
        "url": "https://api.app.hooked.com.br/api/bancos",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            { "name": "pageNumber", "value": "1" },
            { "name": "pageSize", "value": "10" }
          ]
        },
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}
GET /api/categorias?pageNumber=1&pageSize=10

Exemplos de Código

cURL

curl "https://api.app.hooked.com.br/api/categorias?pageNumber=1&pageSize=10&descricao=vendas" \
  -H "Authorization: Bearer {token}"

JavaScript

const res = await fetch('https://api.app.hooked.com.br/api/categorias?pageNumber=1&pageSize=10&descricao=vendas', {
  headers: { 'Authorization': 'Bearer {token}' }
});
const data = await res.json();

Python

import requests

data = requests.get(
    'https://api.app.hooked.com.br/api/categorias',
    params={'pageNumber': 1, 'pageSize': 10, 'descricao': 'vendas'},
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

package main

import (
    "encoding/json"
    "fmt"
    "io"
    "net/http"
)

func main() {
    req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/categorias?pageNumber=1&pageSize=10&descricao=vendas", nil)
    req.Header.Set("Authorization", "Bearer {token}")
    resp, _ := http.DefaultClient.Do(req)
    defer resp.Body.Close()
    body, _ := io.ReadAll(resp.Body)
    var data map[string]interface{}
    json.Unmarshal(body, &data)
    fmt.Println(data)
}

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/categorias?pageNumber=1&pageSize=10&descricao=vendas');
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/categorias",
  "nodes": [
    {
      "parameters": {
        "method": "GET",
        "url": "https://api.app.hooked.com.br/api/categorias",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            { "name": "pageNumber", "value": "1" },
            { "name": "pageSize", "value": "10" },
            { "name": "descricao", "value": "vendas" }
          ]
        },
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}
GET /api/comissoes?pageNumber=1&pageSize=10

Exemplos de Código

cURL

curl "https://api.app.hooked.com.br/api/comissoes?pageNumber=1&pageSize=10&dataInicial=2026-01-01&dataFinal=2026-12-31" \
  -H "Authorization: Bearer {token}"

JavaScript

const res = await fetch('https://api.app.hooked.com.br/api/comissoes?pageNumber=1&pageSize=10&dataInicial=2026-01-01&dataFinal=2026-12-31', {
  headers: { 'Authorization': 'Bearer {token}' }
});
const data = await res.json();

Python

import requests

data = requests.get(
    'https://api.app.hooked.com.br/api/comissoes',
    params={'pageNumber': 1, 'pageSize': 10, 'dataInicial': '2026-01-01', 'dataFinal': '2026-12-31'},
    headers={'Authorization': 'Bearer {token}'}
).json()

Go

package main

import (
    "encoding/json"
    "fmt"
    "io"
    "net/http"
)

func main() {
    req, _ := http.NewRequest("GET", "https://api.app.hooked.com.br/api/comissoes?pageNumber=1&pageSize=10&dataInicial=2026-01-01&dataFinal=2026-12-31", nil)
    req.Header.Set("Authorization", "Bearer {token}")
    resp, _ := http.DefaultClient.Do(req)
    defer resp.Body.Close()
    body, _ := io.ReadAll(resp.Body)
    var data map[string]interface{}
    json.Unmarshal(body, &data)
    fmt.Println(data)
}

PHP

$ch = curl_init('https://api.app.hooked.com.br/api/comissoes?pageNumber=1&pageSize=10&dataInicial=2026-01-01&dataFinal=2026-12-31');
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/comissoes",
  "nodes": [
    {
      "parameters": {
        "method": "GET",
        "url": "https://api.app.hooked.com.br/api/comissoes",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer SEU_TOKEN_AQUI"
            }
          ]
        },
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            { "name": "pageNumber", "value": "1" },
            { "name": "pageSize", "value": "10" },
            { "name": "dataInicial", "value": "2026-01-01" },
            { "name": "dataFinal", "value": "2026-12-31" }
          ]
        },
        "options": {}
      },
      "id": "node-1",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        250,
        300
      ]
    }
  ],
  "connections": {},
  "pinData": {}
}

Como percorrer todas as páginas

JavaScript

async function buscarTodos(endpoint, token) {
  const itens = [];
  let page = 1;
  let hasNext = true;

  while (hasNext) {
    const res = await fetch(
      `https://api.app.hooked.com.br${endpoint}?pageNumber=${page}&pageSize=50`,
      { headers: { 'Authorization': `Bearer ${token}` } }
    );
    const json = await res.json();
    itens.push(...json.data);
    hasNext = json.hasNext;
    page++;
  }

  return itens;
}

Python

import requests

def buscar_todos(endpoint, token):
    itens = []
    page = 1
    has_next = True

    while has_next:
        resp = requests.get(
            f'https://api.app.hooked.com.br{endpoint}',
            params={'pageNumber': page, 'pageSize': 50},
            headers={'Authorization': f'Bearer {token}'}
        ).json()
        itens.extend(resp['data'])
        has_next = resp['hasNext']
        page += 1

    return itens

Dicas

  • Use pageSize entre 10 e 100 para balancear performance e volume de dados.
  • Use hasPrevious e hasNext para controlar a navegação em vez de calcular manualmente.
  • Combine com os filtros de cada módulo (ex: nome, dataInicial, empresaId) para reduzir o volume de páginas.
← Integração com IAChangelog →
  • Visão Geral
  • Parâmetros de Query
  • Campos da Resposta
  • Exemplos por Módulo
  • Como percorrer todas as páginas
  • Dicas
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.