Manipulation des données XML ou JSON des webservices des CMS
Robot Vaisonet
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
Commentaires envoyés
Nous apprécions vos efforts et nous allons corriger l'article