Bestellanfragen¶
Bestellungen zur Prüfung durch Mitarbeiter einreichen, bevor sie Apotheken-Bestellungen werden.
Nutzen Sie dies, wenn externe Systeme keine Bestellungen direkt anlegen sollen (z. B. Rezeptprüfung, manuelle Freigabe).
Telemedizin / nur Shop
Wenn Sie nur Shop-URL + API-Schlüssel erhalten (ohne Manager-Hostname), nutzen Sie:
Externer Telemedizin-Connector — POST {shop}/api/v1/external-order mit automatisch gesetztem org_id / shop_id.
v2 — JWT¶
POST /api/v2/public/orgs/{orgId}/order-requests
Authorization: Bearer {token}
Content-Type: application/json
Bereich: order_requests.write
v1 — Nur API-Schlüssel¶
POST /api/v1/public/orgs/{orgId}/order-requests
apikey: {your_api_key}
Content-Type: application/json
Kein JWT nötig. API-Schlüssel im Header apikey (oder X-API-Key).
Beide Versionen nutzen dieselbe JSON-Hülle.
Request-Body¶
{
"external_reference": "POS-123",
"source": "pos-system",
"payload": {
"shop_id": "shop1",
"customer_name": "Max Mustermann",
"customer_email": "max@example.com",
"total_amount": 42.99,
"items": [
{
"name": "Product name",
"quantity": 5,
"price": 8.59,
"p1_id": "12345"
}
]
}
}
Felder auf oberster Ebene¶
| Feld | Pflicht | Beschreibung |
|---|---|---|
external_reference |
Empfohlen | Idempotenz- / Trace-Referenz |
source |
Empfohlen | Systemname (z. B. woocommerce, jtl, n8n) |
payload |
Ja | Bestelldetails (siehe unten) |
Payload-Felder¶
| Feld | Pflicht | Hinweise |
|---|---|---|
shop_id |
Ja | Muss zu {orgId} gehören |
customer_email oder customer_name |
Ja | Mindestens eines |
items[] |
Ja* | Mindestens eine Zeile mit quantity > 0 und name, p1_id oder product_id |
prescription_pdf_base64 |
Alt. | Base64-PDF statt Positionen |
prescription_pdf_url |
Alt. | URL zum Rezept-PDF |
external_id |
Nein | Externe Bestell-ID vorab setzen |
payment_status |
Nein | z. B. paid |
cash_on_pickup |
Nein | Boolean |
| Adressfelder | Nein | address_street, address_city, usw. |
Hier quantity verwenden
Im Gegensatz zum direkten Order-Upsert (POST /orders) nutzen Bestellanfragen quantity, nicht qty.
Erfolg — 200 OK¶
{
"id": "7b8e6bef-75e0-40ea-8168-de30d1329972",
"external_reference": "POS-123",
"message": "Order request received.",
"status": "pending"
}
Nach Freigabe durch Mitarbeiter entsteht eine vollständige Bestellung.
Webhook¶
Abonnierbares Ereignis: order_request_submitted — siehe Webhooks.
Bestellanfrage vs. direkte Bestellung¶
| Szenario | Endpunkt |
|---|---|
| Zuerst manuelle Prüfung | POST …/order-requests |
| Direkter Sync (POS bereits validiert) | POST …/orders |