Zum Inhalt

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-ConnectorPOST {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