has_more y next_cursor. No uses page ni offsets.
Recorrer una página
import { Lapyme } from "lapyme";
const lapyme = new Lapyme({
bearerAuth: process.env["LAPYME_API_KEY"] ?? "",
});
const page = await lapyme.products.list({
limit: 50,
query: "remera",
});
console.log(page.result.data);
console.log(page.result.nextCursor);
Recorrer todas las páginas
import { Lapyme } from "lapyme";
const lapyme = new Lapyme({
bearerAuth: process.env["LAPYME_API_KEY"] ?? "",
});
let cursor: string | undefined;
do {
const page = await lapyme.products.list({
limit: 100,
cursor,
});
for (const product of page.result.data) {
console.log(product.id, product.name);
}
cursor = page.result.nextCursor ?? undefined;
} while (cursor);
Patrón reusable
import { Lapyme } from "lapyme";
const lapyme = new Lapyme({
bearerAuth: process.env["LAPYME_API_KEY"] ?? "",
});
async function* listProducts(query?: string) {
let cursor: string | undefined;
do {
const page = await lapyme.products.list({
limit: 100,
cursor,
query,
});
yield* page.result.data;
cursor = page.result.nextCursor ?? undefined;
} while (cursor);
}
for await (const product of listProducts("remera")) {
console.log(product.sku);
}
Guardá el cursor solo como un token opaco. No intentes parsearlo ni construirlo a mano.

