Skip to main content

Paginierung

Die meisten Listen-Endpoints der RxScale APIs sind über Query-Parameter paginiert.
Nicht jeder Listen-Endpoint ist paginiert. Kleinere, begrenzte Sammlungen — Termintypen, Terminerinnerungen, die Verfügbarkeitsregeln einer Ärztin oder eines Arztes, Benachrichtigungs-Abonnements, Webhook-Abonnements, Bewertungslinks und Wallet-Pässe — geben die vollständige Liste in einer einzigen Antwort zurück.Senden Sie page oder limit nicht an einen nicht paginierten Endpoint. Sie sind nicht Teil seines Vertrags: Je nach Endpoint werden sie entweder stillschweigend ignoriert oder mit 400 und der Meldung Unknown field. abgelehnt.Eine paginierte Antwort erkennen Sie an ihrer Hülle: Sie enthält totalRegistries und totalPages, eine nicht paginierte nicht. Die Zeilen stehen unter data — mit einer Ausnahme: GET /v1/management/doctors/{doctor_uid}/blacklisted-skus liefert sie unter blacklisted_skus. Die Referenzseite jedes Endpoints listet genau auf, welche Query-Parameter er akzeptiert, und zeigt die Antwort, die er zurückgibt.

Query-Parameter

Seiten sind nullbasiert. Die erste Seite ist page=0, nicht page=1.

Antwortformat

Paginierte Endpoints geben Folgendes zurück:
  • 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

Das maximale limit ist innerhalb der External Pharmacy API nicht einheitlich — es hängt von der Endpoint-Familie ab. Wird ein limit über dem Maximum angefordert, wird es auf das Maximum begrenzt — die Anfrage ist weiterhin erfolgreich, gibt aber weniger Einträge zurück als angefordert. Lesen Sie immer totalRegistries und totalPages aus der Antwort, anstatt davon auszugehen, dass Ihr angefordertes limit angewendet wurde.

Seiten hinter dem Ende anfordern

Wird eine Seite hinter der letzten angefordert, antwortet die API mit 200 und einem leeren data-Array. totalRegistries und totalPages geben weiterhin die vollständige Sammlung an, sodass Sie erkennen können, wie weit sie tatsächlich reicht.
Eine negative page wird als page=0 behandelt.
Ein leeres data-Array ist eine verlässliche Abbruchbedingung für eine Synchronisationsschleife: Die API liefert niemals stillschweigend erneut die letzte Seite anstelle der angeforderten Seite.

Beispiel

Abruf der zweiten Seite mit 25 Produkten:
Antwort:

Durch alle Seiten iterieren

Verwenden Sie das kleinste limit, das für Ihren Anwendungsfall sinnvoll ist. Kleinere Seiten bedeuten schnellere Antworten und weniger Speicherverbrauch.