Export et import XML

Dernière édition : Mai 2020

A qui cela sert ?

Si on souhaite échanger des annonces entre deux sites ou charger en masse des annonces ou encore faire une sauvegarde, c'est possible avec la fonction intégrée d'importation et exportation XML d'annonces.

Le format XML est un formet texte lisible facilement et éditable.

ZADS , en plus, supporte nativement les passerelles CARGEST https://cargest.eu/cargest/ et UBIFLOW https://www.ubiflow.net/, voir la documentation sur experts/syndication sur ce site.

Modèle XML

Le modéle XML (export et import) peut être obtenu via le menu ADMIN > CONFIGURATION > XML en cliquant sur voir le modèle XML admin-xml-model

Le modèle est alors accessible via l'url {yourdomain.com}/phpsvr/xml_service.php?xml=sample et reproduit ci-dessous :

Le modèle peut évoluer fonction des version du script. Lancer toujours une vérifiaction du modèle.

<ZADS_XML>
<!--  the main tag can be customized in settings  -->
<!--  call the xml-service.php with parameters below :  -->
<!--   catid=xx to filter ads from a given category    -->
<!--   id=xx to filter a given ad id   -->
<!--   userid=xx to filter ads from a given userid   -->
<!--   xml=ads|sample (mandatory) to indicate what type of export you want -->
<!--   token=xx (mandatory) to autenticate the access  -->
<!--
  example : GET access to {yourdomain.com}xml/&token=123456&catid=23 
-->
<annonce>
    <id>id/reference number</id>
    <title>title</title>
    <description>text describing the ad content</description>
    <cat_id>id of the category</cat_id>
    <cat_desc>title of the category</cat_desc>
    <type>type of ad : can be sell, buy, ...</type>
    <price>price</price>
    <currency>EUR</currency>
    <creation_date>creation date in format YYYY-MM-DD hh:mm:ss</creation_date>
    <modification_date>last modification date in format YYYY-MM-DD hh:mm:ss</modification_date>
    <contact>
        <email>email</email>
        <phone>phone</phone>
        <username>username</username>
    </contact>
    <user>
        <user_type>type of user : pro=professionnal ; par=individual</user_type>
        <user_company>company name if user is professionnal</user_company>
        <user_siret>company siret if user is professionnal</user_siret>
        <user_id>reference id of the user on the site</user_id>
    </user>
    <location>
        <city>city</city>
        <zipcode>zip code</zipcode>
        <latlng>48.4915102|7.712391099999991</latlng>
    </location>
    <medias>
        <photos>
            <photo>uri of photo 1</photo>
            <photo>uri of photo 2</photo>
        </photos>
    </medias>
</annonce>
</ZADS_XML>

Exportation d'annonces

Pour accéder à l'export des annonces au format XML, vous devez, depuis un navigateur ou depuis un serveur distant, vous connecter (GET access) au lien {yourdomain.com}xml/xml=ads&token={votretoken}.
Le token permet de sécuriser l'accés aux données et à vos annonces en autorisant uniquement les accés avec ce token valide. Le token doit être généré depuis l'interface d'administration ci-dessous : admin-xml-token

Vous pouvez alors sauvegarder le flux XML en opérant sauvegarder depuis votre navigateur ou encore partager ce lien avec un autre site pour l'import de vos annonces.

Les options de filtrages :

  • catid=1234= exporte les annonces de la catégorie 1234
  • userid=1234= exporte les annonces de l'utilisateur 1234
  • id=1234= exporte uniquement l'annonce 1234

Le nombre d'annonces exportées peut être limité : admin-xml-max

Importation d'annonces

Pour importer des annonces d'un fichier XML au modèle XML indiqué ci-dessus, le principe repose sur un fichier qui est obtenu depuis une URI indiquée . Le fichier est lu, analysé et convertit en annonces dans ZADS.

L'importation est activée manuellement via le bouton lancer l'importation. les annonces importées sont taggées avec origin=xml. Ceci permet de différentier les annonces importées des annonces réelles et ainsi de pouvoir les effacer en masse avec le bouton effacer toutes les annonces importseé.

admin-xml-import

Du menu ADMIN > CONFIGURATION > XML, on peut effectuer les réglages de :

  • Nombre max. d'annonces à charger du flux
  • L'état par défaut de publication des annonces (à valider, publiée ou brouillon)

admin-xml-status

Formatage des différents champs

Les champs XML sont convertis un-pour-un en champs dans le base de données de votre site (tirre, description, ...). les images sont automatiquement transférées sur le site (copiées).

Formatage des details de l'annonceur

Les champs username, phoneet email sont soit hérités du flux XML, si ils sont présents, ou hérités de la fiche ZADS de l'annonceur. Ce choix est fonction du paramètre Détails usager de la source.

L'id de l'utilisateur est soit celui indiqué dans le flux XML, soit celui de la personne effectuant l'importation. Ce choix est fonction du paramètre Id usager de la source.

La localisation de l'annonce via les champs ville, code postalet coordonnées GPS sont soit hérités du flux XML, si ils sont présents, ou hérités de la fiche ZADS de l'annonceur. Ce choix est fonction du paramètre Locatisation de la source.

admin-xml-params.

les ID des usagers et les ID des catégories doivent correspondrent entre le flux et votre vite.

Envoi d'emails aux annonceurs

Les annonces qui sont en issues de l'import XML ne sont pas notifiées par email vers les anonceurs en cas d'expiration ou d'effacement.

Annonces existantes

Lors de la synchonisation, le flux XML n'indique pas si une annonce est nouvelle ni la liste des annonces à effacer.

Avant chaque chargement, ZADS procède donc à une mise en mode "effacé" de toutes les annonces puis ensuite les réactive si elles existent dans le flux (en utilisant le tag id présent dans le flux). Si l'annonce existe déjà, on met à jour les champs titre, description, prix, et images.

Statistiques

Chaque activité de synchronisation est tracée dans un journal qui peut être consulté via le menu ADMIN > SYNDICATION > JOURNAL admin-syndic-menu

Journal admin-xml-logs

nbindique le nombre d'annonces chargées , nbup indique le nombre d'images chargées sur le site.