Manuel : installer le module de synchronisation des produits et des stocks entre deux boutiques Prestashop via WebService

Publié le 05 octobre 2011 par Magavenue

Cet article est le manuel du module disponible sur notre boutique ici.
Il sera constamment mis à jour directement sur le blog.
Le fonctionnement du module est le suivant :
Une boutique Prestashop va servir d'hôte. Elle doit être obligatoirement sous une version de Prestashop supérieure ou égale à 1.4.3.
Une ou plusieurs boutique Prestashop vont alors se connecter à la boutique hôte, pour télécharger les produits et synchroniser le stock (elle(s) doive(nt) forcément être sous une version de Prestashop supérieur ou égale à 1.3).
Le module peut-être utilisé uniquement pour la synchronisation du stock, ou également pour importer les produits complets (images, caractéristiques, attributs, déclinaisons).

Configuration du webservice de la boutique Prestashop hôte

Activation du Webservice sous Prestashop : Rendez-vous dans votre panneau administrateur. Puis dans l'onglet " Outils " (ou " Préférences " suivant votre version de Prestashop), sous onglet " Service web ". En bas de page, cliquez sur " oui " en face de " Activer le service Web ". Puis cliquez sur " Enregistrer ".
Création de la clef : les boutiques qui souhaitent se connecter sur l'hôte auront besoin d'une clef. Il faut donc la créer en cliquant sur " nouveau ".
Remplissez les champs de la manière suivante :
Cliquez sur " générez " en face de " Clé " et dans les cases à cocher, choisissez : " Voir (GET) et Aperçu(HEAD) " pour les valeurs suivantes : " categories ", " combinations ", " image_types ", " images ", " manufacturers ", " product_feature_values ", " product_features ", " product_option_values ", " product_options ", " products ", " suppliers ", " tags ".

Installation du module sur une boutique distante

Le module va interférer dans votre catalogue produit et dans vos stocks ! Avant toute chose, pensez à faire une sauvegarde complète de votre base de données !
1 / Transférer le module sur votre boutique en ligne. Pour cela copier le dossier "syncproductwbmagavenue" (vérifiez bien que les fichiers sont à l'intérieur de ce dossier et non dans un sous-dossier) dans le répertoire "modules" de votre installation de Prestashop (vous pouvez utiliser un client FTP comme FileZilla pour cela).
2 / Installer le module sur votre boutique en ligne. Rendez-vous sur la partie administration, onglet "Modules", cliquez sur "Outils de migration" et en face de " Synchronisation produits Web-service ", cliquez sur "Installer".
3 / Cliquez ensuite sur "Configurer".

Configuration du module sur une boutique distante

1 / Pour le champ " Clef API ", entrez la clé que vous avez généré sur la boutique hôte.
2 / Pour le champ " Adresse de la boutique ", entrez l'adresse de la boutique hôte sous le format https://nomdedomaine.com
3 / Cliquez sur " mettre à jour ".

Configuration de la répartition des catégories

Cette étape doit-être obligatoirement réalisée avant un éventuel import. Elle va permettre de configurer la répartition des produits du site hôte vers la boutique en fonction des catégories.
Il se base sur la catégorie par défaut du produit.
Exemple, si le produit est dans la catégorie A sur le site hôte.
Vous avez configuré le module, pour que tous les produits dans la catégorie A arrive dans la catégorie B du catalogue de la boutique distante. Alors, après import, le produit sera répertorié dans la catégorie B de votre boutique distante.
1 / cliquez sur " Configurer la répartition entre les catégories ". Le module va alors se connecter sur le site hôte, pour récupérer la liste des catégories.
Une fois chargée, en bas de page, vous aurez un tableau contenant dans la colonne de gauche, les catégories du site hôte. Et à droite, une liste déroulante correspondant à chacune de vos catégories.
Choisissez pour chaque catégorie de la boutique hôte, la catégorie du catalogue que vous souhaitez lui attribuer. Si vous ne souhaitez pas importer les produits de cette catégorie, sélectionnez " Ne pas importer ".
2 / Une fois que l'ensemble de vos catégories sont définies, cliquez sur " Mettre à jour ".

Premier import des produits

Le module va interférer dans votre catalogue produit et dans vos stocks ! Avant toute chose, pensez à faire une sauvegarde complète de votre base de données !
Pour réaliser un premier import :
1/ cochez la case " Mettre à jour les produits ".
2/ cochez la case " Copier les images et caractéristiques ".
3/ cliquez sur " Télécharger les produits ".
L'import va alors commencer à se dérouler. Suivant le nombre de produit, cette étape peut-être très longue.
En fonction des capacités de votre hébergement, il se peut que système n'ait pas pu importer tous les produits. Vérifiez dans un premier temps qu'il ne tourne pas en tâche de fond (donc qu'il n'y a bien aucun produit qui s'importe).
Si ce n'est pas le cas, réaliser un second import.

Import des produits

1/ décochez la case " Mettre à jour les produits ". Seul les produits non importés seront alors transférés, utile pour les petits hébergements.
2/ cochez la case " Copier les images et caractéristiques ".
3/ cliquez sur " Télécharger les produits ".

Import partiel des produits

Si vous ne souhaitez pas importer les images et caractéristiques (par exemple, vous ne souhaitez que mettre à jour les prix).
1/ cochez la case " Mettre à jour les produits ". Seul les produits non importés seront alors transférés, utile pour les petits hébergements.
2/ décochez la case " Copier les images et caractéristiques ".
3/ cliquez sur " Télécharger les produits ".

Mise à jour du stock

Le stock sera automatiquement mis à jour depuis le site hôte lorsqu'un produit sera visionné, et pendant le processus de commande (mise au panier, accès à la page des moyens de paiement).
Vous pouvez également déclencher manuellement une mise à jour des stock depuis la configuration du module :
1/ cochez la case " Mettre à jour les produits ". Seul les produits non importés seront alors transférés, utile pour les petits hébergements.
2/ décochez la case " Copier les images et caractéristiques ".
2/ cochez la case " Synchroniser le stock uniquement ".
3/ cliquez sur " Télécharger les produits ".

Modifier la correspondance des produits

Chacun des produits sur le site local a un ID unique propre à la boutique locale.
Chacun des produits sur le site hôte a un ID unique propre à la boutique hôte.
Pour que le module fonctionne, il établit une correspondance entre les deux boutiques.
Si vous avez déjà des produits que vous souhaitez synchroniser avec le site hôte sans importer le produit, vous devez donc entrer cette correspondance à la main.
Dans la configuration du module, cliquez sur " Changer la correspondance entre les produits synchronisés ".
Vous aurez alors un formulaire :
1/ Entrez l'id du produit de la boutique local
2/ Entrez l'id du produit de la boutique hôte
(A noter : dans le cas d'insertion de nombreuse valeur, le plus simple est de faire un import directement via SQL, en entrant les valeurs dans la table " syncproductwb_products " ).
Enfin un tableau récapitulant l'ensemble de ces correspondances est disponible, vous pouvez donc supprimer certaines relations.

Tâches automatiques pour la synchronisation

Deux fichiers sont disponibles dans le module afin d'automatiser les étapes de gestion.
Appelez le fichier (manuellement ou par une tâche automatique type CRON) cronOnlyStock.php, pour mettre à jour le stock uniquement.
Appelez le fichier cronProducts.php, pour télécharger les nouveaux produits.