Skip to main content

Apotheken-SKUs

Sehen Sie die Produktbestände, Preise und externen System-IDs Ihrer Apotheke ein und aktualisieren Sie diese.

SKUs auflisten

integer
Standard:"0"
Seitennummer (0-indiziert)
integer
Standard:"50"
Einträge pro Seite. Auf maximal 500 begrenzt — Werte über 500 werden automatisch auf 500 reduziert.
string
Erforderlich für gruppenweite API-Schlüssel

Antwort

Das Feld price wird in Euro-Cent angegeben (z. B. 1299 = 12,99 EUR).
sku.product_handle ist ein opaker Bezeichner aus dem Produktkatalog der Organisation. Sein Format ist nicht garantiert — er kann ein Slug wie medication-x, eine Zahl oder null sein. Verwenden Sie ihn daher nicht zur Identifikation von Produkten, sondern sku.product_uid für das Produkt und sku.uid oder sku.pzn für die SKU.
REST-SKU-Antworten lassen markup, priority und type bewusst weg (Plattform-Marge). Diese Felder können weiterhin in pharmacy_sku_stock_updated-Webhooks vorkommen — behandeln Sie webhook-only Felder als opak und erwarten Sie sie nicht bei GET/PATCH Pharmacy SKUs.
Ausgeblendete SKU-Typen: Ihr Konto kann so konfiguriert sein, dass SKUs eines bestimmten Typs (digital oder physisch) ausgeblendet werden. SKUs des ausgeblendeten Typs werden automatisch aus dieser Liste ausgeschlossen — sie erscheinen weder im data-Array noch werden sie in totalRegistries gezählt. Diese Einstellung ist standardmäßig deaktiviert und wird von Ihrem rxscale-Administrator konfiguriert. Wenn Sie der Meinung sind, dass SKUs in Ihrer Liste fehlen, wenden Sie sich an den rxscale-Support.

SKU aktualisieren

Wenn Ihr Konto so konfiguriert ist, dass ein SKU-Typ ausgeblendet wird, gibt jeder Versuch, eine Apotheken-SKU dieses ausgeblendeten Typs zu aktualisieren — über PATCH /pharmacy_skus/{uid}, PATCH /pharmacy_skus/{uid}/stock oder PATCH /pharmacy_skus/{uid}/external_id — 404 Not Found zurück. Stellen Sie sicher, dass die SKU in Ihrer GET /pharmacy_skus-Liste erscheint, bevor Sie versuchen, sie zu aktualisieren.
Aktualisieren Sie Preis, Bestand und/oder external_id für eine Apotheken-SKU.

Anfragekörper

Alle Felder sind optional — geben Sie nur die Felder an, die Sie aktualisieren möchten.
integer
Ihr physischer Lagerbestand für diese SKU, einschließlich der Einheiten, die bereits für Ihre offenen RxScale-Bestellungen reserviert sind. Jede Anfrage setzt einen absoluten Wert; sie addiert nichts zum aktuellen Bestand und zieht nichts davon ab. Siehe Bestand und Reservierungen unten.
integer
Der eigene Preis Ihrer Apotheke pro Einheit in Euro-Cent (z. B. 1500 = 15,00 EUR). Wird eine neue Apothekenbestellung erstellt, wird der aktuelle Preis als Snapshot darin gespeichert (order_items[].pharmacy_sku.price); eine Änderung wirkt sich daher nicht auf bestehende Bestellungen aus. Der Preis, den Patienten im Shop bezahlen, ändert sich dadurch nicht. Eine Anfrage, die nur den Preis ändert, löst keinen Webhook aus.
string
Ihre eigene Referenz für diese SKU in Ihrer Apotheke, zum Beispiel die Artikelnummer in Ihrem System. Freitext mit bis zu 255 Zeichen. Sie muss nicht eindeutig sein, und RxScale verwendet sie nicht, um SKUs zu suchen. Sie wird Ihnen in Bestellpositionen (order_items[].pharmacy_sku.external_id), in Webhooks und auf der Kommissionierliste im Apothekenportal zurückgegeben. Um sie zu entfernen, senden Sie einen leeren String (""); null wird mit 400 abgelehnt.
Lagerbestände dürfen negativ sein (z. B. -40), um überverkaufte Bestände in Ihrem eigenen System abzubilden.

Bestand und Reservierungen

  • stock ist Ihr physischer Lagerbestand. Er enthält Einheiten, die bereits für Ihre offenen RxScale-Bestellungen reserviert sind.
  • reserved_amount ist die Menge in Ihren offenen RxScale-Bestellungen — Bestellungen in jedem Status außer completed und cancelled. Der Wert ist im pharmacy_sku_stock_updated-Webhook enthalten, nicht in den REST-SKU-Antworten.
  • Der verfügbare Bestand ist stock - reserved_amount. Senden Sie nicht die verfügbare Menge als stock, da die Reservierungen sonst doppelt abgezogen würden.
  • Wenn Sie eine Bestellung mit complete_order abschließen, reduziert RxScale stock automatisch um die bestellte Menge. Hat Ihr eigenes System die versendeten Einheiten bereits abgezogen, senden Sie dessen Bestandswert erst nach dem Aufruf von complete_order — andernfalls werden die Einheiten bis zu Ihrer nächsten Synchronisierung doppelt abgezogen.
  • Ein pharmacy_sku_stock_updated-Webhook wird gesendet, wenn sich der Bestand über diese API ändert — auch durch Ihre eigenen PATCH-Anfragen — und wenn der Abschluss einer Bestellung ihn reduziert. Eine Anfrage, die den bereits hinterlegten Bestandswert erneut sendet, löst keinen Webhook aus.

Nur Bestand aktualisieren

Ein praktischer Endpoint, um ausschließlich den Lagerbestand zu aktualisieren.

Externe ID aktualisieren

Verknüpfen Sie eine Apotheken-SKU mit Ihrem externen System.
Um die externe ID zu entfernen, senden Sie einen leeren String (""); null wird mit 400 abgelehnt.

Viele SKUs synchronisieren

Es gibt keinen Endpoint für Massenaktualisierungen. Für einen regelmäßigen Abgleich, zum Beispiel jede Nacht:
  1. Laden Sie Ihre SKUs mit GET /v1/external_pharmacy_api/pharmacy_skus/?limit=500 (500 ist die maximale Seitengröße) und blättern Sie mit page durch die Ergebnisse.
  2. Vergleichen Sie sie mit Ihrem eigenen System und senden Sie nur für SKUs mit geänderten Werten eine PATCH-Anfrage.
  3. Verteilen Sie die Anfragen über die Zeit und bleiben Sie deutlich unter der Ratenbegrenzung.