Desarrolladores
Paginación
Cómo paginar la lista de artículos de la API de Blogenia con page y limit, y cómo sincronizar solo las novedades.
La lista de artículos se pagina con page y limit. El orden es siempre el de publicación, del más reciente al más antiguo.
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
page | integer | No | Número de página, desde 1 (por defecto 1). Máximo 500. |
limit | integer | No | Artículos por página, de 1 a 50 (por defecto 20). |
Campos de la respuesta
| Campo | Tipo | Descripción |
|---|---|---|
data | array | Artículos de la página. |
page | integer | Página devuelta. |
limit | integer | Tamaño de página aplicado. |
total | integer | Artículos publicados que cumplen el filtro, en todas las páginas. |
Hay más páginas mientras page * limit sea menor que total. Una página sin resultados devuelve data: [].
const base = 'https://api.blogelia.com/v1/blogs/66f1c0a2b3c4d5e6f7a8b9c0/articles';
const headers = { Authorization: 'Bearer ' + process.env.BLOGENIA_API_KEY };
const articles = [];
for (let page = 1; ; page++) {
const res = await fetch(base + '?limit=50&page=' + page, { headers });
if (!res.ok) throw new Error('HTTP ' + res.status);
const body = await res.json();
articles.push(...body.data);
if (page * body.limit >= body.total) break;
}import os
import requests
base = "https://api.blogelia.com/v1/blogs/66f1c0a2b3c4d5e6f7a8b9c0/articles"
headers = {"Authorization": "Bearer " + os.environ["BLOGENIA_API_KEY"]}
articles, page = [], 1
while True:
res = requests.get(base, params={"limit": 50, "page": page}, headers=headers, timeout=10)
res.raise_for_status()
body = res.json()
articles += body["data"]
if page * body["limit"] >= body["total"]:
break
page += 1Solo las novedades
Para no leer siempre toda la lista, usa publishedAfter (fecha ISO 8601) y recibirás solo los artículos publicados después de esa fecha. Guarda en tu sistema el publishedAt más reciente que hayas leído y úsalo en la siguiente consulta.