Manipulation des données XML ou JSON des webservices des CMS

Maxime

Modifié le : Mer, 22 Déc., 2021 à 9:05 H

Les données échangées au format XML (comme avec Prestashop par exemple) ou JSON peuvent être modifiée grâce à une feuille de style XSLT.

Il sera forcément nécessaire de connaître la structure XML/JSON d’origine, si par exemple vous souhaitez manipuler les données XML du webservice de Prestashop, vous devrez forcément connaître sa structure de donnée XML.

Le principe est d’appliquer aux données XML une transformation XSLT (http://xmlfr.org/w3c/TR/xslt/).


Créer un fichier XSLT

Une transformation XSL sera appliquée si un fichier XSL est présent dans le dossier c:\programdata\Vaisonet\Connecteur et ayant pour nom SDK_ID_ressource_requete_moment.xsl.


ID étant la clé de hashage définissant de manière unique le fichier de log .txt pour la configuration concernée, dans c:\programdata\vaisonet\connecteur.


Notez que « requete » n’est renseigné que pour Prestashop (vide pour les autres CMS).


Modifications possibles

Requêtes :

  • add : ajout (moment : before)

  • get : lecture (moment : after)

  • edit : modification (moment : before)


Ressources Prestashop : elles sont strictement identiques aux droits demandés sur le webservice Prestashop.


Pour avoir la liste des transformations possibles, des données d’entrée ou de sortie, il existe un mode « verbose » aidant au développement.

Il est possible de l’activer en développement. Il est recommandé de le désactiver en production pour des questions de performance.


Pour activer ce mode « verbose », ouvrez le fichier ini de configuration E-connecteur se trouvant dans c:\programdata\vaisonet\connecteur avec un éditeur de texte supportant UTF-8. Ajoutez une section debug si absente, avec pour valeur :


[debug]

Sdk_verbose = 1



Erreurs


Où trouver les erreurs éventuelles

Dans le fichier txt correspondant à la configuration, dans c:\programdata\vaisonet\connecteur.


Vérifier l’application XSLT

Si la transformation a bien eu lieu, vous aurez la mention [SDK] Données XML converties : VOTRE FICHIER XSL.

Si ce n’est pas le cas, le nom du fichier est incorrect.



Exemple de mise en œuvre

Exemple de nom de fichier XSL : SDK_aa1c8d1c713a73b3678ddfc819235586a027a1d7_product_get_after.xsl


Exemple de fichier XSL :

<?xml version="1.0" ?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

<xsl:template match="node()">

<xsl:copy>

<xsl:apply-templates select="node()|@*"/>

</xsl:copy>

</xsl:template>

<xsl:template match="price">

<xsl:copy>0</xsl:copy>

</xsl:template>

<xsl:template match="my_price">

<xsl:copy>0</xsl:copy>

</xsl:template>

</xsl:stylesheet>

D'autres exemples sont disponibles ici : https://github.com/Vaisonet/SDK-E-connecteur


Cet article a-t-il été utile ?

C'est super !

Merci pour votre commentaire

Désolé ! Nous n'avons pas pu vous être utile

Merci pour votre commentaire

Dites-nous comment nous pouvons améliorer cet article !

Sélectionner au moins l'une des raisons

Commentaires envoyés

Nous apprécions vos efforts et nous allons corriger l'article