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
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
customer_id | long | Ja | Die eindeutige ID des Kunden |
recipe_id | long | Ja | Die eindeutige ID des Rezepts |
Header
| Header | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
X-Api-Key | string | Ja | API-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
| Feld | Typ | Beschreibung |
|---|---|---|
priceData | array | Liste der Preise für verschiedene Reichweiten |
currencyName | string | Name der Währung ("EUR", "CHF") |
success | boolean | Gibt an, ob die Anfrage erfolgreich war |
errorMessage | string? | Fehlermeldung, falls ein Fehler aufgetreten ist (ansonsten null) |
PriceData-Felder
| Feld | Typ | Beschreibung |
|---|---|---|
rangeInDays | int | Reichweite in Tagen (30, 60, 90, 120 oder 180) |
totalGrossPrice | double | Gesamtpreis brutto für die angegebene Reichweite (gerundet auf 2 Dezimalstellen) |
discount | double | Rabatt in Prozent. Wurde bereits auf den totalGrossPrice angewendet |
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 - Rezept nicht gefunden oder gehört nicht zum Kunden |
Funktionsweise
- Authentifizierung über API-Schlüssel
- Validierung der Zugriffsberechtigung auf den angegebenen Kunden
- Laden des angegebenen Rezepts und Prüfung, ob es zum Kunden gehört
- Berechnung der optimierten Preise für alle Reichweiten (30, 60, 90, 120, 180 Tage)
- Anwendung der Mengenrabatte basierend auf der jeweiligen Reichweite
- Berücksichtigung von:
- Marktkonfiguration
- Preislisten-Optionen
- Preis-Faktoren
- Artikel-Optimierungen
- 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
totalGrossPriceenthä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