Zum Hauptinhalt springen

Preise eines Rezepts abrufen

Dieser Endpoint liefert die Preise für ein spezifisches Rezept eines Kunden. Es werden Preise für verschiedene Reichweiten (30, 60, 90, 120 und 180 Tage) zurückgegeben, inklusive der jeweils gültigen Rabatte.

Endpoint-Details​

HTTP-Methode: GET

URL: /api/external/v1/customers/{customer_id}/recipes/{recipe_id}/prices

Authentifizierung: API-Schlüssel (erforderlich)

Parameter​

URL-Parameter​

ParameterTypErforderlichBeschreibung
customer_idlongJaDie eindeutige ID des Kunden
recipe_idlongJaDie eindeutige ID des Rezepts
HeaderTypErforderlichBeschreibung
X-Api-KeystringJaAPI-Schlüssel für die Authentifizierung

Response​

Erfolgreiche Response (200 OK)​

{
"priceData": [
{
"rangeInDays": 30,
"totalGrossPrice": 89.90,
"discount": 0
},
{
"rangeInDays": 60,
"totalGrossPrice": 169.90,
"discount": 0
},
{
"rangeInDays": 90,
"totalGrossPrice": 239.90,
"discount": 5
},
{
"rangeInDays": 120,
"totalGrossPrice": 309.90,
"discount": 10
},
{
"rangeInDays": 180,
"totalGrossPrice": 449.90,
"discount": 10
}
],
"currencyName": "EUR",
"success": true,
"errorMessage": null
}

Fehlerhafte Response (403 Forbidden)​

{
"priceData": [],
"currencyName": "",
"success": false,
"errorMessage": "No access to Customer with Id '12345'"
}

Fehlerhafte Response (404 Not Found)​

{
"priceData": [],
"currencyName": "",
"success": false,
"errorMessage": "Recipe not found or does not belong to the specified Customer with Id '12345'."
}

Response-Felder​

FeldTypBeschreibung
priceDataarrayListe der Preise für verschiedene Reichweiten
currencyNamestringName der Währung ("EUR", "CHF")
successbooleanGibt an, ob die Anfrage erfolgreich war
errorMessagestring?Fehlermeldung, falls ein Fehler aufgetreten ist (ansonsten null)

PriceData-Felder​

FeldTypBeschreibung
rangeInDaysintReichweite in Tagen (30, 60, 90, 120 oder 180)
totalGrossPricedoubleGesamtpreis brutto für die angegebene Reichweite (gerundet auf 2 Dezimalstellen)
discountdoubleRabatt in Prozent. Wurde bereits auf den totalGrossPrice angewendet

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 - Rezept nicht gefunden oder gehört nicht zum Kunden

Funktionsweise​

  1. Authentifizierung über API-Schlüssel
  2. Validierung der Zugriffsberechtigung auf den angegebenen Kunden
  3. Laden des angegebenen Rezepts und Prüfung, ob es zum Kunden gehört
  4. Berechnung der optimierten Preise für alle Reichweiten (30, 60, 90, 120, 180 Tage)
  5. Anwendung der Mengenrabatte basierend auf der jeweiligen Reichweite
  6. Berücksichtigung von:
    • Marktkonfiguration
    • Preislisten-Optionen
    • Preis-Faktoren
    • Artikel-Optimierungen
  7. Rückgabe der berechneten Bruttopreise mit zugehörigen Rabatten

Wichtige Hinweise​

  • Die Preise werden für jede Reichweite individuell optimiert und berechnet
  • Die Rabattwerte zeigen den angewendeten Mengenrabatt an. Der totalGrossPrice enthält bereits den rabattierten Preis
  • Die Währung wird aus dem Rezept übernommen
  • Das Rezept muss zum angegebenen Kunden gehören, sonst wird ein 404-Fehler zurückgegeben
  • Es werden immer alle fünf Standardreichweiten (30, 60, 90, 120, 180 Tage) zurückgegeben