Option Connecteur Oxygène PrestaShop

Table des matières

1. Présentation

Prérequis.

2. Fonctionnement général

Règles de gestion

Données à gérer sur Oxygène

Données à gérer sur PrestaShop

3. Installation

Installation d’Oxygène

Installation de PrestaShop

Installation du connecteur

4. Configuration

Configuration d’Oxygène

Répertoires

Configuration de PrestaShop

Configuration du connecteur

5. Utilisation

Utilisation depuis Oxygène

Les articles

Le Journal de synchronisation web

Utilisation depuis PrestaShop

Utilisation du connecteur

Groupe Synchronisation manuelle

Paramètres

Barre de statut

6. Détails techniques du fonctionnement & exemple

Etape 1 : côté Oxygène : export

Etape 2 : Côté Connecteur : import dans PrestaShop

Etape 3 : Côté Connecteur : export depuis PrestaShop

Etape 4 : Reprise côté Oxygène : import

7. Annexe : Champs synchronisés

Oxygène vers PrestaShop

PrestaShop vers Oxygène

1. Présentation

Le connecteur PrestaShop-Oxygène permet de récupérer toutes les commandes passées sur votre site marchand PrestaShop et de les créer automatiquement dans votre solution de gestion Oxygène.

PrestaShop

Prérequis

 

·         La Gestion Commerciale Oxygène

o   A partir de la version 8.07

o   Achat de l’option « Connecteur Web »

o   Installation du connecteur en résidant

o   Installé sur ordinateur avec accès internet

 

·         PrestaShop

o   A partir de la version 1.5.3

o   Installé sur votre serveur web (Sous Linux ou Windows avec Apache, MySQL et PHP.)

o   Webservice activé (en lecture et écriture sur toutes les tables)

 

2. Fonctionnement général

Lorsqu’un article est créé ou modifié dans Oxygène, il est exporté.

Un connecteur, programme permanent et disponible dans la zone de notification de Windows, s’occupe de créer les articles exportés dans PrestaShop.

De plus, il  se connecte régulièrement à PrestaShop afin de vérifier la présence de nouvelles commandes. Si c’est le cas, il exporte ces commandes avec les informations complémentaires qui sont client, adresses, produits, moyen de paiement, etc.

Règles de gestion

Bien que la plupart des éléments soient modifiables à la fois dans PrestaShop et Oxygène et qu’ils soient synchronisés dans les 2 sens, il faut garder à l’esprit que chaque élément doit être géré prioritairement par une seule solution. Par exemple les articles seront gérés sur Oxygène. Sur PrestaShop, on se contentera d’ajouter des informations mineures telles que les descriptions pour les clients et les photos.

Les commandes, une fois importées sur Oxygène, ne sont plus synchronisées. Les documents sur chaque solution de gestion vivent séparément. Il en est de même pour les règlements

Le système de gestion des factures doit être décidé puis respecté. Par exemple, si on utilise la facture PrestaShop pour les envois aux clients ou les réimpressions, il ne faut pas modifier les factures du côté Oxygène … sauf pour les règlements.

Données à gérer sur Oxygène

·         Les articles.

·         Les données liées aux articles : familles, les taux de TVA, les tarifs et les stocks.

Données à gérer sur PrestaShop

·         Les clients.

·         Les adresses des clients.

·         Les commandes.

·         Les données liées aux commandes : modes de paiement, modes de transports, frais de port.


 

3. Installation

Installation d’Oxygène

Oxygène version 8.07 minimum est nécessaire avec l’application Gestion Commerciale.

Il suffit d’ajouter le numéro de licence correspondant à l’option pour l’activer (code de licence : GESCOM8X-WEB).

En production, il est préférable de l’installer sur un poste à part ou de lancer une session Oxygène dédiée à la synchronisation. En effet, la création de commande et des différentes données liées provoque de forts ralentissements dans la session; ce qui est contre-productif pour l’utilisateur.

Installation de PrestaShop

Installez PrestaShop normalement avec une version 1.5.3 minimum. Vous pouvez consulter la documentation officielle.

