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âmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
pageNumber | integer | 1 | Número da página desejada (começa em 1) |
pageSize | integer | 10 | Quantidade 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:
| Campo | Tipo | Descrição |
|---|---|---|
currentPage | integer | Número da página atual |
totalPages | integer | Total de páginas disponíveis |
pageSize | integer | Itens por página retornados |
totalCount | integer | Total de registros no banco |
hasPrevious | boolean | Existe página anterior |
hasNext | boolean | Existe próxima página |
data | array | Lista 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
pageSizeentre10e100para balancear performance e volume de dados. - Use
hasPreviousehasNextpara 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.
