Zum Hauptinhalt springen

Bestellinformationen und Status abrufen

Dieser Endpoint liefert detaillierte Informationen zu einer spezifischen Bestellung eines Kunden, einschließlich Status, Adressen, Preisen und zugehörigen Dokumenten.

Endpoint-Details

HTTP-Methode: GET

URL: /api/external/v1/customers/{customer_id}/orders/{order_id}

Authentifizierung: API-Schlüssel (erforderlich)

Parameter

URL-Parameter

ParameterTypErforderlichBeschreibung
customer_idlongJaDie eindeutige ID des Kunden
order_idlongJaDie eindeutige ID der Bestellung

Query-Parameter

ParameterTypStandardwertBeschreibung
IncludeCartItemsboolfalseWenn true, werden die bestellten Positionen mit zurückgegeben
HeaderTypErforderlichBeschreibung
X-Api-KeystringJaAPI-Schlüssel für die Authentifizierung

Response

Erfolgreiche Response (200 OK)

{
"creationDate": "2026-05-15T10:30:00Z",
"lastUpdatedDate": "2026-05-16T14:20:00Z",
"purchaser": "Max Mustermann",
"customerName": "Max Mustermann",
"shippingCostGross": 0,
"totalPriceGross": 65,
"currencyName": "CHF",
"status": 60,
"type": 2,
"deliveryType": 1,
"note": "Notiz zur Bestellung",
"deliveryAddress": {
"firstname": "Max",
"lastname": "Mustermann",
"street": "Musterstrasse",
"streetNumber": "42",
"additional": "3. Stock",
"zip": "8000",
"city": "Zürich",
"country": "276",
"phone": "+41 44 123 45 67",
"mobilePhone": "+41 79 123 45 67",
"email": "max.mustermann@example.com",
"salutation": 10
},
"billingAddress": {
"firstname": "Max",
"lastname": "Mustermann",
"street": "Rechnungsstrasse",
"streetNumber": "10",
"zip": "8001",
"city": "Zürich",
"country": "276",
"email": "max.mustermann@example.com",
"salutation": 10
},
"documents": [
"https://s3.example.com/lab-request-12345.pdf?presigned=xyz",
"https://s3.example.com/lab-request-12346.pdf?presigned=abc"
],
"cartItems": [
{
"name": "IABC Analyse MNS und Stoffwechsel Profil - MSP Basis (Selbstzahleranteil IABC)",
"articleNr": "D303200K",
"amount": 1,
"priceGross": 50
},
{
"name": "Fragebogen Mikronährstoffanalyse",
"articleNr": "F000101",
"amount": 1,
"priceGross": 0
},
{
"name": "Gesamtbericht",
"articleNr": "B000101",
"amount": 1,
"priceGross": 0
},
{
"name": "Laborprobe: Serum",
"articleNr": "S10000",
"sampleId": "1234",
"sampleDate": "2026-05-18T07:01:57.842Z",
"sampleNote": "Notiz",
"amount": 1,
"priceGross": 0
},
{
"name": "IABC Auftragstaxe",
"articleNr": "V100010",
"amount": 1,
"priceGross": 15
}
],
"success": true,
"errorMessage": null
}

Response bei Rezeptbestellung (200 OK) (Auszug)

{
"cartItems": [
{
"name": "Individuelle HCK® Mischung",
"recipeNr": "60188188",
"recipeName": "60188188/₵1/R1",
"rangeInDays": 60,
"amount": 1,
"priceGross": 172.34
},
{
"name": "HCK Omega-3-Fischölkapseln",
"articleNr": "P102451",
"amount": 1,
"priceGross": 17.06
}
]
}

Fehlerhafte Response (404 Not Found)

{
"success": false,
"errorMessage": "Order with Id '99999' not found for Customer with Id '12345'"
}

Response-Felder

