Paginación
Navega por grandes conjuntos de resultados con paginación basada en páginas
Todos los endpoints de listado devuelven resultados paginados. Usa los parámetros page y limit para controlar qué porción de datos recibes.
Parámetros de Consulta
| Parámetro | Tipo | Default | Descripción |
|---|---|---|---|
page |
integer | 1 |
Número de página (inicia en 1) |
limit |
integer | 25 |
Items por página (máximo 100) |
Estructura de la Respuesta
Cada respuesta paginada incluye un objeto pagination:
{
"data": [...],
"pagination": {
"page": 1,
"limit": 25,
"total_pages": 4,
"total_items": 100,
"has_more": true
}
}| Campo | Descripción |
|---|---|
page |
Número de página actual |
limit |
Items por página (según lo solicitado) |
total_pages |
Número total de páginas disponibles |
total_items |
Número total de items en todas las páginas |
has_more |
true si hay más páginas después de la actual |
Iterar Todas las Páginas
Usa el campo has_more para saber cuándo detenerte:
import httpx
BASE_URL = "https://api.ya.onl/v1/orders"
HEADERS = {"X-API-Key": "yv_live_v1_tu_api_key"}
all_orders = []
page = 1
while True:
response = httpx.get(BASE_URL, params={"page": page, "limit": 100}, headers=HEADERS)
body = response.json()
all_orders.extend(body["data"])
if not body["pagination"]["has_more"]:
break
page += 1
print(f"Fetched {len(all_orders)} orders")Límites
- El valor máximo de
limites 100. Solicitar más de 100 devuelve un error400 Bad Request. - Los números de página inician en 1. Solicitar página 0 o un número negativo devuelve un error de validación.
