API E-connecteur de Vaisonet

Découverte et premiers pas

Découverte de l'API E-connecteur, permettant de modifier à la volée des données échangées entre la gestion commerciale du SI et un site e-commerce.

Article lu   fois.

L'auteur

Site personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

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 :

 
Sélectionnez
[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 :

 
Sélectionnez
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 :

 
Sélectionnez
<?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.

N'hésitez pas à partager vos avis et remarques sur le forum Developpez !

Je tiens à remercier particulièrement ClaudeLELOUP pour la relecture de cet article.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Copyright © 2017 Maxime Varinard - Vaisonet. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.