Rezepte eines Kunden abrufen
Dieser Endpoint liefert alle Rezepte für einen spezifischen Kunden. Je nach Query-Parameter ReturnOrderHistory werden
entweder nur die Rezepte zurückgegeben, die der Kunde bereits bestellt hat, oder alle verfügbaren Rezepte des Kunden.
Endpoint-Details
HTTP-Methode: GET
URL: /api/external/v1/customers/{customer_id}/recipes
Authentifizierung: API-Schlüssel (erforderlich)
Parameter
URL-Parameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
customer_id | long | Ja | Die eindeutige ID des Kunden |
Query-Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
IncludeArticles | bool | false | Wenn true, werden die Artikel des Rezepts mit zurückgegeben |
IncludeIngredients | bool | false | Wenn true, werden die Inhaltsstoffe des Rezepts mit zurückgegeben |
ReturnOrderHistory | bool | false | Wenn true, nur Rezepte aus Bestellhistorie; wenn false, alle verfügbaren Rezepte des Kunden zurückgeben |
Header
| Header | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
X-Api-Key | string | Ja | API-Schlüssel für die Authentifizierung |
Response
Erfolgreiche Response (200 OK) - Verfügbare Rezepte
{
"recipes": [
{
"recipeNr": "60188188",
"recipeName": "60188188/₵1/R1",
"revision": 1,
"priceLevel": 1,
"rangeInDays": 30,
"recipeDesignation": "Individuelle HCK® Mischung",
"additionalNote": "Morgens 1 Kapsel",
"creationDate": "2026-05-10T08:30:00Z",
"lastUpdatedDate": "2026-05-12T14:20:00Z",
"orderDate": null,
"articles": [],
"ingredients": []
},
{
"recipeNr": "60188189",
"recipeName": "60188189/₵2/R3",
"revision": 3,
"priceLevel": 2,
"rangeInDays": 30,
"recipeDesignation": "Spezielle Mikronährstoff-Kombination",
"creationDate": "2026-04-15T10:00:00Z",
"lastUpdatedDate": "2026-04-20T16:45:00Z",
"orderDate": null,
"articles": [],
"ingredients": []
}
],
"success": true,
"errorMessage": null
}
Erfolgreiche Response (200 OK) - Mit Artikeln und Inhaltsstoffen
{
"recipes": [
{
"recipeNr": "60188188",
"recipeName": "60188188/₵1/R1",
"revision": 1,
"priceLevel": 1,
"rangeInDays": 30,
"recipeDesignation": "Individuelle HCK® Mischung",
"additionalNote": "Morgens 1 Kapsel",
"creationDate": "2026-05-10T08:30:00Z",
"lastUpdatedDate": "2026-05-12T14:20:00Z",
"orderDate": null,
"articles": [
{
"articleNr": "H100411",
"name": "HCK Antioxidantien Komplex ",
"amount": 2.0
}
],
"ingredients": [
{
"Name": "Vit. C (Ascorbinsäure)",
"Amount": 30000,
"AmountUnit": "Mg",
"HumanizedAmount": "30 g"
},
{
"Name": "Hesperidin (Citrusflavonoid)",
"Amount": 12000,
"AmountUnit": "Mg",
"HumanizedAmount": "12 g"
},
{
"Name": "Lutein",
"Amount": 360,
"AmountUnit": "Mg",
"HumanizedAmount": "360 mg"
},
{
"Name": "Vit. A RE (Retinol Eq.)",
"Amount": 60,
"AmountUnit": "Mg",
"HumanizedAmount": "60 mg"
},
{
"Name": "Zeaxanthin",
"Amount": 18,
"AmountUnit": "Mg",
"HumanizedAmount": "18 mg"
}
]
}
],
"success": true,
"errorMessage": null
}
Erfolgreiche Response (200 OK) - Bestellhistorie
Bei ReturnOrderHistory=true werden nur Rezepte zurückgegeben, die der Kunde bereits bestellt hat.
Die Felder creationDate und lastUpdatedDate sind dann null, dafür ist orderDate gesetzt.
Falls ein Rezept mehrfach bestellt wurde, wird dieses auch mehrfach in der Response zurückgegeben, jeweils mit dem Datum der letzten Bestellung (orderDate).
{
"recipes": [
{
"recipeNr": "60188188",
"recipeName": "60188188/₵1/R1",
"revision": 1,
"priceLevel": 1,
"rangeInDays": 60,
"recipeDesignation": "Individuelle HCK® Mischung",
"creationDate": null,
"lastUpdatedDate": null,
"orderDate": "2026-05-18T09:15:00Z",
"articles": [],
"ingredients": []
}
],
"success": true,
"errorMessage": null
}
Fehlerhafte Response (403 Forbidden)
{
"recipes": [],
"success": false,
"errorMessage": "No access to Customer with Id '12345'"
}
Response-Felder
| Feld | Typ | Beschreibung |
|---|---|---|
recipes | array | Liste aller Rezepte |
success | boolean | Gibt an, ob die Anfrage erfolgreich war |
errorMessage | string? | Fehlermeldung, falls ein Fehler aufgetreten ist (ansonsten null) |
Recipes-Felder
| Feld | Typ | Beschreibung |
|---|---|---|
recipeNr | string? | Rezeptnummer (z.B. "60188188") |
recipeName | string? | Rezeptnummer inkl. Preislevel und Revision (z.B. "60188188/₵1/R1") |
revision | int | Revisionsnummer des Rezepts |
priceLevel | int | Preisstufe des Rezepts |
rangeInDays | int | Reichweite des Rezepts in Tagen |
recipeDesignation | string? | Bezeichnung des Rezepts (z.B. "Individuelle HCK® Mischung") |
additionalNote | string? | Zusätzliche Hinweise zur Einnahme |
creationDate | DateTime? | Erstellungsdatum des Rezepts (nur bei verfügbaren Rezepten, nicht bei Bestellhistorie) |
lastUpdatedDate | DateTime? | Datum der letzten Aktualisierung (nur bei verfügbaren Rezepten) |
orderDate | DateTime? | Datum der letzten Bestellung (nur bei Bestellhistorie, ReturnOrderHistory=true) |
articles | array | Liste der Artikel im Rezept (nur wenn IncludeArticles=true) |
ingredients | array | Liste der Inhaltsstoffe im Rezept (nur wenn IncludeIngredients=true) |
Articles-Felder
Nur verfügbar, wenn IncludeArticles=true im Request angegeben wurde.
| Feld | Typ | Beschreibung |
|---|---|---|
articleNr | string? | Artikelnummer (z.B. "P102451") |
name | string? | Name des Artikels |
amount | double | Menge des Artikels (gerundet auf 3 Dezimalstellen) |
Ingredients-Felder
Nur verfügbar, wenn IncludeIngredients=true im Request angegeben wurde.
| Feld | Typ | Beschreibung |
|---|---|---|
name | string? | Name des Inhaltsstoffs (z.B. "Vitamin D3") |
amount | double | Menge des Inhaltsstoffs (gerundet auf 3 Dezimalstellen) |
amountUnit | string? | Einheit der Menge (z.B. "µg", "mg") |
humanizedAmount | string? | Für Menschen lesbare Mengenangabe (z.B. "50 µg", "1 g") |
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 |
Funktionsweise
Bei ReturnOrderHistory=false (Standard)
- Authentifizierung über API-Schlüssel
- Validierung der Zugriffsberechtigung auf den angegebenen Kunden
- Abruf aller verfügbaren Rezepte des Kunden
- Optional: Laden der Artikel (
IncludeArticles=true) - Optional: Laden der Inhaltsstoffe (
IncludeIngredients=true) - Sortierung der Rezepte nach Erstellungsdatum (neueste zuerst)
- Rückgabe aller Rezepte mit
creationDateundlastUpdatedDate
Bei ReturnOrderHistory=true
- Authentifizierung über API-Schlüssel
- Validierung der Zugriffsberechtigung auf den angegebenen Kunden
- Abruf aller Bestellungen des Kunden inkl. Warenkörbe und Positionen
- Extraktion aller Rezepte aus den Bestellpositionen
- Zuordnung des letzten Bestelldatums zu jedem Rezept
- Optional: Laden der Artikel (
IncludeArticles=true) - Optional: Laden der Inhaltsstoffe (
IncludeIngredients=true) - Sortierung der Rezepte nach Bestelldatum (neueste zuerst)
- Rückgabe aller Rezepte mit
orderDate
Wichtige Hinweise
- Zwei Modi: Der Endpoint kann entweder alle verfügbaren Rezepte oder die Bestellhistorie der Rezepte zurückgeben
- Datum-Felder: Bei Bestellhistorie (
ReturnOrderHistory=true) sindcreationDateundlastUpdatedDateimmernull, dafür istorderDategesetzt - Artikel und Inhaltsstoffe: Diese werden nur zurückgegeben, wenn explizit über Query-Parameter angefordert
- Artikel-Sortierung: Artikel werden nach Artikelnummer aufsteigend sortiert
- Inhaltsstoff-Sortierung: Inhaltsstoffe werden nach Menge absteigend sortiert (höchste Menge zuerst)
- Mengenangaben: Alle Mengen (Artikel und Inhaltsstoffe) werden auf 3 Dezimalstellen gerundet
- Humanisierte Einheiten: Bei Inhaltsstoffen wird zusätzlich eine für Menschen lesbare Mengenangabe bereitgestellt
- Rezeptname-Format: Der
recipeNameenthält die Rezeptnummer, das Preislevel (₵) und die Revision (R)