Connecter Shopware 6 à n8n : commandes, clients et stock via l'Admin API

Shopware 6 n'a pas de node n8n natif. Voici comment connecter les commandes, les clients et le stock via l'Admin API et le HTTP Request Node.

n8n propose une icône de node prête à l'emploi pour de nombreux outils populaires, mais pas pour Shopware 6. Cela surprend au premier abord, mais ce n'est pas un obstacle en pratique : Shopware 6 met à disposition avec l'Admin API une interface REST complète et bien documentée, via laquelle tu peux lire et écrire des commandes, des données clients et des niveaux de stock. Dans n8n, c'est le HTTP Request Node générique qui s'en charge, combiné à un identifiant OAuth2 pour le flux Client Credentials de Shopware.

Cet article te montre le chemin complet : de l'intégration dans l'administration Shopware jusqu'à la connexion dans n8n, en passant par des requêtes concrètes pour les commandes, les clients et le stock. Tu gardes ainsi le contrôle total sur chaque requête, car rien n'est caché derrière une boîte noire.

Pourquoi il n'existe pas de node Shopware natif

n8n maintient des nodes natifs pour les services ayant une base d'utilisateurs particulièrement large. Shopware 6 n'en fait pas encore partie, ce qui en pratique change peu de choses : selon la documentation n8n, le HTTP Request Node est conçu exactement pour ce cas, à savoir interroger des données de n'importe quelle application ou service disposant d'une API REST, même sans node dédié. Il peut être utilisé aussi bien comme étape régulière d'un workflow que comme outil pour un agent IA. Pour Shopware, cela signifie : avec quelques HTTP Request Nodes, tu construis ta propre intégration, adaptée exactement à tes processus, sans attendre les fonctionnalités d'un node prêt à l'emploi. Les détails sur la structure et les options se trouvent dans la documentation n8n sur le HTTP Request Node.

Configurer l'accès à l'Admin API de Shopware

Avant que n8n puisse interroger quoi que ce soit, tu as besoin dans Shopware d'une intégration avec ses propres identifiants.

  • Ouvre Paramètres > Système > Intégrations dans l'administration Shopware et crée une nouvelle intégration.
  • Active le commutateur Administrateur, sinon l'intégration n'obtiendra pas de droits suffisants pour les accès en écriture.
  • Note l'Access Key ID et le Secret Access Key. Le secret n'est affiché qu'une seule fois.
  • Ces deux valeurs correspondent plus tard au Client ID et au Client Secret dans ton identifiant n8n.

Selon la documentation officielle, l'Admin API elle-même couvre un accès structuré aux objets métier centraux tels que les produits, les commandes, les clients et les configurations, et est conçue exactement pour la synchronisation de données, les imports et la communication système à système. Un aperçu est fourni par la documentation Shopware sur l'Admin API.

Enregistrer l'identifiant OAuth2 dans n8n

Shopware authentifie les intégrations via le flux OAuth2 Client Credentials : ton client envoie l'Access Key ID et le Secret Access Key au point de terminaison de token et reçoit en retour un jeton Bearer, valable dix minutes selon la documentation. Tu reproduis exactement ce processus dans n8n avec un identifiant générique OAuth2 API, que tu sélectionnes dans le HTTP Request Node.

  • Grant Type : Client Credentials
  • Access Token URL : `https://tonshop.example/api/oauth/token`
  • Client ID : ton Access Key ID
  • Client Secret : ton Secret Access Key
  • Authentication : selon la configuration Shopware, en Body ou en Header, en cas de doute essaie d'abord Body

Avec cet identifiant, n8n récupère automatiquement un nouveau token dès que l'ancien a expiré, tu n'as donc pas à te soucier manuellement de la validité de dix minutes. Les types d'authentification génériques pris en charge au total par le HTTP Request Node, dont Basic Auth, Header Auth et OAuth2, sont décrits dans la documentation n8n sur les identifiants HTTP Request. Le déroulement exact de l'authentification côté Shopware, avec des exemples de requêtes vers `/api/oauth/token`, se trouve dans le guide Shopware sur l'authentification et les requêtes API.

Récupérer et traiter les commandes

Pour les commandes, tu utilises le plus souvent les points de terminaison de recherche de l'Admin API, par exemple `POST /api/search/order`. Contrairement à de nombreuses API REST, tu n'envoies pas les critères de filtrage ici en tant que paramètres de requête, mais en tant que corps JSON avec une structure Criteria.

  • Filtre par exemple par statut de commande ou par date de création, pour ne récupérer que les commandes nouvelles ou ouvertes.
  • Charge directement via `associations` les clients, les lignes et les adresses de livraison, plutôt que de les interroger séparément pour chaque commande.
  • Contrôle le volume de résultats via `limit` et `page`, afin qu'un workflow n8n ne rencontre pas de timeouts même avec de nombreuses commandes.
  • Un Schedule Trigger Node qui s'exécute toutes les 15 minutes, combiné à cet appel HTTP Request, suffit largement pour la plupart des scénarios de synchronisation vers un CRM ou une gestion des stocks.