Ensuite, activez le webservice (Menu Paramètres). Vérifiez les alertes de configurations proposées automatiquement. Le protocole SSL (pour le https) n’est obligatoire que pour un site en production.

Attention : l’activation du webservice est une condition « sine qua non » du fonctionnement du connecteur. Or certains services hébergeant des PrestaShop prêts à l’emploi désactivent cette fonctionnalité. Par exemple, le service PrestaBox ne propose pas à l’heure actuelle le webservice.

Installation du connecteur

Le connecteur est peut-être déjà installé avec votre Oxygène : vérifiez que vous avez dans le menu Démarrer, le raccourci Connecteur Oxygène PrestaShop dans le dossier MEMSOFT – Les solutions de gestion Oxygène.

Sinon installez OxygenePrestashopSetup.msi.

Le connecteur possède un raccourci dans le menu Démarrer. Lancez-le. Il est disponible à tout moment depuis la zone de notification Windows :

4. Configuration

Configuration d’Oxygène

Allez dans la Gestion Commerciale, menu des Ventes puis cliquez sur Journal de synchronisation web.

Fréquence : intervalle en secondes entre 2 synchronisations. Par exemple 120 pour une synchronisation toute les 2 minutes.

Email : saisissez ici votre adresse email afin de recevoir les alertes sur les erreurs de synchronisations. En cas d’erreur, Oxygène n’affiche pas de message d’erreur directement mais sauvegarde les fichiers incriminés et continue les synchronisations. Vous retrouverez l’historique complet dans le journal.

Ouvrir le répertoire : ouvre l’Explorateur sur le répertoire racine pour manipuler les fichiers transférés.

Répertoires

Un répertoire racine sert d’intermédiaire pour transférer les fichiers entre Oxygène et le connecteur. Son chemin est fixe (non configurable) :

[Chemin vers Oxygène]\OXYPP\GESCOM\[dossier].$SO\WEB\

Quatre sous-répertoires servent pour les :

-         « IN » : fichiers à importer dans Oxygène (sens PrestaShop -> Oxygène)

-         « OUT » : fichiers à importer dans PrestaShop (sens Oxygène -> PrestaShop)

-         « ARCHIVES » : fichiers importés avec succès

-         « ERREURS » : fichiers contenant une ou plusieurs erreurs

Configuration de PrestaShop

La seule configuration à réaliser est d’activer le webservice. Suivez la documentation officielle de PrestaShop (chapitre 1 & 2) :

http://doc.prestashop.com/display/PS15/Using+the+PrestaShop+Web+Service

Sinon voici un rappel des étapes :

1.       Vérifiez dans Apache que le mode php_rewrite est activé.

2.       Vérifiez que les URL simplifiées sont actives.

3.       Créer un accès au webservice : allez dans le back office dans Paramètres Avancés > Service web :

4.       Cliquez sur le bouton Créer.

5.       Générez une clé. Copiez-la pour la suite.

6.       Dans Permissions, activez toutes les permissions pour toutes les tables (cliquez sur les cases de la première ligne).

7.       Enregistrez.

8.       Testez que le webservice est accessible :

a.       Dans le navigateur, entrez l’adresse de votre boutique en ajoutant « /api/ »

b.      Dans la fenêtre d’authentification, mettez la clé générée précédemment dans « utilisateur » et laissez le « mot de passe » vide.

c.       Il faudra peut-être valider plusieurs fois (cocher la case « Mémoriser »).

d.      Vous devriez voir apparaître la liste des tables accessibles au format XML.

A ce niveau, vous pouvez vérifier que vous avez accès aux enregistrements. Par exemple une commande, avec l'adresse « /api/orders/1/ ».

En cas de problème, en général il faudra activer l'affichage des erreurs php pour voir le détail.

Pour activer l'affichage des erreurs php :

PrestaShop jusqu'à la version v1.5.3

  1. ouvrir le fichier /PrestaShop/config/config.inc.php

  2. trouver la ligne : @ini_set('display_errors', 'off');

  3. remplacer le 'off' par 'on'.

