uloggdDesarrolladores
Portal de desarrolladoresuloggd
EmpezarRecursosArcade
Portal de desarrolladoresuloggdVisión generalAutenticaciónPermisosLímites de usoErroresPaginaciónVersionado

Paginación

Un objeto de página, en cada colección.

Cada colección responde { data, page }:

{
  "data": [],
  "page": {
    "number": 1,
    "size": 50,
    "total_items": 128,
    "total_pages": 3,
    "has_more": true
  }
}

Pasa ?page= para avanzar. Las páginas empiezan en 1. Cualquier cosa fuera de 1 a 1000 responde 400 invalid_request en lugar de una página vacía, para que un bucle que perdió la cuenta se detenga en vez de girar.

El catálogo es la única excepción en el tamaño: pagina de 24 en 24 y se detiene en la página 100, porque lee un índice de búsqueda y no una tabla.

curl "https://uloggd.com/api/v1/library?page=2" \
  -H "Authorization: Bearer ulg_live_..."

has_more sale del total, no del tamaño de data. Una página que vuelve corta es la última, pero la forma honesta de preguntar es has_more.

Las copias andan por cursor

/api/v1/library/copies es la única colección que no anda por número de página. Responde { data, page: { size, has_more }, next_cursor }, y la página siguiente es ?cursor= con lo que vino en next_cursor.

curl "https://uloggd.com/api/v1/library/copies?limit=24&cursor=WyIyMDI2…" \
  -H "Authorization: Bearer ulg_live_..."

El motivo es que un estante cambia mientras se recorre. Registrar una copia mientras alguien está en la página 2 empuja todo un lugar adelante, y un desplazamiento devolvería otra vez la fila que la página 1 ya mostró. El cursor lleva juntos la clave del orden y el id de la fila, así que apunta a un lugar y no a un conteo.

Cambiar sort es empezar de nuevo: el cursor pertenece al orden en que se hizo.

Errores

Una sola forma, siempre, incluso en el 500.

Versionado

Qué puede cambiar bajo tus pies, y qué no.

En esta página

Las copias andan por cursor