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}
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"
}
| Feld | Typ | Erforderlich | Beschreibung |
|---|
prescriptions | array | Nein | Liste der Rezeptobjekte mit id und pdf_base64 |
prescriptions[].id | string | Ja | Ihre interne ID für dieses Rezept (wird zur Verknüpfung mit Positionen verwendet) |
prescriptions[].pdf_base64 | string | Ja | Base64-kodiertes PDF des signierten Rezepts |
lines | array | Nein | Positionen für den Checkout |
lines[].sku_uid | string | Ja | SKU-UID aus dem Produktkatalog |
lines[].quantity | integer | Ja | Zu bestellende Menge |
lines[].prescription_id | string | Nein | Verknüpft die Position mit einem Rezept über dessen id |
patient_data | object | Ja | Demografische Patientendaten |
patient_data.first_name | string | Ja | Vorname des Patienten |
patient_data.last_name | string | Ja | Nachname des Patienten |
patient_data.date_of_birth | integer | Ja | Geburtsdatum als Unix-Zeitstempel |
patient_data.gender | string | Ja | Geschlecht des Patienten (male, female, divers) |
checkout_type | string | Nein | Checkout-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:
| Wert | Beschreibung |
|---|
draft_order | Erstellt einen Shopify-Bestellentwurf und sendet eine Checkout-Anfrage an den Kunden (Standard) |
checkout_link | Gibt einen Shopify-Checkout-Link zurück, über den der Kunde die Zahlung direkt abschließen kann |
draft_order_without_checkout_request | Erstellt 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
| Statuscode | Beschreibung |
|---|
400 | Validierungsfehler im Anfragekörper |
404 | SKU im angegebenen Shop nicht gefunden |
422 | Ungü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}
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"
}
| Feld | Typ | Erforderlich | Beschreibung |
|---|
lines | array | Ja | Positionen für den Checkout |
lines[].sku_uid | string | Ja | SKU-UID aus dem Produktkatalog |
lines[].quantity | integer | Ja | Zu bestellende Menge |
lines[].anamnesis_id | string | Nein | Anamnese-ID zur Verknüpfung mit einem Patientenfragebogen |
checkout_type | string | Nein | Checkout-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"
}