Zum Hauptinhalt springen

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

ParameterTypErforderlichBeschreibung
customer_idlongJaDie eindeutige ID des Kunden

Query-Parameter

ParameterTypStandardwertBeschreibung
IncludeArticlesboolfalseWenn true, werden die Artikel des Rezepts mit zurückgegeben
IncludeIngredientsboolfalseWenn true, werden die Inhaltsstoffe des Rezepts mit zurückgegeben
ReturnOrderHistoryboolfalseWenn true, nur Rezepte aus Bestellhistorie; wenn false, alle verfügbaren Rezepte des Kunden zurückgeben
HeaderTypErforderlichBeschreibung
X-Api-KeystringJaAPI-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

FeldTypBeschreibung
recipesarrayListe aller Rezepte
successbooleanGibt an, ob die Anfrage erfolgreich war
errorMessagestring?Fehlermeldung, falls ein Fehler aufgetreten ist (ansonsten null)

Recipes-Felder

FeldTypBeschreibung
recipeNrstring?Rezeptnummer (z.B. "60188188")
recipeNamestring?Rezeptnummer inkl. Preislevel und Revision (z.B. "60188188/₵1/R1")
revisionintRevisionsnummer des Rezepts
priceLevelintPreisstufe des Rezepts
rangeInDaysintReichweite des Rezepts in Tagen
recipeDesignationstring?Bezeichnung des Rezepts (z.B. "Individuelle HCK® Mischung")
additionalNotestring?Zusätzliche Hinweise zur Einnahme
creationDateDateTime?Erstellungsdatum des Rezepts (nur bei verfügbaren Rezepten, nicht bei Bestellhistorie)
lastUpdatedDateDateTime?Datum der letzten Aktualisierung (nur bei verfügbaren Rezepten)
orderDateDateTime?Datum der letzten Bestellung (nur bei Bestellhistorie, ReturnOrderHistory=true)
articlesarrayListe der Artikel im Rezept (nur wenn IncludeArticles=true)
ingredientsarrayListe der Inhaltsstoffe im Rezept (nur wenn IncludeIngredients=true)

Articles-Felder

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

FeldTypBeschreibung
articleNrstring?Artikelnummer (z.B. "P102451")
namestring?Name des Artikels
amountdoubleMenge des Artikels (gerundet auf 3 Dezimalstellen)

Ingredients-Felder

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

FeldTypBeschreibung
namestring?Name des Inhaltsstoffs (z.B. "Vitamin D3")
amountdoubleMenge des Inhaltsstoffs (gerundet auf 3 Dezimalstellen)
amountUnitstring?Einheit der Menge (z.B. "µg", "mg")
humanizedAmountstring?Für Menschen lesbare Mengenangabe (z.B. "50 µg", "1 g")

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

Funktionsweise

Bei ReturnOrderHistory=false (Standard)

  1. Authentifizierung über API-Schlüssel
  2. Validierung der Zugriffsberechtigung auf den angegebenen Kunden
  3. Abruf aller verfügbaren Rezepte des Kunden
  4. Optional: Laden der Artikel (IncludeArticles=true)
  5. Optional: Laden der Inhaltsstoffe (IncludeIngredients=true)
  6. Sortierung der Rezepte nach Erstellungsdatum (neueste zuerst)
  7. Rückgabe aller Rezepte mit creationDate und lastUpdatedDate

Bei ReturnOrderHistory=true

  1. Authentifizierung über API-Schlüssel
  2. Validierung der Zugriffsberechtigung auf den angegebenen Kunden
  3. Abruf aller Bestellungen des Kunden inkl. Warenkörbe und Positionen
  4. Extraktion aller Rezepte aus den Bestellpositionen
  5. Zuordnung des letzten Bestelldatums zu jedem Rezept
  6. Optional: Laden der Artikel (IncludeArticles=true)
  7. Optional: Laden der Inhaltsstoffe (IncludeIngredients=true)
  8. Sortierung der Rezepte nach Bestelldatum (neueste zuerst)
  9. 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) sind creationDate und lastUpdatedDate immer null, dafür ist orderDate gesetzt
  • 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 recipeName enthält die Rezeptnummer, das Preislevel (₵) und die Revision (R)