Catalogues fournisseurs

Comment garder dans YML seulement les offres avec url valide

2026-06-29
Objectif

Certaines valeurs url du YML fournisseur sont déjà absolues, d’autres arrivent comme /catalog/sku-6002, et parfois le champ est vide ou contient seulement le domaine de base https://supplier.example. L’import doit garder seulement les produits avec un lien complet.

Réponse courte

Configurez les transformations sur la valeur url : si la valeur courante ne contient pas https://supplier.example, ajoutez ce domaine au début. Ensuite, si le résultat est exactement https://supplier.example, remplacez-le par une valeur vide. Dans les conditions d’export, gardez seulement les url dont la valeur courante après transformations n’est pas vide.

Comment le faire dans Eofferix

  1. Dans le snapshot XML/YML, sélectionnez la valeur url dans l’offer répété.

  2. Ouvrez les paramètres de la valeur url.

    Ouverture des paramètres url
    Les paramètres s’appliquent à la valeur du lien, pas au noeud offer entier.
  3. Ajoutez une règle de transformation : valeur courante Ne contient pas la sous-chaîne https://supplier.example, action Ajouter au début, résultat https://supplier.example.

    Règle pour ajouter le domaine à url
    La règle transforme les chemins relatifs comme /catalog/sku-6002 en liens absolus.
  4. Ajoutez la deuxième règle : valeur courante Égal à https://supplier.example, action Remplacer par, laissez le résultat vide.

    Règle pour vider le domaine de base sans chemin
    Ainsi les liens vides ou limités au domaine de base deviennent vides.
  5. Dans les conditions d’export, indiquez : valeur courante Après transformations Non vide. Utilisez la portée de l’élément entier pour exclure tout l’offer.

    Condition après transformation pour url
    Après les deux règles, seuls les produits avec un lien utile non vide restent.

Avant / après

Avant

données source
<yml_catalog date="2026-06-29 10:00">
  <shop>
    <offers>
      <offer id="YML-6001" available="true">
        <name>Lampe Elodie</name>
        <url>https://supplier.example/catalog/sku-6001</url>
        <currencyId>EUR</currencyId>
        <price>1290.00</price>
      </offer>
      <offer id="YML-6002" available="true">
        <name>Fauteuil Martin</name>
        <url>/catalog/sku-6002</url>
        <currencyId>EUR</currencyId>
        <price>8400.00</price>
      </offer>
      <offer id="YML-6003" available="true">
        <name>Etagere Loire</name>
        <url>
        </url>
        <currencyId>EUR</currencyId>
        <price>990.00</price>
      </offer>
      <offer id="YML-6004" available="true">
        <name>Etagere Loire</name>
        <url>https://supplier.example</url>
        <currencyId>EUR</currencyId>
        <price>990.00</price>
      </offer>
    </offers>
  </shop>
</yml_catalog>

Après

résultat
<yml_catalog date="2026-06-29 10:00">
  <shop>
    <offers>
      <offer id="YML-6001" available="true">
        <name>Lampe Elodie</name>
        <url>https://supplier.example/catalog/sku-6001</url>
        <currencyId>EUR</currencyId>
        <price>1290.00</price>
      </offer>
      <offer id="YML-6002" available="true">
        <name>Fauteuil Martin</name>
        <url>https://supplier.example/catalog/sku-6002</url>
        <currencyId>EUR</currencyId>
        <price>8400.00</price>
      </offer>
    </offers>
  </shop>
</yml_catalog>

Traitez vos données plus vite avec Eofferix

Créez un compte gratuit pour automatiser catalogues et listes de prix selon vos règles.

S’inscrire