PrestaShop au delà de la version v1.5.3

  1. ouvrir le fichier /PrestaShop/config/defines.inc.php

  2. trouver la ligne : define('_PS_MODE_DEV_', false);

  3. remplacer le 'false' par 'true'.

 

Configuration du connecteur

Si vous lancez le connecteur pour la première fois, la fenêtre de configuration apparaît sinon ouvrez-la (icône dans la zone de notification).

Adresse du site web : URL publique de la boutique PrestaShop (ou adresse IP).

Clé de connexion au webservice : clé créée lors de l’activation du webservice PrestaShop. Elle se trouve depuis le back office dans Paramètres Avancés > Service web.

Répertoire de destination des exports PrestaShop -> Oxygène (IN) : Le chemin doit être [Chemin vers Oxygène]\OXYPP\GESCOM\[dossier].$SO\WEB\IN   (voir Répertoires)

Répertoire de destination des imports Oxygène -> PrestaShop (OUT) : Le chemin doit être [Chemin vers Oxygène]\OXYPP\GESCOM\[dossier].$SO\WEB\OUT   (voir Répertoires)

Langue : identifiant de la langue par défaut (1 par défaut).

Fréquence de synchronisation : intervalle en minutes entre 2 synchronisations.


 

5. Utilisation

Vérifiez que chaque partie fonctionne :

-         Oxygène : fenêtre Journal des synchronisations web accessible.

-         Connecteur : Synchronisation active cochée dans le menu.

-         PrestaShop : webservice accessible depuis Internet Explorer.

En cas de problème relisez les chapitres Installation et Configuration.

Utilisation depuis Oxygène

Les articles

Sur chaque fiche article, dans l’onglet Options, une case à cocher « Article publié » permet de définir si ce dernier sera synchronisé ou non.

Par défaut, aucun article n’est « Publié ».

Afin mettre tous les articles publiés ou alors de n’en sélectionner qu’un ensemble, aller dans la Liste des articles (alias Ecran d’accès). Faire éventuellement une sélection en posant des filtres puis faire un clic droit sur liste. Un menu apparaît avec Option Web.

Synchroniser la sélection : force la synchronisation de tous les articles mais uniquement ceux marqués Publiés et en conservant les filtres actuels.

Mettre la sélection à "Publier" : marque tous les articles dans la liste « à synchroniser ». Remarque : Cette opération ne les synchronise pas. A la fin de vos manipulations, enlever les filtres et cliquez sur Synchroniser la sélection.

Mettre la sélection à "Ne pas publier" : sur les tous articles affichés, enlève la marque « à synchroniser ». Remarque : cette opération ne supprime pas les produits de PrestaShop ; même en re-lançant une synchronisation.

En dehors de Synchroniser la sélection, les articles ne seront synchronisés que lors d’une modification d’une fiche article.

Le Journal de synchronisation web

Le journal est disponible depuis le menu principal de la Gestion Commerciale depuis le menu Ventes.

Il se contente d’afficher toutes les opérations de synchronisation ; côté Oxygène uniquement (pour le côté PrestaShop, voir le journal du connecteur).

Deux propriétés sont modifiables : voir le chapitre Configuration > Oxygène.

 

Utilisation depuis PrestaShop

Sous PrestaShop, aucun menu particulier pour Oxygène n’est disponible.

Seuls 3 événements provoquent automatiquement une synchronisation :

-         Création d’un client

-         Modification d’un client

-         Création d’une commande

A noter que la création d’une commande synchronise par sécurité les articles et les clients (en particulier les adresses de facturation et de livraison).

Remarque : en réalité, ce n’est pas un événement qui lance la synchronisation mais c’est le connecteur qui, en se connectant toutes les x minutes, collecte toutes les nouvelles données en se basant sur la date et l’heure de la synchronisation précédente.

 

Utilisation du connecteur

