Zum Hauptinhalt springen

Rezepte & Behandlungen

Erstellen Sie Checkout-Sitzungen für Rezepte oder Behandlungen. Diese Endpoints übernehmen die Rezeptvalidierung, die Checkout-Erstellung und geben eine Checkout-URL oder einen Bestellentwurf zurück, über den der Patient seinen Kauf abschließen kann.

Rezept-Checkout erstellen

Laden Sie ein oder mehrere signierte Rezepte (als Base64-kodierte PDFs) zusammen mit Positionen und Patientendaten hoch, um einen Checkout zu erstellen.
POST /v2/public/prescriptions/{shop_identifier}
shop_identifier
string
erforderlich
Eindeutiger Bezeichner für den Shop
Erforderliche Berechtigung: create_prescription_checkout

Anfragekörper

{
  "prescriptions": [
    {
      "id": "my-prescription-001",
      "pdf_base64": "JVBERi0xLjQK..."
    }
  ],
  "lines": [
    {
      "sku_uid": "sku-456",
      "quantity": 1,
      "prescription_id": "my-prescription-001"
    }
  ],
  "patient_data": {
    "first_name": "Max",
    "last_name": "Mustermann",
    "date_of_birth": 631152000,
    "gender": "male"
  },
  "checkout_type": "draft_order"
}
FeldTypErforderlichBeschreibung
prescriptionsarrayNeinListe der Rezeptobjekte mit id und pdf_base64
prescriptions[].idstringJaIhre interne ID für dieses Rezept (wird zur Verknüpfung mit Positionen verwendet)
prescriptions[].pdf_base64stringJaBase64-kodiertes PDF des signierten Rezepts
linesarrayNeinPositionen für den Checkout
lines[].sku_uidstringJaSKU-UID aus dem Produktkatalog
lines[].quantityintegerJaZu bestellende Menge
lines[].prescription_idstringNeinVerknüpft die Position mit einem Rezept über dessen id
patient_dataobjectJaDemografische Patientendaten
patient_data.first_namestringJaVorname des Patienten
patient_data.last_namestringJaNachname des Patienten
patient_data.date_of_birthintegerJaGeburtsdatum als Unix-Zeitstempel
patient_data.genderstringJaGeschlecht des Patienten (male, female, divers)
checkout_typestringNeinCheckout-Typ: checkout_link, draft_order (Standard) oder draft_order_without_checkout_request

Checkout-Typen

Das Feld checkout_type steuert, wie die Bestellung in Shopify erstellt wird:
WertBeschreibung
draft_orderErstellt einen Shopify-Bestellentwurf und sendet eine Checkout-Anfrage an den Kunden (Standard)
checkout_linkGibt einen Shopify-Checkout-Link zurück, über den der Kunde die Zahlung direkt abschließen kann
draft_order_without_checkout_requestErstellt einen Shopify-Bestellentwurf, ohne eine Checkout-Anfrage an den Kunden zu senden. Nützlich, wenn Sie die Kundenkommunikation separat handhaben

Beispielanfrage

curl -X POST "https://api.rxscale.com/v2/public/prescriptions/my-shop" \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "prescriptions": [
      {
        "id": "rx-001",
        "pdf_base64": "JVBERi0xLjQK..."
      }
    ],
    "lines": [
      {
        "sku_uid": "sku-456",
        "quantity": 1,
        "prescription_id": "rx-001"
      }
    ],
    "patient_data": {
      "first_name": "Max",
      "last_name": "Mustermann",
      "date_of_birth": 631152000,
      "gender": "male"
    }
  }'

Antwort

{
  "status": "success",
  "prescriptions": [
    {
      "id": "rx-001",
      "prescription_uid": "px-abc123"
    }
  ]
}
Die Antwort ordnet Ihre Rezept-IDs den RxScale-Rezept-UIDs zu. Verwenden Sie diese UIDs, um den Bestellstatus über den Bestellungen-Endpoint abzufragen.

Fehlerantworten

StatuscodeBeschreibung
400Validierungsfehler im Anfragekörper
404SKU im angegebenen Shop nicht gefunden
422Ungültiges PDF oder unsigniertes Rezept

QES-Validierung

Rezept-PDFs werden auf qualifizierte elektronische Signaturen (QES) überprüft. Wenn ein Rezept keine gültige qualifizierte elektronische Signatur enthält, gibt die API einen 422-Fehler zurück.
Rezepte müssen mit einer qualifizierten elektronischen Signatur (QES) digital signiert sein. Unsignierte oder ungültig signierte Rezepte werden mit einer 422-Antwort abgelehnt. Für einige Telemedizin-Anbieter kann diese Anforderung je nach Konfiguration gelockert sein — kontaktieren Sie den RxScale-Support, wenn Sie die QES-Anforderungen für Ihre Integration besprechen möchten.

Behandlungs-Checkout erstellen

Erstellen Sie einen Checkout für behandlungsbasierte Bestellungen (kein Rezept erforderlich).
POST /v2/public/treatments/{shop_identifier}
shop_identifier
string
erforderlich
Eindeutiger Bezeichner für den Shop
Erforderliche Berechtigung: create_treatment_checkout

Anfragekörper

{
  "lines": [
    {
      "sku_uid": "sku-789",
      "quantity": 1,
      "anamnesis_id": "anam-001"
    }
  ],
  "checkout_type": "draft_order"
}
FeldTypErforderlichBeschreibung
linesarrayJaPositionen für den Checkout
lines[].sku_uidstringJaSKU-UID aus dem Produktkatalog
lines[].quantityintegerJaZu bestellende Menge
lines[].anamnesis_idstringNeinAnamnese-ID zur Verknüpfung mit einem Patientenfragebogen
checkout_typestringNeinCheckout-Typ: checkout_link, draft_order (Standard) oder draft_order_without_checkout_request
Siehe Checkout-Typen oben für Details zu den einzelnen Optionen.

Beispielanfrage

curl -X POST "https://api.rxscale.com/v2/public/treatments/my-shop" \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "lines": [
      {
        "sku_uid": "sku-789",
        "quantity": 1
      }
    ]
  }'

Antwort

{
  "status": "success",
  "checkout_url": "https://shop.example.com/checkout/abc123"
}