Saltar al contenido
Guías

Paginación

Identifica y recorre el tipo de paginación definido por cada endpoint.

Ecomiq no usa una sola estrategia de paginación. La operación puede usar cursor, page y pageSize, solo limit, o no paginar.

Identifica la estrategia

Revisa los parámetros y el esquema de respuesta del endpoint. No envíes parámetros que no aparezcan en su contrato.

EstrategiaParámetros habitualesCómo continuar
Cursorcursor, limitEnvía el cursor devuelto por la respuesta anterior.
Páginapage, pageSizeIncrementa page hasta alcanzar la última página.
LímitelimitDevuelve un subconjunto; no implica que exista una página siguiente.
Sin paginaciónNingunoLa operación devuelve su colección acotada en una sola respuesta.

Los filtros, el orden, los rangos y los valores por defecto también cambian por endpoint. La presencia de limit no garantiza soporte para cursor.

Recorrido por cursor

Una respuesta por cursor puede incluir data, hasNextPage y nextCursor. Usa esos campos solo cuando formen parte del esquema publicado.

async function* walkByCursor(firstUrl: URL, token: string) {
  let cursor: string | undefined;

  do {
    const url = new URL(firstUrl);
    if (cursor) url.searchParams.set("cursor", cursor);

    const response = await fetch(url, {
      headers: { Authorization: `Bearer ${token}` },
    });
    if (!response.ok) throw new Error(`HTTP ${response.status}`);

    const page = await response.json();
    yield* page.data;
    cursor = undefined;
    if (page.hasNextPage) {
      cursor = page.nextCursor;
    }
  } while (cursor);
}

El cursor es opaco

Reenvía nextCursor sin analizarlo, modificarlo ni construirlo. No lo uses con otros filtros, otra tienda o una consulta distinta.

Si la respuesta no publica hasNextPage, sigue la condición documentada por ese endpoint. No deduzcas el final desde totalCount si el campo puede ser nulo.

Recorrido por página

Storefront incluye operaciones con page y pageSize. En ellas, conserva los filtros y avanza el número de página según los campos de la respuesta.

curl "https://mitienda.ecomiq.app/api/v1/products?page=1&pageSize=24"

No sustituyas page por un cursor ni uses pageSize en una operación que solo declara limit.

Consultas con solo limit

Una operación con limit puede devolver los últimos registros o una lista acotada sin mecanismo de continuación. Si necesitas más datos, busca una operación paginada específica; repetir la misma llamada no avanza.

Cambios durante el recorrido

Mantén filtros, orden y contexto constantes. Si cambian, inicia un recorrido nuevo.

Una colección puede cambiar mientras la recorres. Si necesitas una instantánea, verifica si el endpoint ofrece fecha de corte, versión o exportación; la paginación por sí sola no promete ese aislamiento.

En esta página