Le connecteur est un programme indépendant d’Oxygène qui doit fonctionner en permanence. Si il n’est pas présent, le relancer depuis le menu Démarrer > MEMSOFT – Les solutions de gestion Oxygène > Connecteur Oxygène PrestaShop.

Au premier lancement, la fenêtre de configuration apparaît : saisissez tous les paramètres.

Pour ouvrir le menu principal, faire un clic droit sur l’icône :

 

Dans ce menu, on peut vérifier que la synchronisation est active et, si besoin, la désactiver temporairement. Pour vérifier le délai avant la prochaine synchronisation, il faut ouvrir la fenêtre principale et regarder dans la barre de statut (en bas).

 

Remarque : la synchronisation ne peut être activée tant que le paramétrage est incorrect.

Cliquer sur Ouvrir ouvre la fenêtre principale :

Groupe Synchronisation manuelle

Ces boutons permettent de synchroniser chaque table selon certains critères. Ils sont utiles pour débuter un dossier ou resynchroniser des éléments qui ont soulevés des erreurs.

Attention : ces fonctions doivent être effectuées avec précaution.

Oxygène vers PrestaShop : permet de lancer la synchronisation des articles d’Oxygène (s’il y a eu des modifications dans Oxygène).

PrestaShop vers Oxygène : permet de forcer la synchronisation des éléments de PrestaShop. Pour chaque table, Client, Produits et Commandes, on peut forcer la synchronisation selon 3 critères :

1.       Tous les enregistrements

2.       Tous les enregistrements modifiés à partir d’une date

3.       Un enregistrement précis en indiquant son identifiant (visible dans le back office)

Exemple pour les clients :

Paramètres

En plus d’un bouton vers la fenêtre de Configuration, nous avons accès ici au Journal des erreurs, historique complet des créations et modifications dans les tables PrestaShop. Pour voir les erreurs du côté d’Oxygène voir Le Journal de synchronisation web.

Barre de statut

La barre de statut indique 2 choses :

-         Le délai avant la prochaine synchronisation.

-         L’état d’avancement d’une synchronisation en cours.


 

6. Détails techniques du fonctionnement & exemple

Le transfert des données se fait en mode déconnecté, c'est-à-dire que le système de destination ne reçoit pas les données tout de suite après l’extraction du système d’origine. Le délai est défini par les fréquences saisies du côté d’Oxygène et du côté de PrestaShop.

Le moyen de transport des données est le fichier XML. Les fichiers XML générés sont stockés dans le répertoire commun de synchronisation entre PrestaShop et Oxygène (rappel : oxypp\gescom\[dossier].$so\web\)

Etape 1 : côté Oxygène : export

Dans Oxygène, sur le dossier DEMO, l’utilisateur modifie un article et le valide. Oxygène exporte immédiatement la fiche article dans un fichier XML dans le répertoire OUT.

Exemple pour l’article de code UNIPINC modifié le 06/06/2013 à 18h51:04 :

C:\oxygene\oxypp\gescom\DEMO.$SO\WEB\OUT\ART_20130606_185104_UNIPINC.xml

Oxygène ne lance rien d’autre. C’est le Connecteur Oxygène PrestaShop qui va prendre le relais (avec un certain délai).

Etape 2 : Côté Connecteur : import dans PrestaShop

Le connecteur n’est pas réellement informé que des éléments d’Oxygène sont en attente de synchronisation. C’est le déclenchement d’une phase de synchronisation (selon la fréquence définie) qui va le vérifier.

Lorsque la synchronisation est déclenchée, le connecteur vérifie dans un premier temps si des fichiers XML sont présents dans le répertoire OUT. Si c’est le cas, elle lit le fichier puis se connecte au webservice de PrestaShop et importe l’article (en création ou modification). Si l’import a réussi le fichier est déplacé dans le répertoire Archives sinon il est déplacé dans le répertoire Erreurs. Le journal du connecteur est mis à jour.

Etape 3 : Côté Connecteur : export depuis PrestaShop

Ensuite le connecteur se connecte au webservice sur chaque table (produit, client, commandes) et il récupère les données modifiées ou créées depuis la date/heure de la dernière synchronisation. Il exporte ces données dans des fichiers XML dans le répertoire commun IN.

