Apothekenbestellungen
Verwalten Sie Apothekenbestellungen — sehen Sie eingehende Bestellungen (rezeptpflichtig und rezeptfrei) ein und aktualisieren Sie deren Status während der Bearbeitung.Bestellungen auflisten
integer
Standard:"0"
Seitennummer (0-indiziert)
integer
Standard:"50"
Anzahl der Einträge pro Seite (max. 200)
string
Nach Status filtern. Zulässige Werte:
init, waiting for pharmacy, pending review, on-hold, in-progress, ready_for_pickup, completed, cancelled.string
Suchbegriff. Suche ohne Berücksichtigung der Groß-/Kleinschreibung als Substring nach Shop-Bestellname (z. B.
#1234), Apotheken-Bestellname, Patientenname, Bestell-UID und Apotheken-Bestell-UID.Die Suche nach dem Shop-Bestellnamen ist nur für Apotheken aktiv, bei denen der Shop-Bestellname aktiviert ist (siehe den Hinweis zur Breaking Change unten). Ist er deaktiviert, liefert die Suche nach dem Shop-Bestellnamen keine Ergebnisse; die übrigen Suchfelder sind davon nicht betroffen.integer
Inklusive untere Grenze für den
created_at-Unix-Zeitstempel der Bestellung (Sekunden). Früher erstellte Bestellungen werden ausgeschlossen.integer
Inklusive obere Grenze für den
created_at-Unix-Zeitstempel der Bestellung (Sekunden). Später erstellte Bestellungen werden ausgeschlossen.string
Erforderlich für gruppenweite API-Schlüssel
start_date für „alles seit“ oder nur end_date für „alles bis“. Beide Grenzen sind inklusiv: Eine Bestellung, die exakt zum Zeitpunkt start_date oder end_date erstellt wurde, ist enthalten.
Antwort
Felder der Bestellantwort
Die dokumentierten Felder sind der Kernvertrag, keine vollständige Liste. Listen- und Detailantworten für Apothekenbestellungen werden direkt aus dem zugrunde liegenden Bestellmodell serialisiert. Sie können daher weitere Felder enthalten, die hier nicht dokumentiert sind, und neue Felder können jederzeit ohne Vorankündigung hinzukommen.Entwickeln Sie Ihre Integration so, dass sie unbekannte Felder ignoriert, anstatt die Antwort abzulehnen. Konfigurieren Sie Ihren JSON-Deserialisierer so, dass er nicht erkannte Eigenschaften überspringt (zum Beispiel
@JsonIgnoreProperties(ignoreUnknown = true) in Jackson oder ein nicht-striktes Schema in Pydantic/marshmallow). Nur die auf dieser Seite dokumentierten Felder sind von unseren Kompatibilitätsgarantien abgedeckt — behandeln Sie alles andere als informativ und verlassen Sie sich nicht darauf.string | null
Lesbarer Shop-Bestellname von der ursprünglichen Verkaufsplattform (z. B.
#1234). Bei einer Bestellung über einen von RxScale gehosteten Storefront ist es die Bestellnummer des Storefronts (z. B. RXS-1001). null für Bestellungen ohne verknüpfte Shop-Bestellung und null, wenn der Shop-Bestellname für die zugehörige Apotheke deaktiviert ist (siehe den Hinweis zur Breaking Change unten).array
Shop-Versandarten, die mit der verbundenen Shop-Bestellung verknüpft sind.
Jeder Eintrag enthält die Shop-Versandart (
uid, display_name,
external_id) und die apothekenspezifische Zuordnung, sofern sie konfiguriert
wurde.object | null
Apothekenspezifische Zuordnung für diese Shop-Versandart. Wenn vorhanden,
enthält sie
pharmacy_uid und shipping_method_identifier_for_pharmacy.integer
Versandkosten in Cent, zum Beispiel
499 für EUR 4,99. Immer eine ganze Zahl:
0 (niemals null), wenn keine Versandkosten anfallen. Dieser Wert ist von den
Preisen der Produktpositionen getrennt. Bei vorausbezahlten Bestellungen ist er
Ihr Anteil an den Versandkosten der Shop-Bestellung — siehe Mehrere Apothekenbestellungen pro Shop-Bestellung.string
ISO-Währungscode der Versandkosten, zum Beispiel
EUR.integer
Prioritätshinweis für die bevorzugte Bearbeitung. Höher = dringender.
0 bedeutet keine besondere Priorität.Shop-Versandarten stammen aus verbundenen Shop-Bestellungen. Apotheker können
in den Einstellungen des Apothekentools apothekenspezifische Bezeichner für
jede Shop-Versandart konfigurieren. Wenn noch keine Zuordnung vorhanden ist,
gibt die API die Shop-Versandart trotzdem mit
pharmacy_mapping: null zurück.
Nachdem ein Apotheker eine Zuordnung gespeichert hat, enthalten zukünftige
Bestellantworten den konfigurierten
shipping_method_identifier_for_pharmacy.Mehrere Apothekenbestellungen pro Shop-Bestellung
RxScale erstellt eine Apothekenbestellung pro Fulfillment-Auftrag, nicht pro Shop-Bestellung. Wird eine Shop-Bestellung auf mehrere Fulfillment-Aufträge aufgeteilt, erhalten Sie dafür mehrere Apothekenbestellungen:- Jede Apothekenbestellung enthält nur die Artikel ihres eigenen Fulfillment-Auftrags.
- Jede Apothekenbestellung wird erstellt, sobald ihr Teil der Shop-Bestellung an eine Apotheke übermittelt werden kann. Rezeptpflichtige Artikel werden erst übermittelt, nachdem das Rezept signiert wurde. Apothekenbestellungen derselben Shop-Bestellung können daher Stunden auseinanderliegen.
- Alle Apothekenbestellungen derselben Shop-Bestellung haben dieselbe
order.uid. - Wird eine Bestellung storniert und erneut an eine Apotheke übermittelt, bleibt die stornierte Apothekenbestellung bestehen, und für dieselbe Shop-Bestellung wird eine neue Apothekenbestellung mit einer neuen
uiderstellt.
prepaid: 1) werden die Versandkosten der Shop-Bestellung gleichmäßig auf alle nicht stornierten Apothekenbestellungen dieser Shop-Bestellung aufgeteilt, auch auf Apothekenbestellungen anderer Apotheken. shipping_costs_amount ist Ihr Anteil. Er wird bei jedem Abruf und jeder Übermittlung der Bestellung neu berechnet und kann sich daher ändern, wenn für dieselbe Shop-Bestellung eine weitere Apothekenbestellung erstellt oder storniert wird.
Bestelldetails abrufen
doctor_data und prescription_file sind null bei Bestellungen, die nur rezeptfreie (OTC) Produkte enthalten — diesen Bestellungen ist kein Rezept beigefügt.shop_order_name folgt hier derselben apothekenspezifischen Einstellung wie in der Listen-Antwort — es ist null, solange die Einstellung deaktiviert ist (Standard). Siehe den Hinweis zur Breaking Change oben.Antwort (zusätzliche Felder)
Felder der Detailantwort
integer
1, wenn die Bestellung ein Rezept vom Typ physical mit dem Status signed oder NON_QES_SIGNED enthält (siehe Rezeptstatus) — ein Rezept für physische Produkte, die der Patient bereits beim Checkout bezahlt hat, einschließlich Versand. Andernfalls 0, zum Beispiel bei Bestellungen, die nur rezeptfreie Produkte enthalten.physical bezeichnet den Rezepttyp. Es bezieht sich nicht auf eine Unterschrift auf Papier oder eine handschriftliche Unterschrift.string
ID des Patientenprofils. Sie wird einmal vergeben und nie neu erzeugt. RxScale führt ein Patientenprofil pro Kundenkonto in einem Shop. Dieselbe Person hat daher in einem anderen Shop oder mit einem anderen Kundenkonto eine andere
uid. Werden doppelte Patientenprofile zusammengeführt, zeigen die Bestellungen des entfernten Profils die uid des verbleibenden Profils.string
Vor- und Nachname aus dem Patientenprofil oder ein leerer String, wenn kein Name hinterlegt ist. Der Empfänger in
order.delivery_address kann eine andere Person sein; kein Feld kennzeichnet dies.string
E-Mail-Adresse des Kunden zu dieser Shop-Bestellung, wie beim Checkout angegeben. Sie ist nicht eindeutig und kann leer sein. Werden doppelte Patientenprofile zusammengeführt, zeigen die Bestellungen des entfernten Profils die zuletzt verwendete E-Mail-Adresse des verbleibenden Profils, sofern vorhanden.
object | null
Der Arzt, der das Rezept signiert hat.
null, wenn die Bestellung kein von einem Arzt auf RxScale signiertes Rezept enthält — zum Beispiel bei einer Bestellung, die nur rezeptfreie Produkte enthält.string
ID des Arztes. Sie ist für einen Arzt innerhalb einer Organisation stabil; ein Arzt, der für mehrere Organisationen tätig ist, hat in jeder eine andere
uid.Positionspreise
Jederorder_items[]-Eintrag enthält zwei Preise:
pharmacy_sku.price— der Listenpreis der Apotheke für die SKU in Cent, als Snapshot zum Bestellzeitpunkt (der Preis, der bei der Bestellung erfasst wurde). Er ändert sich nicht, wenn die Apotheke später ihren Listenpreis anpasst.total_paid_amount— der beim Checkout für die Position gezahlte Bruttobetrag in Cent. Er wird für vorausbezahlte Bestellungen (prepaid: 1, siehe oben) und für im Apothekenportal als bezahlt markierte Bestellungen befüllt und ist andernfalls0.
total_paid_amount abgerechnet werden, nicht gegen pharmacy_sku.price.
Auszahlungen
Bestelldetail-Antworten enthalten top-levelpayouts. Jeder Eintrag verwendet dieselbe Struktur wie der Endpoint Auszahlungen.
array
Auszahlungskomponenten für diese Apothekenbestellung, bei denen die angefragte Apotheke der Receiver ist. Bezahlte Bestellungen mit physischem Rezept geben
projected-Auszahlungsvorschauen auf Basis der aktuellen Bestellwerte und Routing-Konfiguration zurück. Abgeschlossene Bestellungen geben routed-Auszahlungen zurück, sobald eine persistierte Split-Payment-Route existiert.string
projected für eine unverbindliche Vorschau oder routed für eine persistierte Split-Payment-Route, die nach Abschluss der Apothekenbestellung erstellt wurde.integer
Auszahlungsbetrag in Cent.
string
ISO-4217-Währungscode, zum Beispiel
EUR.string
Auszahlungskomponente, zum Beispiel
item_rest, item_markup oder shipping.string | null
Lesbare Beschreibung der gerouteten oder projizierten Komponente.
string | null
Routenbezeichner des Zahlungsanbieters. Dieser Wert ist bei gerouteten Auszahlungen befüllt, wenn der Anbieter einen Bezeichner zurückgegeben hat, und bei
projected-Auszahlungen null.string
UID der zugehörigen Apothekenbestellung.
string | null
Lesbarer Name der Apothekenbestellung, zum Beispiel
#1001.integer
Unix-Zeitstempel der Erstellung der Apothekenbestellung.
integer | null
Unix-Zeitstempel, zu dem die Split-Payment-Route erstellt wurde. Bei
projected-Auszahlungen ist dieser Wert null; bei routed-Auszahlungen ist er befüllt.Bestellstatus aktualisieren
Anfragekörper
string
erforderlich
Neuer Bestellstatus. Zulässige Werte siehe Tabelle unten.
string
Freitext-Begründung für die Statusänderung. Erforderlich (und darf nicht leer sein), wenn die Bestellung aus einem anderen Status in
on-hold überführt wird — der Kommentar wird zur Beschreibung des automatisch erstellten Admin-Klärfall-Threads. Für alle anderen Statusübergänge wird das Feld ignoriert.Zulässige Statuswerte
Bestellung auf on-hold setzen
Wenn Sie eine Bestellung in on-hold überführen, müssen Sie einen comment mit der Begründung angeben. RxScale eröffnet automatisch einen Admin-Klärfall-Thread und übernimmt Ihren Kommentar als Thread-Beschreibung, damit das Admin-Team den nötigen Kontext für die Nachverfolgung hat.
comment oder mit einem Kommentar, der nur aus Leerzeichen besteht, wird mit einem 400-Status und folgendem Body abgelehnt:
on-hold-PATCH-Anfragen für eine Bestellung, die bereits den Status on-hold hat, benötigen keinen neuen Kommentar — sie werden als idempotente Wiederholungen behandelt.
Bestellung abschließen
orders_write.
string
Erforderlich für gruppenweite API-Schlüssel
Anfragekörper
tracking_links ist optional. Wenn angegeben, wird der erste Tracking-Link mit der Versandaktualisierung weitergegeben.
Erlaubte Werte für carrier sind DHL, DPD, UPS, Hermes, FedEx und Other.
Antwort
Validierungsfehler-Antwort
Wenntracking_links einen nicht unterstützten Carrier oder einen ungültigen Tracking-Link enthält, gibt die API 400 mit dem Validierungsfehler und der Apotheken-Zusammenfassung zurück. So können Sie den Fehler der betroffenen Apotheke zuordnen. Ist die Bestellung bereits abgeschlossen, bleibt ein erneuter complete_order-Aufruf nur dann idempotent, wenn keine Tracking-Daten gesendet werden; Tracking-Links für bereits abgeschlossene Bestellungen werden mit 400 abgelehnt, damit Versanddetails nicht stillschweigend verworfen werden.