Catalogues fournisseurs

Comment retirer les offres YML sans barcode valide

2026-06-29
Objectif

Certains produits YML ont un barcode vide ou du texte à la place du code-barres. L’import doit garder seulement les articles avec un code au bon format.

Réponse courte

Ajoutez une condition d’export sur offer : barcode doit correspondre à l’expression régulière ^(?:[0-9]{8}|[0-9]{12,14})$ (correspond à une chaîne composée uniquement de chiffres, de longueur 8, 12, 13 ou 14 ; elle ne valide pas la clé de contrôle).

Comment le faire dans Eofferix

  1. Dans le snapshot XML/YML, sélectionnez le noeud répété offer.

  2. Ouvrez les paramètres du noeud.

    Ouverture des paramètres offer
    L’animation montre l’ouverture des paramètres du noeud produit répété.
  3. Option rapide : ajoutez une condition d’export sur barcode - Non vide si vous devez seulement retirer les produits sans code-barres.

    Condition d’export
    Cette option vérifie qu’une valeur existe, mais ne contrôle pas le format du code-barres.
  4. Option stricte : ajoutez une condition d’export sur barcode - Expression régulière ^(?:[0-9]{8}|[0-9]{12,14})$ (correspond à une chaîne composée uniquement de chiffres, de longueur 8, 12, 13 ou 14 ; elle ne valide pas la clé de contrôle).

    Condition d’export
    Cette option exclut les valeurs vides et les textes comme bad-code.

Avant / après

Avant

données source
<yml_catalog date="2026-06-29 10:00">
  <shop>
    <offers>
      <offer id="YML-27001">
        <name>Lampe Elodie</name>
        <vendorCode>LA-27001</vendorCode>
        <barcode>4601234567890</barcode>
        <price>1290.00</price>
      </offer>
      <offer id="YML-27002">
        <name>Fauteuil Martin</name>
        <vendorCode>KR-27002</vendorCode>
        <barcode>
        </barcode>
        <price>8400.00</price>
      </offer>
      <offer id="YML-27003">
        <name>Etagere Loire</name>
        <vendorCode>PN-27003</vendorCode>
        <barcode>bad-code</barcode>
        <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-27001">
        <name>Lampe Elodie</name>
        <vendorCode>LA-27001</vendorCode>
        <barcode>4601234567890</barcode>
        <price>1290.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