Documentation Index
Fetch the complete documentation index at: https://docs.rxscale.com/llms.txt
Use this file to discover all available pages before exploring further.
Webhook-Ereignisse
RxScale sendet Webhooks für die folgenden Ereignistypen:| Ereignistyp | Beschreibung |
|---|---|
pharmacy_order_created | Eine neue Apothekenbestellung wurde erstellt und Ihrer Apotheke zugewiesen |
pharmacy_order_updated | Der Status einer bestehenden Apothekenbestellung hat sich geändert |
pharmacy_sku_stock_updated | Der Lagerbestand einer Apotheken-SKU hat sich geändert |
HTTP-Header
Jede Webhook-Anfrage enthält die folgenden HTTP-Header:| Header | Beschreibung |
|---|---|
Content-Type | Immer application/json |
X-Webhook-Event | Der Ereignistyp (z.B. pharmacy_order_created) |
X-Webhook-Signature | HMAC-SHA256-Signatur des Anfrageinhalts (siehe Sicherheit) |
pharmacy_order_created
Wird gesendet, wenn eine neue Apothekenbestellung erstellt und Ihrer Apotheke zugewiesen wird. Möglichestatus-Werte: init, waiting for pharmacy, pending review, in-progress, ready_for_pickup, completed
Payload-Beispiel
Feldreferenz
| Feld | Typ | Beschreibung |
|---|---|---|
data.uid | string | UID der Apothekenbestellung |
data.status | string | Aktueller Bestellstatus |
data.name | string oder null | Lesbarer Bestellname (z.B. #1001) |
data.data | object | Benutzerdefinierte Daten der Bestellung |
data.external_status | string | Externer Status-Bezeichner |
data.created_at | integer | Unix-Zeitstempel der Erstellung |
data.updated_at | integer | Unix-Zeitstempel der letzten Aktualisierung |
data.deleted_at | integer oder null | Unix-Zeitstempel der Löschung oder null |
data.pharmacy | object | Apothekenzusammenfassung mit uid und display_name |
data.order | object | Übergeordnete Bestellung mit uid, delivery_address und invoice_address |
data.order.shipping_costs_amount | integer oder null | Versandkosten in Cent. null, wenn keine Versandkosten verfügbar sind. |
data.order.shipping_costs_currency | string oder null | ISO-4217-Währungscode der Versandkosten, z.B. EUR. |
data.delivery_type | object oder null | Versandart mit uid, display_name und identifier |
data.shop_shipping_methods | array | Versandmethoden des verbundenen Shop-Bestellauftrags. Leeres Array, wenn keine Shop-Versandmethoden vorliegen. |
data.shop_shipping_methods[].uid | string | UID der Shop-Versandmethode |
data.shop_shipping_methods[].display_name | string | Anzeigename der Versandmethode aus dem Shop |
data.shop_shipping_methods[].external_id | string oder null | Bezeichner der Versandmethode im verbundenen Shop (z.B. der Shopify-Shipping-Line-Code) |
data.shop_shipping_methods[].pharmacy_mapping | object oder null | Apothekenspezifisches Mapping aus den RxScale-Apothekeneinstellungen, oder null, wenn für die empfangende Apotheke noch kein Mapping konfiguriert wurde. Konfiguriert wird dies im Apotheken-Bildschirm Einstellungen → Versandarten-Zuordnung. |
data.shop_shipping_methods[].pharmacy_mapping.pharmacy_uid | string | UID der empfangenden Apotheke, für die dieses Mapping gilt |
data.shop_shipping_methods[].pharmacy_mapping.shipping_method_identifier_for_pharmacy | string | Apothekenspezifischer Bezeichner, den die empfangende Apotheke für diese Versandmethode erwartet (z.B. DHL_STANDARD). Verwenden Sie diesen Wert, wenn Sie die Bestellung an Ihr nachgelagertes Versand-/Label-System übergeben. |
data.order_items | array | Artikel der Bestellung |
data.order_items[].sku | object | SKU-Informationen inkl. pzn, product_uid, product_display_name, standard_selling_unit, unit und product_handle |
data.order_items[].sku.standard_selling_unit | number oder null | Standard-Verkaufseinheit der SKU |
data.order_items[].sku.unit | string oder null | Einheit der SKU, z.B. ml oder g |
data.order_items[].pharmacy_sku | object oder null | Apothekenspezifische SKU-Daten mit uid, external_id, price (Cent), stock |
data.order_items[].total_paid_amount | integer oder null | Vom Patienten gezahlter Betrag für diese Position in Cent (brutto). null, wenn keine Zahlungsinformationen verfügbar sind. |
data.patient_data | object oder null | Patienteninformationen mit uid, display_name, email, date_of_birth, phone_number |
data.doctor_data | object oder null | Arzt, der das Rezept signiert hat, mit uid und display_name |
data.prescription_file | object oder null | Signiertes Rezept-PDF mit filename und content_base64 |
data.prepaid | integer | 1 wenn die Bestellung ein physisches (vorausbezahltes) Rezept hat, sonst 0 |
pharmacy_order_updated
Wird gesendet, wenn sich der Status einer bestehenden Apothekenbestellung ändert. Die Payload-Struktur ist identisch mitpharmacy_order_created. Das Feld status enthält den neuen Status.
Payload-Beispiel
Webhooks auf Organisationsebene
Wenn das Webhook-Abonnement über die Management API (auf Organisationsebene) erstellt wurde, enthalten Bestellereignisse zusätzliche Daten:- Die
sku-Objekte inorder_itemsundfulfillment.itemswerden um Shopify-Bezeichner (shop_variation_id,shop_product_external_id) erweitert. - Ein
fulfillment-Objekt mit Details zur Fulfillment-Bestellung wird hinzugefügt.
| Feld | Typ | Beschreibung |
|---|---|---|
data.order_items[].sku.shop_variation_id | string oder null | Shopify-Varianten-ID |
data.order_items[].sku.shop_product_external_id | string oder null | Shopify-Produkt-ID |
data.fulfillment.uid | string | UID der Fulfillment-Bestellung |
data.fulfillment.external_id | string oder null | Externer Bezeichner der Fulfillment-Bestellung |
data.fulfillment.items[].order_item.sku.shop_variation_id | string oder null | Shopify-Varianten-ID |
data.fulfillment.items[].order_item.sku.shop_product_external_id | string oder null | Shopify-Produkt-ID |
data.fulfillment.order.uid | string | UID der übergeordneten Bestellung |
data.fulfillment.order.shop_order.uid | string | UID der Shop-Bestellung |
data.fulfillment.order.shop_order.external_id | string oder null | Externer Bezeichner der Shop-Bestellung |
data.fulfillment.order.shop_order.shop_identifier | string | Shop-Bezeichner |
Das
fulfillment-Feld und die Shopify-Bezeichner (shop_variation_id, shop_product_external_id) in sku-Objekten sind nur in Webhook-Zustellungen auf Organisationsebene enthalten. Webhooks auf Apothekenebene enthalten diese Felder nicht.pharmacy_sku_stock_updated
Wird gesendet, wenn sich der Lagerbestand einer Apotheken-SKU ändert. Dies umfasst:- Direkte Bestandsaktualisierungen über die Pharmacy-API (
PATCH /v1/.../pharmacy_skus/{uid}/stockoder Inventar-Endpunkte). - Automatische Bestandsreduzierung bei Abschluss einer Apothekenbestellung. Dies wird sowohl beim manuellen Abschluss (über die Apotheken-Oberfläche / API) als auch beim automatischen Abschluss ausgelöst, wenn RxScale über die Statusabfrage-Integration mit dem Backend der Apotheke erkennt, dass die Bestellung versendet oder abgeschlossen wurde. Pro Apotheken-SKU der abgeschlossenen Bestellung wird ein Event emittiert.
Payload-Beispiel
Feldreferenz
| Feld | Typ | Beschreibung |
|---|---|---|
data.uid | string | UID der Apotheken-SKU |
data.pharmacy_uid | string | UID der Apotheke |
data.sku_uid | string | UID der SKU |
data.external_id | string oder null | Externer Bezeichner in Ihrem eigenen System |
data.price | integer | Preis in Cent |
data.stock | integer | Aktueller Lagerbestand |
data.reserved_amount | integer | Für diese SKU reservierte Einheiten — Summe der Bestellpositionsmengen aller in Bearbeitung befindlichen Apothekenbestellungen (also Bestellungen, die weder abgeschlossen noch storniert sind). Verfügbarer Bestand kann als stock - reserved_amount berechnet werden. |
data.markup | integer | Aufschlagswert |
data.priority | integer | Prioritätsstufe |
data.type | string | Typ der Apotheken-SKU |
data.created_at | integer | Unix-Zeitstempel der Erstellung |
data.updated_at | integer | Unix-Zeitstempel der letzten Aktualisierung |
data.deleted_at | integer oder null | Unix-Zeitstempel der Löschung oder null |
data.sku | object | Verschachtelte SKU- und Produktinformationen |
data.sku.uid | string | UID der SKU |
data.sku.display_name | string | Anzeigename der SKU |
data.sku.pzn | string | Pharmazentralnummer (PZN) |
data.sku.product_uid | string | UID des übergeordneten Produkts |
data.sku.product_display_name | string oder null | Anzeigename des übergeordneten Produkts |
data.sku.standard_selling_unit | number oder null | Standard-Verkaufseinheit der SKU |
data.sku.unit | string oder null | Einheit der SKU, z.B. ml oder g |
data.sku.product_handle | string oder null | URL-Handle/Slug des übergeordneten Produkts |
Webhooks auf Organisationsebene
Wenn das Webhook-Abonnement über die Management API (auf Organisationsebene) erstellt wurde, enthalten Lagerbestandsereignisse zusätzliche Daten:- Das
sku-Objekt wird um Shopify-Bezeichner (shop_variation_id,shop_product_external_id) erweitert. - Ein
shop_identifier-Feld wird auf derdata-Ebene hinzugefügt.
| Feld | Typ | Beschreibung |
|---|---|---|
data.shop_identifier | string oder null | Shop-Bezeichner |
data.sku.shop_variation_id | string oder null | Shopify-Varianten-ID |
data.sku.shop_product_external_id | string oder null | Shopify-Produkt-ID |
Das
shop_identifier-Feld und die Shopify-Bezeichner (shop_variation_id, shop_product_external_id) im sku-Objekt sind nur in Webhook-Zustellungen auf Organisationsebene enthalten. Webhooks auf Apothekenebene enthalten diese Felder nicht.