API y desarrolladores

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 limit es 100. Solicitar más de 100 devuelve un error 400 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.
¿Necesitas ayuda?