Shopware 6 in n8n anbinden: Bestellungen, Kunden und Lager per Admin API
Shopware 6 hat keinen nativen n8n-Node. So bindest du Bestellungen, Kunden und Lager per Admin API und HTTP Request Node an.
n8n bringt für viele populäre Tools ein fertiges Node-Icon mit, für Shopware 6 aber nicht. Das überrascht auf den ersten Blick, ist in der Praxis aber kein Hindernis: Shopware 6 stellt mit der Admin API eine vollständige, gut dokumentierte REST-Schnittstelle bereit, über die du Bestellungen, Kundendaten und Lagerbestände lesen und schreiben kannst. In n8n übernimmt dafür der generische HTTP Request Node die Arbeit, kombiniert mit einem OAuth2-Credential für den Client-Credentials-Flow von Shopware.
Dieser Artikel zeigt dir den kompletten Weg: von der Integration in der Shopware-Administration über die Anmeldung in n8n bis zu konkreten Abfragen für Bestellungen, Kunden und Lagerbestand. Du behältst dabei die volle Kontrolle über jeden einzelnen Request, weil nichts hinter einer Blackbox versteckt ist.
Warum es keinen nativen Shopware-Node gibt
n8n pflegt native Nodes für Dienste mit besonders breiter Nutzerbasis. Shopware 6 gehört bislang nicht dazu, was in der Praxis aber wenig ausmacht: Laut n8n-Dokumentation ist der HTTP Request Node genau für diesen Fall gedacht, nämlich um Daten aus jeder App oder jedem Dienst mit REST-API abzufragen, auch ohne dedizierten Node. Er lässt sich sowohl als regulärer Workflow-Schritt als auch als Tool für einen KI-Agenten einsetzen. Für Shopware bedeutet das: Du baust dir mit wenigen HTTP-Request-Nodes eine eigene, exakt auf deine Prozesse zugeschnittene Anbindung, ohne auf Funktionen eines fertigen Nodes zu warten. Details zu Aufbau und Optionen findest du in der n8n-Dokumentation zum HTTP Request Node.
Zugang zur Shopware Admin API einrichten
Bevor n8n überhaupt etwas abfragen kann, brauchst du in Shopware eine Integration mit eigenen Zugangsdaten.
- Öffne in der Shopware-Administration Einstellungen > System > Integrationen und lege eine neue Integration an.
- Aktiviere den Schalter Administrator, sonst erhält die Integration keine ausreichenden Rechte für Schreibzugriffe.
- Notiere dir Access Key ID und Secret Access Key. Der Secret wird nur einmal angezeigt.
- Diese beiden Werte entsprechen später Client ID und Client Secret in deinem n8n-Credential.
Die Admin API selbst deckt laut offizieller Dokumentation strukturierten Zugriff auf zentrale Geschäftsobjekte wie Produkte, Bestellungen, Kunden und Konfigurationen ab und ist genau für Datensynchronisation, Importe und System-zu-System-Kommunikation gedacht. Einen Überblick liefert die Shopware-Dokumentation zur Admin API.
OAuth2-Credential in n8n hinterlegen
Shopware authentifiziert Integrationen über den OAuth2-Client-Credentials-Flow: Dein Client sendet Access Key ID und Secret Access Key an den Token-Endpunkt und bekommt dafür ein Bearer-Token zurück, das laut Dokumentation zehn Minuten gültig ist. Genau diesen Ablauf bildest du in n8n mit einem generischen OAuth2 API-Credential ab, das du beim HTTP Request Node auswählst.
- Grant Type: Client Credentials
- Access Token URL: `https://deinshop.example/api/oauth/token`
- Client ID: deine Access Key ID
- Client Secret: dein Secret Access Key
- Authentication: je nach Shopware-Setup als Body oder Header, im Zweifel zuerst Body probieren
n8n holt sich mit diesem Credential automatisch ein neues Token, sobald das alte abgelaufen ist, du musst dich um die Zehn-Minuten-Gültigkeit also nicht manuell kümmern. Welche generischen Auth-Typen der HTTP Request Node insgesamt unterstützt, darunter Basic Auth, Header Auth und eben OAuth2, beschreibt die n8n-Dokumentation zu den HTTP Request Credentials. Den genauen Ablauf der Shopware-seitigen Authentifizierung, inklusive Beispiel-Requests gegen `/api/oauth/token`, findest du im Shopware-Leitfaden zu Authentifizierung und API-Requests.
Bestellungen abrufen und weiterverarbeiten
Für Bestellungen nutzt du am häufigsten die Such-Endpunkte der Admin API, etwa `POST /api/search/order`. Anders als bei vielen REST-APIs schickst du die Filterkriterien hier nicht als Query-Parameter, sondern als JSON-Body mit einer Criteria-Struktur.
- Filtere zum Beispiel nach Bestellstatus oder Erstellungsdatum, um nur neue oder offene Bestellungen zu holen.
- Lade über `associations` gleich Kunden, Positionen und Lieferadressen mit, statt für jede Bestellung einzeln nachzufragen.
- Steuere die Ergebnismenge über `limit` und `page`, damit ein n8n-Workflow auch bei vielen Bestellungen nicht an Timeouts scheitert.
- Ein Schedule-Trigger-Node, der alle 15 Minuten läuft, kombiniert mit diesem HTTP-Request-Aufruf, reicht für die meisten Sync-Szenarien in Richtung CRM oder Warenwirtschaft völlig aus.
Für Unternehmen, die diese Anbindung nicht selbst pflegen möchten, baut NordFlux solche Order-Sync-Workflows auch als Festpreis-Projekt im Rahmen der n8n-Beratung.
Kundendaten synchron halten
Kundendaten fragst du analog über `POST /api/search/customer` ab. Praktisch ist hier vor allem die Filterung nach E-Mail-Adresse oder Kundennummer, wenn du prüfen willst, ob ein Kontakt aus einem anderen System bereits in Shopware existiert, bevor du ihn per `POST /api/customer` neu anlegst oder per `PATCH` aktualisierst. Achte darauf, in deinen n8n-Workflows konsequent zwischen Anlegen und Aktualisieren zu unterscheiden, etwa mit einem IF-Node vor dem eigentlichen Schreibzugriff, damit du keine doppelten Kundendatensätze erzeugst.
Lagerbestand abgleichen
Für den Lagerbestand liest und schreibst du das Feld `stock` direkt am Produkt-Entity über `PATCH /api/product/{id}`. Willst du Bestandsänderungen aus einem externen Warenwirtschaftssystem nach Shopware spiegeln, reicht ein einfacher HTTP-Request-Node mit dieser Route. Umgekehrt, wenn eine neue Shopware-Bestellung den Bestand in einem externen System reduzieren soll, lohnt sich statt ständigem Abfragen ein ereignisbasierter Trigger.
Trigger statt Dauerabfrage: Shopware-Ereignisse per Webhook
Regelmäßiges Pollen der Admin API funktioniert, ist aber unnötig träge, wenn du auf einzelne Ereignisse wie eine neue Bestellung sofort reagieren willst. Shopware bietet dafür den Flow Builder in der Administration: Du wählst dort einen Auslöser wie "Bestellung erstellt", ergänzt eine Webhook-Aktion und trägst als Ziel-URL die Webhook-Adresse deines n8n-Workflows ein. Details zur Konfiguration stehen in der Shopware-Dokumentation zu Webhook-Aktionen im Flow Builder.
Auf n8n-Seite nimmst du den Webhook-Node entgegen, der laut Dokumentation die HTTP-Methoden GET, POST, PUT, PATCH, DELETE und HEAD unterstützt und zwischen einer Test-URL für die Entwicklung und einer Produktions-URL nach Aktivierung des Workflows unterscheidet. So verarbeitest du neue Bestellungen, Kundenregistrierungen oder Statuswechsel in dem Moment, in dem sie passieren, statt sie erst bei der nächsten geplanten Abfrage zu bemerken.
Häufige Fragen
Gibt es inzwischen doch einen nativen Shopware-Node für n8n?
Stand jetzt nicht. n8n deckt Shopware nicht über einen eigenen Node ab, weshalb der generische HTTP Request Node der vorgesehene Weg ist. Das ist kein Workaround zweiter Klasse, sondern der von n8n selbst empfohlene Ansatz für REST-APIs ohne dedizierten Node.
Wie melde ich mich mit n8n an der Shopware Admin API an?
Du legst in Shopware unter Einstellungen, System, Integrationen eine Integration mit Administrator-Rechten an und hinterlegst Access Key ID sowie Secret Access Key als Client ID und Client Secret in einem generischen OAuth2-API-Credential in n8n. Als Grant Type wählst du Client Credentials und als Token-URL den Endpunkt `/api/oauth/token` deines Shops.
Wie oft läuft das Zugriffstoken ab, und muss ich mich darum kümmern?
Das Token ist laut Shopware-Dokumentation zehn Minuten gültig. n8n erneuert es über das OAuth2-Credential automatisch im Hintergrund, sobald ein Request mit abgelaufenem Token ausgeführt würde. Für dich als Workflow-Ersteller ändert sich dadurch im Alltag nichts.
Wie bekomme ich Bestelldaten in Echtzeit statt per Dauerabfrage?
Über den Flow Builder in Shopware kannst du Ereignisse wie eine neue Bestellung direkt an eine Webhook-URL senden, die ein n8n-Workflow mit dem Webhook-Node entgegennimmt. Das ersetzt regelmäßiges Polling durch echte, sofortige Benachrichtigungen und reduziert gleichzeitig die Anzahl der API-Aufrufe.
Kann ich mit derselben Anbindung auch Lagerbestände schreiben, nicht nur lesen?
Ja. Mit denselben Zugangsdaten und einem HTTP-Request-Node mit PATCH-Methode kannst du das Feld `stock` am Produkt-Entity direkt aktualisieren. Voraussetzung ist, dass die Integration in Shopware mit Administrator-Rechten angelegt wurde, da reine Leserechte für Schreibzugriffe nicht ausreichen.
NordFlux UG (haftungsbeschränkt)
NordFlux baut Organisationen digitale Mitarbeiter: Automatisierungen und KI-Agenten, die wiederkehrende Arbeit abnehmen. Sie behalten die Kontrolle.
Konkrete Fragen zu Automatisierung oder KI?
In der kostenlosen Erstanalyse besprechen wir Ihren Fall direkt. Unverbindlich.