Paginación
Navega por conjuntos de resultados grandes con paginación.
Descripción General
Los endpoints de listado devuelven resultados paginados. Usa parámetros de consulta para navegar por grandes conjuntos de datos.
Parámetros de Consulta
| Parámetro | Tipo | Default | Descripción |
|---|---|---|---|
page | integer | 1 | Número de página (basado en 1) |
per_page | integer | 25 | Elementos por página (máx: 100) |
Ejemplo
curl -X GET "https://api.whatalo.com/v1/products?page=2&per_page=50" \
-H "X-API-Key: wk_live_your_key_here"Metadatos de Respuesta
Cada respuesta de listado incluye metadatos de paginación:
{
"data": [...],
"pagination": {
"page": 2,
"per_page": 50,
"total": 142,
"total_pages": 3
}
}Iterar Todas las Páginas
async function fetchAllProducts() {
const allProducts = [];
let page = 1;
let hasMore = true;
while (hasMore) {
const res = await fetch(
`https://api.whatalo.com/v1/products?page=${page}&per_page=100`,
{ headers: { 'X-API-Key': API_KEY } }
);
const { data, pagination } = await res.json();
allProducts.push(...data);
hasMore = page < pagination.total_pages;
page++;
}
return allProducts;
}Mejores Prácticas
- Usa
per_page=100para operaciones masivas y minimizar peticiones - Usa
total_pagespara detectar cuándo has llegado a la última página - No obtengas todas las páginas a la vez — implementa carga lazy en interfaces
- Usa endpoints de conteo (
/products/count) cuando solo necesites el total