Paginação
Rota que devolve lista não manda tudo de uma vez: manda uma página. Você escolhe o tamanho da página e qual página quer.
| Parâmetro | O que é | Padrão | Limites |
|---|---|---|---|
page | Número da página | 1 | a partir de 1 |
limit | Quantos itens por página | 20 | de 1 a 100 |
GET /v2/transactions?page=2&limit=50O que volta
{
"data": [ { "id": "trx_…" }, { "id": "trx_…" } ],
"page": 2,
"limit": 50,
"total": 137
}| Campo | O que é |
|---|---|
data | Os itens desta página |
page, limit | O que você pediu |
total | Quantos itens existem no total com os filtros usados (não o tamanho da página) |
Com total e limit você sabe quantas páginas existem: total ÷ limit, arredondando pra cima.
No exemplo, 137 itens de 50 em 50 dão 3 páginas.
Percorrendo tudo
Peça a página 1 e siga somando até passar do total:
let page = 1;
const limit = 100;
const all = [];
while (true) {
const result = await getTransactions({ page, limit });
all.push(...result.data);
if (page * limit >= result.total) break;
page += 1;
}O que saber
- Filtro que não acha nada devolve lista vazia (
data: [],total: 0), não erro. - Página além do fim também devolve lista vazia.
limitfora de 1 a 100, oupagemenor que 1, é recusado com400 VALIDATION_ERROR.- A ordem padrão é da mais recente pra mais antiga. Se vendas novas chegarem enquanto você
percorre, os itens "andam" de página e você pode ver um repetido. Pra uma leitura fechada, use
um período fixo com
frometo. - Use
limitalto (até 100) quando for buscar muita coisa: são menos chamadas, e cada chamada conta no limite por minuto.