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.
| Estrategia | Parámetros habituales | Cómo continuar |
|---|---|---|
| Cursor | cursor, limit | Envía el cursor devuelto por la respuesta anterior. |
| Página | page, pageSize | Incrementa page hasta alcanzar la última página. |
| Límite | limit | Devuelve un subconjunto; no implica que exista una página siguiente. |
| Sin paginación | Ninguno | La 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.