Exemple : la commande n°7 pour le produit n°58 a été créée par le client n°2. Trois fichiers sont créés dans le répertoire IN :

C:\oxygene\oxypp\gescom\DEMO.$SO\WEB\IN\art_58_prestashop.xml

C:\oxygene\oxypp\gescom\DEMO.$SO\WEB\IN\cli_2_prestashop.xml

C:\oxygene\oxypp\gescom\DEMO.$SO\WEB\IN\cde_7_prestashop.xml

Le connecteur a terminé sa phase de synchronisation. Oxygène n’en est pas directement informé.

Etape 4 : Reprise côté Oxygène : import

Le déclenchement d’une phase de synchronisation dans Oxygène vérifie la présence de fichiers XML dans le répertoire IN.

Si des fichiers sont trouvés, Oxygène les importe ; dans l’ordre : articles, clients puis commandes. Si l’import a réussi les fichiers sont déplacés dans le répertoire Archives sinon dans le répertoire Erreurs. Le journal d’Oxygène est mis à jour.


 

7. Annexe : Champs synchronisés

Oxygène vers PrestaShop

Voici une correspondance des tables et des champs synchronisés entre les deux systèmes.

Remarque : ces informations, bien que relativement exhaustives, ne sont pas toujours fidèles. Les correspondances ont été simplifiées lorsque le stockage des données est différent entre les deux systèmes. Dans ces cas, le champ est entre parenthèses.

Article / Produit

Oxygène : GCPARTIC

PrestaShop : product

CODE

reference

link_rewrite (reformaté)

DESIG

name

PUHT

price

VISIBLE

active

ECOTAXE

ecotax

POIDS

weight

SANS_STOCK

advanced_stock_management

GCPCRIT1_IDENT

(associations/category)

NOTES

associations/description

PHOTO

(table images/product/id)

 

Famille article / Catégorie de produit

Oxygène : GCPCRIT1

PrestaShop : category

CODE

link_rewrite (reformaté)

DESIG

name

 

Sous-Famille article / (Sous-) Catégorie de produit

Oxygène : GCPCRIS1

PrestaShop : category

CODE

link_rewrite (reformaté)

DESIG

name

 

Stocks article / produit

Oxygène : GCPSTOCK

PrestaShop : stock_available

QSTOCK

quantity (valeur entière)

 

 

 

PrestaShop vers Oxygène

 

Client

PrestaShop : customer

Oxygène : GCPCLI

id

WEB_ID

company

DESIG

firstname

GCPCONTA_PRENOM

lastname

GCPCONTA_NOM

email

GCPADRC_EMAIL

(address)

GCPADRF_IDENT

GCPADRL_IDENT

 

Adresse

PrestaShop : address

Oxygène : GCPADR

id

WEB_ID

address1

ADRESSE

address2

ADRESSE2

postcode

CP

city

VILLE

phone

TEL

phone_mobile

MOBILE

(id_customer)

(GCPCLI_IDENT)

 

Entête de commande

PrestaShop : order

Oxygène : GCPECOM,GCPEFAC

id

WEB_ID

date_add

DATE_CREATION

payment

GCPREG_CODE

delivery_date

DATE_LIVRAISON

total_shipping_tax_excl

PORT_HT

total_shipping_tax_incl

PORT_TTC

id_customer

(GCPCLI_IDENT)

id_address_invoice

(GCPADRF_IDENT)

id_address_delivery

(GCPADRL_IDENT)

total_discounts_tax_excl

TAUX_REMISE

 

Ligne de commande

PrestaShop : order_row

Oxygène : GCPLCOM,GCPLFAC

product_id

(GCPARTIC.WEB_ID)

product_name

DESIG

product_quantity

QTE

product_price

PUHT

 

Article / produit

Idem que dans le sens Oxygène-PrestaShop (sans la photo) mais avec en plus l’export de product/id dans GCPARTIC.WEB_ID.