Traducida del inglés. Si hay alguna diferencia, la página en inglés es la referencia. Leer en inglés
Paginación
Paginación por cursor y recorridos de sincronización incremental.
Las listas que pueden crecer mucho usan paginación por cursor (productos, anuncios, pedidos, eventos, operaciones, acciones, anuncios ignorados, empresas, pedidos del storefront):
curl "https://api.nembol.com/rest/v1/products?limit=50" \
-H "Authorization: Bearer $NEMBOL_API_KEY"{
"data": [ { "id": "…" } ],
"has_more": true,
"next_cursor": "eyJ1IjoiMjAyNi0wNy0yNFQx…"
}Devuelve next_cursor como ?cursor= para obtener la página siguiente. Cuando has_more
es false, has terminado. limit va de 1 a 100 (por defecto 25). Los cursores son opacos.
No los parsees ni los guardes a largo plazo. Un cursor que no ha dado Nembol (truncado,
editado, vacío) responde 422 validation_failed con param: cursor: nunca se
interpreta como la primera página.
Listas sin cursor
Algunas listas son pequeñas por naturaleza, o tienen un tope, y llegan en una sola respuesta.
No tienen limit / cursor; cuando aparece has_more, siempre es
false.
| Lista | Cómo se pagina |
|---|---|
GET /customers | Por páginas: page (desde 1), limit de 1 a 100, total en la respuesta |
GET /promotions | Las 200 más recientes. Las más antiguas siguen accesibles por id (GET /promotions/{id}) |
GET /notifications | Las 200 más recientes |
GET /storefront/discounts, GET /storefront/bundles | Todos, en una sola respuesta |
GET /channel_accounts, GET /webhook_endpoints, GET /redirect_urls, GET /error_fixes | Todos, en una sola respuesta (una tienda tiene unos pocos) |
GET /sales, GET /catalog/diagnostics | Informes: un solo objeto, sin lista |
Garantía de orden
Las listas se ordenan de la más reciente a la más antigua, con desempate estable por id: productos y
anuncios por updated_at, pedidos por created_at (el momento en que se realizó el
pedido), eventos por created_at. Este orden forma parte del contrato. Las páginas nunca se saltan ni repiten elementos dentro
de un mismo recorrido.
Sincronización incremental
Para mantener un sistema externo sincronizado sin volver a leerlo todo, recorre la lista con
updated_after:
curl "https://api.nembol.com/rest/v1/products?updated_after=2026-07-24T00:00:00Z&limit=100" \
-H "Authorization: Bearer $NEMBOL_API_KEY"Anota la marca de tiempo en la que empezaste el recorrido, pagina hasta el final y luego
usa esa marca de tiempo como updated_after del siguiente recorrido. Los productos eliminados y fusionados
salen de la lista por defecto: para detectarlos en un recorrido, lee también
status=archived&updated_after=… (o usa el webhook product.deleted). (Para una sincronización push,
usa los webhooks. El recorrido es el mecanismo de reconciliación
de respaldo.)
Pedidos que han cambiado. GET /orders?updated_after=… devuelve los pedidos
realizados o modificados (estado, envío, seguimiento: p. ej. cancelados o
reembolsados en el canal) después de ese momento; el updated_at de cada pedido indica
cuándo cambió por última vez. Consulta con la hora de tu consulta anterior. Para push,
usa los webhooks order.created y order.status_changed.
Última actualización el 20 de octubre de 2026
¿Necesitas ayuda?
Escríbenos y te responde una persona, normalmente en un día laborable.