In diesem Beitrag zeigen wir dir, wie du unsere API nutzen kannst, um verschiedene Lager- und Bestandsmanagement-Aufgaben zu automatisieren. Unsere API bietet dir flexible Möglichkeiten, um Bestellungen zu versenden, Lagerbestände zu verwalten und Produktinformationen abzurufen.
Hinweis: Die hier beschriebene REST-API soll langfristig durch die neue GraphQL-API abgelöst werden. Für Shopware 6 ist die GraphQL-API noch nicht freigeschaltet, bis dahin nutzt du die hier beschriebene REST-API.
API-Dokumentation und Postman-Collection
Um dir den Einstieg zu erleichtern, findest du anbei eine Postman-Collection. Postman ist ein kostenloses Tool für API-Entwicklung und -Testing, das Entwicklern ermöglicht, API-Anfragen zu erstellen und zu testen. Diese enthält detaillierte Informationen zu allen verfügbaren Endpunkten, Anfrageformaten und erwarteten Antworten. In der Collection befinden sich auch Beispielanfragen, die du in deiner Testumgebung ausführen kannst.
Den Downloadlink zur Collection findest du am Ende dieses Beitrags. Diese kannst du wie hier beschrieben in Postman importieren.
Um die REST-API über die Postman-Collection anzusprechen, legst du in der Shopware Admin eine neue Integration an. Die dabei erzeugte ID und den Sicherheitsschlüssel trägst du in der Postman-Collection ein.
Verfügbare Endpunkte
Unsere API für Lager- und Bestandsmanagement bietet dir aktuell Zugriff auf eine Reihe von Endpunkten, die speziell für die Optimierung von Lager- und Bestandsprozessen entwickelt wurden. Hier ist eine Übersicht der verfügbaren Endpunkte:
POST Ship order completely: Dieser Endpunkt ermöglicht es dir, eine Bestellung als vollständig versendet zu markieren. Dabei werden die Bestände der Produkte aus der Bestellung ausgebucht.
POST Move stock to and from stock locations: Mit diesem Endpunkt kannst du Bestände zwischen verschiedenen Lagerorten verschieben. Über diesen Endpunkt können auch Ein- und Auslagerungen vorgenommen werden.
POST Get all stocks by bin location id: Dieser Endpunkt liefert dir eine Liste aller Bestände, sortiert nach der ID des Lagerplatzes, die sich auf spezifischen Lagerplätzen befinden.
POST Get all stocks by bin location code: Ähnlich wie der vorherige Endpunkt, liefert dir dieser Endpunkt eine Liste aller Bestände auf einem Lagerplatz, jedoch erfolgt die Suche & Sortierung hier anhand des Lagerplatz-Codes.
GET Get product stock: Mit diesem Endpunkt kannst du den aktuellen Bestand eines bestimmten Produkts abfragen.
PATCH Update total product stock: Dieser Endpunkt ermöglicht es dir, den verfügbaren Bestand eines Produkts zu aktualisieren. Auf Basis des eingegebenen Bestands werden entweder Ein- oder Auslagerungen nach unserer Buchungsstrategie vorgenommen.
Bestände aus externen Systemen buchen
Soll ein externes System wie ein Fulfillment-Dienstleister oder ein Kassensystem Bestände in Pickware ändern, nutze dafür die Pickware-Endpunkte. Zwei naheliegende Wege führen nicht zur gewünschten Bestandsbuchung:
Lieferstatus auf Versandt setzen: Das ändert nur den Status. Ausgebucht wird nur beim Versand über den Button Bestellung versenden an der Bestellung, über die WMS App oder über den Endpunkt POST Ship order completely.
Shopware-Feld
stockschreiben: Schreibt ein externes System über die Shopware-API in das Feldstock, setzt Pickware den verfügbaren Bestand auf diesen Wert und bucht dafür Bestand im Lager ein oder aus.
Für Bestandsänderungen aus externen Systemen nutze stattdessen POST Move stock to and from stock locations (/api/_action/pickware-erp/stock/move). Gib als source den Wert unknown an. Als Ziel gibst du destination.binLocation.id an, für den Standardlagerplatz eines Lagers destination.warehouse.id.
Achtung: Generische Endpunkte wie pickware-erp-goods-receipt sind nicht zum Anlegen oder Löschen gedacht. Folgeprozesse wie Preisermittlung und Bestandsbuchung laufen dabei nicht korrekt.
Support und Feedback
Solltest du Fragen haben oder Unterstützung bei der Nutzung der API benötigen, steht dir unser Support-Team gerne zur Verfügung. Zögere nicht, uns zu kontaktieren, falls du Vorschläge oder Feedback zur Verbesserung unserer API hast. Hier gelangst du zum Kontaktformular.