Pour les entreprises qui ne souhaitent pas maintenir elles-mêmes cette intégration, NordFlux construit également ce type de workflows de synchronisation des commandes en projet à prix fixe, dans le cadre du conseil n8n.

Maintenir les données clients synchronisées

Tu interroges les données clients de manière analogue via `POST /api/search/customer`. Le filtrage par adresse e-mail ou par numéro de client est particulièrement utile ici, si tu veux vérifier si un contact provenant d'un autre système existe déjà dans Shopware, avant de le créer via `POST /api/customer` ou de le mettre à jour via `PATCH`. Veille à distinguer systématiquement dans tes workflows n8n entre création et mise à jour, par exemple avec un node IF avant l'accès en écriture proprement dit, afin de ne pas créer de doublons de fiches clients.

Ajuster le stock

Pour le stock, tu lis et écris le champ `stock` directement sur l'entité produit via `PATCH /api/product/{id}`. Si tu veux répercuter dans Shopware des changements de stock provenant d'un système de gestion des stocks externe, un simple HTTP Request Node avec cette route suffit. Inversement, si une nouvelle commande Shopware doit réduire le stock dans un système externe, un déclencheur basé sur des événements est plus intéressant qu'une interrogation constante.

Déclencheur plutôt qu'interrogation constante : les événements Shopware via webhook

Interroger régulièrement l'Admin API fonctionne, mais c'est inutilement lent si tu veux réagir immédiatement à des événements individuels comme une nouvelle commande. Shopware propose pour cela le Flow Builder dans l'administration : tu y choisis un déclencheur comme "Commande créée", tu ajoutes une action webhook et tu indiques comme URL cible l'adresse webhook de ton workflow n8n. Les détails de configuration se trouvent dans la documentation Shopware sur les actions webhook dans le Flow Builder.

Côté n8n, tu reçois cela avec le Webhook Node, qui selon la documentation prend en charge les méthodes HTTP GET, POST, PUT, PATCH, DELETE et HEAD, et fait la distinction entre une URL de test pour le développement et une URL de production après l'activation du workflow. Tu traites ainsi les nouvelles commandes, les inscriptions clients ou les changements de statut au moment où ils se produisent, au lieu de ne les remarquer qu'à la prochaine requête planifiée.

Questions fréquentes

Existe-t-il entretemps un node Shopware natif pour n8n ?

Pas pour l'instant. n8n ne couvre pas Shopware via son propre node, c'est pourquoi le HTTP Request Node générique est la voie prévue. Ce n'est pas une solution de contournement de seconde classe, mais l'approche recommandée par n8n lui-même pour les API REST sans node dédié.

Comment me connecter avec n8n à l'Admin API de Shopware ?

Tu crées dans Shopware, sous Paramètres, Système, Intégrations, une intégration avec des droits administrateur, puis tu enregistres l'Access Key ID et le Secret Access Key comme Client ID et Client Secret dans un identifiant OAuth2 API générique dans n8n. Comme Grant Type, tu choisis Client Credentials, et comme URL de token le point de terminaison `/api/oauth/token` de ta boutique.

À quelle fréquence le token d'accès expire-t-il, et dois-je m'en occuper ?

Selon la documentation Shopware, le token est valable dix minutes. n8n le renouvelle automatiquement en arrière-plan via l'identifiant OAuth2, dès qu'une requête avec un token expiré devrait être exécutée. Pour toi en tant que créateur de workflow, rien ne change au quotidien.

Comment obtenir les données de commande en temps réel plutôt que par interrogation constante ?

Via le Flow Builder de Shopware, tu peux envoyer des événements comme une nouvelle commande directement vers une URL webhook, que reçoit un workflow n8n avec le Webhook Node. Cela remplace le polling régulier par de vraies notifications immédiates, tout en réduisant le nombre d'appels API.

Puis-je aussi écrire les niveaux de stock avec la même intégration, pas seulement les lire ?

Oui. Avec les mêmes identifiants et un HTTP Request Node utilisant la méthode PATCH, tu peux mettre à jour directement le champ `stock` sur l'entité produit. La condition est que l'intégration dans Shopware ait été créée avec des droits administrateur, car des droits de lecture seule ne suffisent pas pour les accès en écriture.

À propos de NordFlux

NordFlux UG (haftungsbeschränkt)

NordFlux construit des employés numériques pour les organisations : des automatisations et des agents KI qui prennent en charge le travail répétitif. Vous gardez le contrôle.

En savoir plus sur nous
Analyse initiale gratuite

Des questions concrètes sur l’automatisation ou l’IA ?

Lors d’une analyse initiale gratuite, nous discutons directement de votre cas. Sans engagement.

Shopware 6 dans n8n : commandes, clients, stock