prestashop

n8n community node for PrestaShop 8 API integration

Package Information

Downloads: 5 weekly / 51 monthly
Latest Version: 1.1.4
Author: itsloogyz

Documentation

n8n-nodes-prestashop

n8n-prestashop-node
Version
License
Node.js

Un nœud communautaire n8n pour l'intégration complète avec l'API PrestaShop 8. Offre toutes les fonctionnalités nécessaires pour automatiser votre boutique PrestaShop sans connaître les détails de l'API.

n8n est une plateforme d'automatisation de workflows avec une licence fair-code.

📋 Table des matières

🚀 Installation

Pour les utilisateurs n8n

  1. Allez dans Settings > Community Nodes
  2. Cliquez sur Install
  3. Entrez n8n-nodes-prestashop dans Enter npm package name
  4. Acceptez les risques : cochez I understand the risks of installing unverified code from a public package
  5. Cliquez sur Install

Le nœud apparaîtra dans la section Nodes de votre interface n8n.

Installation manuelle (développeurs)

npm install n8n-nodes-prestashop

⚙️ Configuration

Prérequis PrestaShop

  1. Activer les webservices dans PrestaShop :

    • Admin → Paramètres avancésWebservice
    • Activez Enable PrestaShop Webservice
  2. Créer une clé API :

    • Cliquez sur Add new webservice key
    • Key description : nom descriptif (ex: "n8n Integration")
    • Status : Enabled
    • Permissions : sélectionnez les ressources nécessaires
    • Générez et copiez la clé

Configuration des credentials n8n

Champ Description Exemple
Shop URL URL complète de votre boutique https://votre-boutique.com
API Key Clé générée dans PrestaShop 1234567890ABCDEF...
API Version Version de l'API (Auto recommandé) Auto
SSL Verification Désactiver pour certificats auto-signés false

📦 Ressources supportées

🛍️ Products (Produits)

  • Create : Créer des produits avec images
  • Get : Récupérer un produit par ID
  • Get All : Lister avec filtres avancés
  • Update : Modifier informations et stock
  • Delete : Supprimer un produit

📋 Orders (Commandes)

  • Create : Créer des commandes
  • Get : Détails d'une commande
  • Get All : Lister avec filtres de date/statut
  • Update : Modifier les informations
  • Update State : Changer le statut de commande

👥 Customers (Clients)

  • Create : Enregistrer nouveaux clients
  • Get : Informations client par ID
  • Get All : Lister avec filtres
  • Update : Modifier profils clients
  • Delete : Supprimer comptes clients

📁 Categories (Catégories)

  • Create : Créer hiérarchies de catégories
  • Get : Informations d'une catégorie
  • Get All : Arbre complet des catégories
  • Update : Modifier structure et contenus
  • Delete : Supprimer catégories

💡 Exemples d'utilisation

Créer un produit avec image

{
  \"resource\": \"product\",
  \"operation\": \"create\",
  \"name\": \"T-shirt Bio\",
  \"additionalFields\": {
    \"price\": \"24.99\",
    \"reference\": \"TSHIRT-BIO-001\",
    \"active\": true,
    \"description\": \"T-shirt en coton biologique\",
    \"description_short\": \"Confortable et écologique\",
    \"categories\": \"2,3\",
    \"images\": {
      \"image_items\": [
        {
          \"image_url\": \"https://exemple.com/tshirt.jpg\",
          \"is_cover\": true
        }
      ]
    }
  }
}

Lister les commandes du jour

{
  \"resource\": \"order\",
  \"operation\": \"getAll\",
  \"filters\": {
    \"filter_items\": [
      {
        \"field\": \"date_add\",
        \"filter_type\": \"greater_equal\",
        \"value\": \"2025-01-01 00:00:00\"
      }
    ]
  },
  \"sort_options\": {
    \"sort_field\": \"date_add\",
    \"sort_direction\": \"DESC\"
  }
}

🔧 Fonctionnalités avancées

Filtrage intelligent

Support complet des filtres PrestaShop :

  • Égalité : equals, not_equals
  • Comparaison : greater, less, greater_equal, less_equal
  • Texte : contains, starts, ends
  • Listes : in_list pour valeurs multiples
  • Plages : range pour intervalles

Pagination et performance

  • Return All : récupération de tous les résultats
  • Limite/Offset : pagination personnalisée
  • Tri : par n'importe quel champ, ASC/DESC

Support multilingue

  • Champs automatiquement adaptés à la langue
  • ID de langue configurable
  • Support CDATA pour contenus riches

Gestion d'erreurs

  • Messages d'erreur explicites en français
  • Codes d'erreur HTTP détaillés
  • Validation des données en amont

🔧 Compatibilité

Composant Version minimum Recommandé
PrestaShop 8.0.0 8.1.x
n8n 0.190.0 Dernière
Node.js 18.10 20.x LTS
TypeScript 5.1 5.x

Navigateurs supportés

  • Chrome 90+
  • Firefox 88+
  • Safari 14+
  • Edge 90+

👨‍💻 Pour les développeurs

Architecture du projet

n8n-prestashop/
├── credentials/          # Configuration credentials
├── nodes/PrestaShop/     # Logique du nœud
│   ├── *.Operations.ts   # Opérations par ressource
│   ├── *.Description.ts  # Interface utilisateur
│   └── GenericFunctions.ts # Fonctions utilitaires
├── dist/                 # Build de production
└── package.json         # Configuration npm

Scripts de développement

# Installation
pnpm install

# Développement avec watch
pnpm run dev

# Build de production
pnpm run build

# Tests de qualité
pnpm run lint
pnpm run format

Contribution

  1. Fork le repository
  2. Créez une branche feature (git checkout -b feature/AmazingFeature)
  3. Committez vos changements (git commit -m 'Add AmazingFeature')
  4. Push sur la branche (git push origin feature/AmazingFeature)
  5. Ouvrez une Pull Request

Tests

# Tests unitaires
npm test

# Tests d'intégration
npm run test:integration

# Coverage
npm run test:coverage

📚 Documentation

🆘 Support

Problèmes courants

❌ Erreur 401 Unauthorized

  • Vérifiez votre clé API dans PrestaShop Admin
  • Assurez-vous que les webservices sont activés
  • Contrôlez l'URL de votre boutique

❌ Erreur 403 Forbidden

  • Vérifiez les permissions de votre clé API
  • Assurez-vous d'avoir les droits sur la ressource demandée

❌ Timeout

  • Réduisez la taille des lots (batch size)
  • Vérifiez la performance de votre serveur PrestaShop

Obtenir de l'aide

📝 Changelog

Version 1.0.3 (Actuelle)

  • ✅ Correction gestion erreurs API PrestaShop 8
  • ✅ Amélioration format XML multilangue
  • ✅ Optimisation upload d'images
  • ✅ Support complet filtres avancés
  • ✅ Documentation CLAUDE.md complète

Version 1.0.2

  • ✅ Support PrestaShop 8.1
  • ✅ Correction gestion des associations
  • ✅ Amélioration validation des données

Version 1.0.1

  • ✅ Corrections mineures
  • ✅ Amélioration messages d'erreur

Version 1.0.0

  • ✅ Release initiale
  • ✅ Support 7 ressources principales
  • ✅ Opérations CRUD complètes
  • ✅ Filtres et pagination
  • ✅ Support multilingue

📄 Licence

MIT - Vous êtes libre d'utiliser, modifier et distribuer ce projet.


Développé avec ❤️ par la communauté n8n

Si ce projet vous aide, n'hésitez pas à lui donner une ⭐ sur GitHub !

Discussion