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ámetroTipoDefaultDescripción
pageinteger1Número de página (basado en 1)
per_pageinteger25Elementos 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

  1. Usa per_page=100 para operaciones masivas y minimizar peticiones
  2. Usa total_pages para detectar cuándo has llegado a la última página
  3. No obtengas todas las páginas a la vez — implementa carga lazy en interfaces
  4. Usa endpoints de conteo (/products/count) cuando solo necesites el total

On this page