FeldTypBeschreibung
creationDateDateTime?Erstellungsdatum der Bestellung
lastUpdatedDateDateTime?Datum der letzten Aktualisierung
purchaserstring?Name des Käufers
customerNamestring?Primärer Kundenname
shippingCostGrossdoubleVersandkosten (brutto)
totalPriceGrossdoubleGesamtpreis (brutto) inkl. Versandkosten
currencyNamestring?Währungsbezeichnung (CHF, EUR)
statusint?Bestellstatus (siehe Tabelle unten)
typeint?Bestelltyp: 2 (Kundenbestellung)
deliveryTypeint?Lieferart: 1 (Normale Lieferung)
notestring?Notiz zur Bestellung
deliveryAddressobject?Lieferadresse
billingAddressobject?Rechnungsadresse
documentsarray?Liste von presigned URLs zu Labordokumenten (PDFs)
cartItemsarray?Liste der bestellten Positionen (nur wenn IncludeCartItems=true)
successbooleanGibt an, ob die Anfrage erfolgreich war
errorMessagestring?Fehlermeldung, falls ein Fehler aufgetreten ist (ansonsten null)

Address-Felder (deliveryAddress / billingAddress)

FeldTypBeschreibung
firstnamestring?Vorname
lastnamestring?Nachname
salutationint?Anrede: 10 (Herr), 20 (Frau), 30 (Dr.)
streetstring?Straße
streetNumberstring?Hausnummer
additionalstring?Adresszusatz
zipstring?Postleitzahl
citystring?Stadt
countrystring?Land
phonestring?Telefonnummer
mobilePhonestring?Mobiltelefonnummer
emailstring?E-Mail-Adresse

CartItem-Felder

Nur verfügbar, wenn IncludeCartItems=true im Request angegeben wurde.

FeldTypBeschreibung
namestring?Name des Artikels (z.B. "Vitamin D3") oder Rezepttyp
articleNrstring?Artikelnummer (nur bei Artikeln)
recipeNrstring?Rezeptnummer (nur bei Rezepten)
recipeNamestring?Rezeptnummer inkl. Preislevel und Version (nur bei Rezepten)
rangeInDaysint?Reichweite in Tagen (nur bei Rezepten)
sampleIdstring?Proben-ID (nur bei Laborpositionen)
sampleDateDateTime?Probendatum (nur bei Laborpositionen)
sampleNotestring?Notiz zur Probe (nur bei Laborpositionen)
amountintBestellte Menge / Anzahl
priceGrossdoubleBruttopreis für diese Position (Einzelpreis × Menge)

Status-Codes

CodeBeschreibung
200OK - Anfrage wurde verarbeitet (prüfe success-Feld)
400Bad Request - Anfrage ist ungültig
401Unauthorized - API-Schlüssel ist ungültig oder fehlt
403Forbidden - Keine Zugriffsberechtigung auf den Kunden
404Not Found - Bestellung existiert nicht oder gehört nicht zum angegebenen Kunden

Bestellstatus-Werte

WertBezeichnungBeschreibung
1InProcessingNeue Bestellung ist in Bearbeitung
7WaitingForPaymentZahlung steht noch aus
10VerifiedBestellung wurde überprüft
20ProducingBestellung wird jetzt produziert
50ProducedBestellung wurde produziert
60CompletedBestellung verschickt, d.h. abgeschlossen
80LabAnalysisCompletedLabordaten vollständig und validiert
90CanceledBestellung wurde storniert

Funktionsweise

  1. Authentifizierung über API-Schlüssel
  2. Validierung der Zugriffsberechtigung auf den angegebenen Kunden
  3. Abruf der Bestellung aus der Datenbank
  4. Überprüfung, ob die Bestellung zum angegebenen Kunden gehört
  5. Berechnung des Gesamtpreises (brutto) inkl. Versandkosten
  6. Generierung von presigned URLs für Labordokumente
  7. Optional: Laden der bestellten Positionen (wenn IncludeCartItems=true)
  8. Rückgabe aller Bestellinformationen

Wichtige Hinweise

  • Die Bestellung muss zum angegebenen Kunden gehören, sonst wird ein 404-Fehler zurückgegeben
  • Alle Preisangaben sind Brutto-Preise (inkl. MwSt.)
  • Die documents-Liste enthält nur Labordokumente (Lab Request PDFs) und sind nur temporär gültig (30 Minuten)
  • Liefer- und Rechnungsadresse können identisch sein
  • Die Währung wird aus der Bestellung übernommen und basiert auf dem Verkaufsmarkt
  • Die cartItems werden nur zurückgegeben, wenn der Query-Parameter IncludeCartItems=true gesetzt ist
  • Bei Rezepten enthält ein CartItem die Rezeptnummer und Reichweite, bei Artikeln die Artikelnummer und den Namen
  • Versandkosten und Servicepositionen werden in cartItems nicht aufgeführt