Skip to main content
Mit dem $wsInventory-Modul lesen Sie Lagerbestände und Verfügbarkeiten von Produkten sowie die Reservierungszeit eines Warenkorb-Eintrags. Typische Anwendungsfälle sind Ampel-Anzeigen (grün/gelb/rot), Verfügbarkeitshinweise auf Produktseiten und der ablaufende Reservierungs-Timer im Warenkorb. Auf dieser Seite geht es um das Lesen und Anzeigen von Bestandsdaten. Eine Reservierung kann über die Aktion InventoryReserve ($wsActions) verlängert werden. Die Storefront-API Lagerbestand behandelt serverseitige Bestandsdaten.

Grundkonzept

$wsInventory liefert zwei verschiedene Datenpunkte:

Zuerst auf aktive Lagerverwaltung prüfen

Die Bestandsdaten sind nur aussagekräftig, wenn für das Produkt die Lagerverwaltung aktiv ist. Prüfen Sie deshalb immer zuerst active, bevor Sie Stückzahl, Ampel oder Lieferstatus anzeigen, ansonsten zeigen Sie Werte an, die für dieses Produkt gar nicht gepflegt werden.

Ampel-Logik

state fasst die Verfügbarkeit als Ampel zusammen: green (ausreichend vorrätig), yellow (wenige Stück) und red (ausverkauft oder sehr knapp). Damit zeigen Sie dem Kunden auf einen Blick, wie es um die Lieferbarkeit steht, ohne selbst Schwellen zu berechnen.

Reservierungs-Lebenszyklus

Wird ein Produkt in den Warenkorb gelegt, ist es für eine bestimmte Zeit reserviert. loadReservation() liefert die verbleibende Zeit in Sekunden (duration). Läuft sie ab (duration <= 0), kann der Kunde über die Aktion InventoryReserve erneut reservieren.

Modulübersicht

Beispiel / Ausschnitt über $wsInventory
JSON-Ausgabe
Anmerkung: "ƒ()" kennzeichnet eine Funktion. Methoden in der Übersicht

Templates

Bestands- und Verfügbarkeitsinformationen werden typischerweise dort geladen, wo Produkte erscheinen: Startseite, Kategorieliste, Suchergebnisse, Produktdetailseite und Warenkorb.

Variablen

Für $wsInventory stehen keine eigenen Variablen zur Verfügung. Die Daten werden über die Methoden geladen.

Methoden

$wsInventory.load()

Lädt die Lagerbestandsdaten eines Produkts. Signatur
$wsInventory.load(productId)
Rückgabe
map – Lagerbestandsdaten (siehe Tabelle).
Parameter Rückgabewerte

$wsInventory.loadReservation()

Lädt die Reservierungsdaten eines Warenkorb-Eintrags. Signatur
$wsInventory.loadReservation(basketItemId)
Rückgabe
map – Reservierungsdaten.
Parameter Rückgabewerte

Aktionen

$wsInventory selbst stellt keine Aktionen bereit. Eine abgelaufene Reservierung wird über die $wsActions-Aktion InventoryReserve erneuert (siehe Beispiel).

Beispiele

Verfügbarkeit als Ampel anzeigen

Prüft zuerst active und zeigt dann den Ampelstatus farbig an.
Ergebnis
Bei aktiver Lagerverwaltung erscheint je nach state ein grüner, gelber oder roter Hinweis.

Reservierungszeit als Countdown anzeigen

Rechnet die Sekunden aus duration in Minuten und Sekunden um.
Ergebnis
Solange die Reservierung läuft, sieht der Kunde die verbleibende Zeit. Danach den Ablauf-Hinweis.

Reservierung verlängern

Ist die Reservierung abgelaufen, bietet dieses Beispiel über die Aktion InventoryReserve eine Neureservierung an.
Ergebnis
Bei abgelaufener Reservierung erscheint ein „Neu reservieren”-Button. Nach erfolgreicher Aktion die Bestätigung.

  • $wsActions – stellt die Aktion InventoryReserve zum Verlängern einer Reservierung bereit.
  • $wsBasket – liefert die Warenkorb-Einträge, deren ID loadReservation() erwartet.
  • $wsStores – Filialfinder, relevant für die StorageID bei Click & Collect.
  • Storefront-API Lagerbestand – serverseitiger Zugriff auf Bestandsdaten.