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: /external/v1/customers/{customer_id}/orders/{order_id}
Authentifizierung: API-Schlüssel (erforderlich)
Parameter
URL-Parameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
customer_id | long | Ja | Die eindeutige ID des Kunden |
order_id | long | Ja | Die eindeutige ID der Bestellung |
Header
| Header | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
X-Api-Key | string | Ja | API-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": 9.90,
"totalPriceGross": 159.80,
"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"
],
"success": true,
"errorMessage": null
}
Fehlerhafte Response (404 Not Found)
{
"success": false,
"errorMessage": "Order with Id '99999' not found for Customer with Id '12345'"
}
Response-Felder
| Feld | Typ | Beschreibung |
|---|---|---|
creationDate | DateTime? | Erstellungsdatum der Bestellung |
lastUpdatedDate | DateTime? | Datum der letzten Aktualisierung |
purchaser | string? | Name des Käufers |
customerName | string? | Primärer Kundenname |
shippingCostGross | double | Versandkosten (brutto) |
totalPriceGross | double | Gesamtpreis (brutto) inkl. Versandkosten |
currencyName | string? | Währungsbezeichnung (CHF, EUR) |
status | int? | Bestellstatus (siehe Tabelle unten) |
type | int? | Bestelltyp: 2 (Kundenbestellung) |
deliveryType | int? | Lieferart: 1 (Normale Lieferung) |
note | string? | Notiz zur Bestellung |
deliveryAddress | object? | Lieferadresse |
billingAddress | object? | Rechnungsadresse |
documents | array? | Liste von presigned URLs zu Labordokumenten (PDFs) |
success | boolean | Gibt an, ob die Anfrage erfolgreich war |
errorMessage | string? | Fehlermeldung, falls ein Fehler aufgetreten ist (ansonsten null) |
Address-Felder (deliveryAddress / billingAddress)
| Feld | Typ | Beschreibung |
|---|---|---|
firstname | string? | Vorname |
lastname | string? | Nachname |
salutation | int? | Anrede: 10 (Herr), 20 (Frau), 30 (Dr.) |
street | string? | Straße |
streetNumber | string? | Hausnummer |
additional | string? | Adresszusatz |
zip | string? | Postleitzahl |
city | string? | Stadt |
country | string? | Land |
phone | string? | Telefonnummer |
mobilePhone | string? | Mobiltelefonnummer |
email | string? | E-Mail-Adresse |
Status-Codes
| Code | Beschreibung |
|---|---|
200 | OK - Anfrage wurde verarbeitet (prüfe success-Feld) |
400 | Bad Request - Anfrage ist ungültig |
401 | Unauthorized - API-Schlüssel ist ungültig oder fehlt |
403 | Forbidden - Keine Zugriffsberechtigung auf den Kunden |
404 | Not Found - Bestellung existiert nicht oder gehört nicht zum angegebenen Kunden |
Bestellstatus-Werte
| Wert | Bezeichnung | Beschreibung |
|---|---|---|
1 | InProcessing | Neue Bestellung ist in Bearbeitung |
7 | WaitingForPayment | Zahlung steht noch aus |
10 | Verified | Bestellung wurde überprüft |
20 | Producing | Bestellung wird jetzt produziert |
50 | Produced | Bestellung wurde produziert |
60 | Completed | Bestellung verschickt, d.h. abgeschlossen |
80 | LabAnalysisCompleted | Labordaten vollständig und validiert |
90 | Canceled | Bestellung wurde storniert |
Funktionsweise
- Authentifizierung über API-Schlüssel
- Validierung der Zugriffsberechtigung auf den angegebenen Kunden
- Abruf der Bestellung aus der Datenbank
- Überprüfung, ob die Bestellung zum angegebenen Kunden gehört
- Berechnung des Gesamtpreises (brutto) inkl. Versandkosten
- Generierung von presigned URLs für Labordokumente
- 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 temorä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