API e desenvolvedores

Paginação

Navegue por grandes conjuntos de resultados com paginação baseada em páginas

Todos os endpoints de listagem retornam resultados paginados. Use os parâmetros page e limit para controlar qual porção de dados você recebe.

Parâmetros de Consulta

Parâmetro Tipo Padrão Descrição
page integer 1 Número da página (inicia em 1)
limit integer 25 Itens por página (máximo 100)

Estrutura da Resposta

Cada resposta paginada inclui um objeto pagination:

{
  "data": [...],
  "pagination": {
    "page": 1,
    "limit": 25,
    "total_pages": 4,
    "total_items": 100,
    "has_more": true
  }
}
Campo Descrição
page Número da página atual
limit Itens por página (conforme solicitado)
total_pages Número total de páginas disponíveis
total_items Número total de itens em todas as páginas
has_more true se há mais páginas após a atual

Iterar Todas as Páginas

Use o campo has_more para saber quando parar:

import httpx

BASE_URL = "https://api.ya.onl/v1/orders"
HEADERS = {"X-API-Key": "yv_live_v1_sua_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")

Limites

  • O valor máximo de limit é 100. Solicitar mais de 100 retorna um erro 400 Bad Request.
  • Os números de página iniciam em 1. Solicitar página 0 ou um número negativo retorna um erro de validação.
Precisa de ajuda?