atrusDocs
Guía de integración›Convenciones›Paginación

Paginación

Toda lista se pagina igual: limit (1 a 100, por defecto 50) y un cursor opaco. La respuesta trae data y nextCursor; cuando nextCursor es null, no hay más.

GET /api/v1/documents?limit=100
GET /api/v1/documents?limit=100&cursor=eyJvZmZzZXQiOjEwMH0
{
  "data": [ … ],
  "nextCursor": "eyJvZmZzZXQiOjEwMH0"
}
El cursor es opaco a propósito. No lo construyas ni lo interpretes: su forma puede cambiar sin aviso. Guarda el que recibiste y devuélvelo tal cual.

Recorrer todo

let cursor
do {
  const r = await fetch(`https://www.datrus.cl/api/v1/documents?limit=100${cursor ? '&cursor=' + cursor : ''}`, { headers })
  const page = await r.json()
  for (const doc of page.data) procesar(doc)
  cursor = page.nextCursor
} while (cursor)

El cliente @datrus/api lo hace por ti con todos('/documents', { limit: 100 }), un iterador asíncrono. Ver herramientas.