I. Introduction▲
E-connecteur est un logiciel ETL prêt à l'emploi, édité par Vaisonet. Il permet d'échanger les données produits, stocks, grilles de prix B2B, clients, commandes entre les logiciels de gestion commerciale et les CMS E-commerce. Cela permet d'intégrer le site e-commerce dans le SI de l'entreprise, très simplement, même - et surtout - pour un non-développeur. En quelques clics, tout est configuré.
Cette simplicité d'usage et de mise en œuvre est un argument fort, mais parfois il est nécessaire d'aller un peu plus loin. L'API, anciennement appelée SDK E-connecteur est là pour cela en permettant d'adapter les différents flux en les manipulant en amont et en aval du logiciel. L'API E-connecteur est disponible sur le dépôt Mercurial de Vaisonet sur le site BitbucketBitbucket.
Trois outils sont disponibles :
- configuration avancée via fichier ini de configuration ;
- vues SQL ;
- transformations XSLT.
Cet article présentera sous forme d'une rapide initiation, quelques cas d'application sur ces trois technologies.
II. Mappage avancé via le fichier config.ini▲
Voici un cas pratique. On a un seul dossier entreprise en gestion commerciale avec plusieurs sites web. La case « Publier sur le web » de la gestion commerciale est unique. Comment piloter l'activation des produits site par site ?
La solution est de créer des champs personnalisés « Publier sur le site web A » et « Publier sur le site web B » dans la gestion commerciale, puis mapper ces champs personnalisés sur le champ e-commerce.
Il faut, dans le fichier de configuration, ajouter une section map :
[map]
xx_publier_sur_le_site_a = active
III. Utilisation des vues SQL▲
E-connecteur utilise par défaut, les tables SQL Server des logiciels de gestion commerciale comme EBP, sauf si une vue nommée « EC_products » existe.
La vue doit comporter tous les champs configurés pour être transférés par E-connecteur, sinon vous aurez une alerte.
Prenons deux exemples sur le stock. Vous ne souhaitez pas transmettre le stock réel des produits sur le site E-commerce, vous souhaitez le calculer.
Exemple : Réservation de stock.
Les stocks inférieurs à 5 sont forcés à 0 sur le site web afin de permettre de réserver un stock minimal pour la boutique physique.
Vous créez la vue suivante :
CREATE
VIEW
EC_products AS
SELECT
CAST
(
CASE
WHEN
RealStock <
5
THEN
0
ELSE
RealStock
END
AS
float
)
as
RealStock, Id
FROM
Item
IV. Transformation XSLT▲
Dans l'esprit, si on pilote une donnée depuis la gestion commerciale de l'entreprise, on le fait lors de la création automatique du produit et lors de sa mise à jour. Il peut y avoir des exceptions dans certains projets où par exemple, la classification des familles/sous-familles dans la gestion commerciale est insuffisante pour le site e-commerce. On souhaite donc créer les produits avec cette classification, on l'améliore à temps perdu sur le back-office e-commerce. Il ne faut donc pas qu'en cas de mise à jour, la catégorisation soit modifiée.
La réalisation de cette opération est assez facile, il suffit lors d'une requête de type UPDATE de supprimer la modification du node category. Le fichier XSL suivant le permet :
<?xml version="1.0" encoding="UTF-8"?>
<!--
Supprime le noeud catégorie par défaut Prestashop.
-->
<
xsl
:
stylesheet
version
=
"1.0"
xmlns
:
xsl
=
"http://www.w3.org/1999/XSL/Transform"
>
<
xsl
:
output
omit-xml-declaration
=
"yes"
indent
=
"yes"
/>
<
xsl
:
strip-space
elements
=
"*"
/>
<
xsl
:
template
match
=
"node()|@*"
>
<
xsl
:
copy>
<
xsl
:
apply-templates
select
=
"node()|@*"
/>
</
xsl
:
copy>
</
xsl
:
template>
<
xsl
:
template
match
=
"/prestashop/product/id_category_default"
>
</
xsl
:
template>
</
xsl
:
stylesheet>
V. Conclusion▲
Voilà pour un premier article qui je l'espère vous aura montré la facilité et rapidité de personnalisation potentiellement très avancée d'une synchronisation des données entre les logiciels de gestion commerciale du marché et les CMS e-commerce les plus répandus.
Je tiens à remercier particulièrement ClaudeLELOUP pour la relecture de cet article et Malick pour son aide.