Zum Hauptinhalt springen

Paginierung

Alle Listen-Endpoints der RxScale APIs unterstützen Paginierung über Query-Parameter.

Query-Parameter

ParameterTypStandardBeschreibung
pageInteger0Seitennummer (nullbasiert)
limitInteger50Anzahl der Einträge pro Seite
Seiten sind nullbasiert. Die erste Seite ist page=0, nicht page=1.

Antwortformat

Paginierte Endpoints geben Folgendes zurück:
{
  "data": [...],
  "totalRegistries": 150,
  "totalPages": 3
}
  • data — Array der Einträge für die aktuelle Seite
  • totalRegistries — Gesamtanzahl der Einträge über alle Seiten
  • totalPages — Gesamtanzahl der Seiten (berechnet als ceil(totalRegistries / limit))

Limits

APIStandard-LimitMaximales Limit
External Pharmacy API50200
Management API50200
Public API (Produkte)50150
Wird ein limit über dem Maximum angefordert, wird es auf das Maximum begrenzt.

Beispiel

Abruf der zweiten Seite mit 25 Produkten:
curl -X GET "https://api.rxscale.com/v1/management/products?page=1&limit=25" \
  -H "X-API-Key: your-api-key"
Antwort:
{
  "data": [
    {"uid": "prod_abc", "name": "Product 26"},
    {"uid": "prod_def", "name": "Product 27"}
  ],
  "totalRegistries": 75,
  "totalPages": 3
}

Durch alle Seiten iterieren

import requests

page = 0
all_items = []

while True:
    response = requests.get(
        "https://api.rxscale.com/v1/management/products",
        headers={"X-API-Key": "your-api-key"},
        params={"page": page, "limit": 50}
    )
    data = response.json()
    all_items.extend(data["data"])

    if page >= data["totalPages"] - 1:
        break
    page += 1
Verwenden Sie das kleinste limit, das für Ihren Anwendungsfall sinnvoll ist. Kleinere Seiten bedeuten schnellere Antworten und weniger Speicherverbrauch.