API
API
API
1. API
Si vous disposez d’un logiciel de gestion de stock ou d’un shop en ligne et vous avez la possibilité d’exporter les données, Letzshop a la possibilité d’importer ces données par interface API. Un import de vos produits peut être fait, si vous nous fournissez un flux des produits sous format CSV ou XML.
Dans la plupart des cas, vous pouvez également intégrer votre flux XML Google Shopping existant chez nous sans aucune adaptation. Pour exporter un tel flux depuis votre boutique en ligne, plusieurs solutions prêtes à l’emploi sont disponibles pour la plupart des systèmes de boutique. Vous trouverez de tels plugins sous le mot-clé “Google Shopping”. Mais souvent, cette fonctionnalité fait déjà partie du système de boutique en ligne lui-même et ne doit pas être installée en plus. Vous trouverez de plus amples informations à ce sujet dans la documentation de votre système de boutique ou d’un plug-in approprié.
Vous pouvez trouver notre description d’interface aussi en anglais ou allemand ici : https://api.atalanda.com/en
Une description plus détaillée en anglais ou allemand pour les fichiers XML est disponible sous https://api.atalanda.com/en/google_shopping_api_xml et pour les fichiers CSV sous https://api.atalanda.com/en/google_shopping_api_csv
Si vous ne pouvez pas exporter au format Google Shopping, voici les informations pour un import de vos produits via API :
– Voici les attributs obligatoires et optionnels :
Vous les trouvez aussi sur https://api.atalanda.com/en/google_shopping_api_csv#parameters
Plus d’information sur le format CSV ici.
Plus d’information sur le format XML ici.
Attributs
Attribut | Type de données | Obligatoire | Valeur par defaut | Description | Example |
---|---|---|---|---|---|
id | String | Oui | numéro d’article interne. Chaque identifiant doit être unique. | 1000 | |
title | String | Oui | titre de l’article. 140 caractères max. |
Clé USB SanDisk 16GB | |
description | Text | Oui | Entrez ici la description du produit – aussi détaillée que possible. La plupart des balises HTML ne sont pas autorisées et seront supprimées automatiquement si nécessaire. Les balises HTML autorisées sont mentionnées ici. | Clé USB SanDisk Capacité: 16GB USB 3.0 vitesse de transfert: jusqu’à 100 MB/s Type de mémoire: DDR3 SDRAM Dimensions: 2,2 x 1,1 x 0,8 cm |
|
product_type | String | Oui | Catégorie de l’article. Vous pouvez assigner (mapper) les catégories de votre système dans l’administration de la boutique Letzshop. Si vous voulez déjà transférer des catégories Letzshop, vous trouverez une liste des catégories ici. | 3712 | |
image_link | Text | Oui | Fondamentalement, Letzshop peut traiter n’importe quelle taille d’image. Toutefois, nous vous recommandons de transférer les images aussi grandes que possible (pour la fonction zoom). La valeur recommandée est 920×920 px. | https://academy.letzshop.lu/downloads/logo.jpg | |
additional_image_link | Text | Non | URL séparées par des virgules pour des images supplémentaires. Pour les fichiers XML, chaque image supplémentaire doit être indiquée dans un nœud propre |
https://academy.letzshop.lu/downloads/logo2.jpg,https://academy.letzshop.lu/downloads/logo3.jpg | |
quantity ou g:quantity | Integer | Oui | Nombre de produits en stock dans le magasin. Si le nombre est inférieur à 5, un message correspondant s’affiche sur la page du produit. Si le nombre est 0, le produit n’est plus affiché. Si le numéro est vide, il est interprété comme “illimité”. | 3 | |
availability | String (valeurs autorisées: in stock, en stock ou out of stock) | Oui | Indique si un produit est actuellement disponible. Les produits indisponibles ne sont pas affichés sur Letzshop. | in stock | |
price | Float | Oui | Prix du produit. Pour les prix promotionnels, veuillez également utiliser sale_price. | 15.00 | |
sale_price | Float | Non | Le prix promotionnel doit être inférieur au prix normal. Est en surbrillance. Le prix normal est barré dans l’affichage. | 12.00 | |
brand | String | Non | Marque du produit. | SanDisk | |
gtin | String | (Oui) | Le Global Trade Item Number est un numéro d’identification avec lequel les produits et les emballages peuvent être identifiés de façon unique dans le monde entier. S’il n’est pas défini, identifier_exists doit être mis sur false. Pour le vérifier, veuillez utiliser la page suivante http://www.gtin.info/check-digit-calculator/ | 1234567890123 | |
ean | String | Non | Le numéro d’article européen (EAN) est l’ancien nom du numéro d’identification global de l’article. Il s’agit d’une identification de produit unique au niveau international pour les articles commerciaux et possède une structure spécifique. Pour vérification, veuillez utiliser la page suivante http://www.pruefziffer.de/eantest.php | 1234567890123 | |
isbn | String | Non | Le numéro international normalisé du livre est un numéro utilisé pour identifier de façon unique les livres et autres publications indépendantes ayant un contenu rédactionnel, comme les produits multimédias et les logiciels. | 3608960880 | |
mpn | String | Non | Le Manufacturer’s Part Number (numéro de pièce du fabricant) est un numéro d’article du fabricant qui désigne un article stocké. | SDCZ48-016G-U46 | |
color | String | (Oui) | Si item_group_id est défini, alors la couleur (color) et/ou la taille (size) doit aussi être définie. | rouge | |
size | String | (Oui) | Si item_group_id est défini, alors la couleur (color) et/ou la taille (size) doit aussi être définie. | XL, 10kg, 24″ | |
item_group_id | String | Non | Définissez item_group_id pour combiner différentes variantes d’un produit en un seul produit. Si item_group_id est défini, alors la couleur, la taille ou les deux doivent être définies. | group123 | |
gender | String (valeurs autorisées: female, male, unisex) | (Oui) | Obligatoire pour les produits des catégories “vêtements et accessoires” | female | |
age_group | String (valeurs autorisées: adult, kids, toddler, infant, newborn) | (Oui) | Obligatoire pour les produits des catégories “vêtements et accessoires” | adult | |
identifier_exists | Boolean | (Oui) | true | Si gtin, ean ou isbn n’est pas défini, cet attribut doit être mis sur false. | true |
unit_pricing_measure | String (valeurs autorisées: mg, g, kg, ml, cl, l, cbm, cm, m, qm, sqm, items, stck, stück, rolle, packung, blatt, bogen, st, ro, pa, bl, bg, stk) | Non | Indique la quantité de marchandises contenue dans une unité de vente. Doit être spécifié dans la même unité que unit_pricing_base_measure. | 2kg, 0.7l | |
unit_pricing_base_measure | String (valeurs autorisées: mg, g, kg, ml, cl, l, cbm, cm, m, qm, sqm, items, stck, stück, rolle, packung, blatt, bogen, st, ro, pa, bl, bg, stk) | Non | Spécifie l’unité base. Doit être spécifié dans la même unité que unit_pricing_measure. (p. ex. 1l pour les boissons) |
1kg, 1l | |
adult | String (valeurs autorisées: “true”, “false”, “yes”, “no”, “ja”, “wahr”, “nein”, “falsch”, “oui”, “vrai”, “non”, “faux”) | Non | Marque les marchandises qui ne peuvent être vendues qu’à des personnes âgées de plus de 16/18 ans. (p. ex. alcool) | true | |
atalanda:boost_sort | Float (valeurs autorisées: 0.0 – 10.0) | Non | Définit l’ordre sur votre vitrine sur Letzshop. Les produits avec une valeur élevée (par ex. 10.0) sont affichées plus haut, les produits avec une valeur faible plus bas sur votre vitrine. Veuillez utiliser les valeurs équilibré. | 8.0 | |
atalanda:delivery_method | String (valeurs autorisées: nationwide, self_collect, vendor, package_delivery,) | Non | nationwide, : livraison Greco (inclus la livraison standard et international) self_collect, : seulement Click&Collect – le client vient chercher le produit dans le magasin. vendor, : livraison propre. Merci de nous indiquer les conditions de votre livraison ici pour qu’on puisse le programmer package_delivery, : livraison Greco FRESH (pour alimentation, fleurs, etc.) nationwide,self_collect, : livraison GRECO + Click&Collect vendor,self_collect, : livraison propre + Click&Collect package_delivery,self_collect, : livraison FRESH + Click&Collect Atttention: Il faut toujours indiquer les valuers avec les virgules ! |
nationwide, | |
atalanda:tax_rate | Float (valeurs autorisées: 3, 8, 14, 17) | Oui | taux de TVA | 17 | |
atalanda:preorder_days | Integer | Non | 0 | Temps de pré-commande/réservation de l’article. | 5 |
atalanda:additional_product_type_1 | String | Non | Catégorie supplémentaire de l’article. | 3712 | |
atalanda:additional_product_type_2 | String | Non | Catégorie supplémentaire de l’article. | 3712 | |
atalanda:additional_product_type_3 | String | Non | Catégorie supplémentaire de l’article. | 3712 | |
atalanda:properties | String | Non | Attributs supplémentaires pour un produit ou une variante. | Made in Luxembourg=true ———————— Made in Luxembourg=true,Bio=true |
|
energy_efficiency_class | String | (Oui) | La classe d’efficacité énergétique d’un produit. A utiliser en combinaison avec min_energy_efficiency_class et max_energy_efficiency_class pour créer une étiquette d’efficacité énergétique, par ex : A+ (A+++ à D). Si la classe d’efficacité énergétique est définie, les classes d’efficacité énergétique min_energy_efficiency_class et max_energy_efficiency_class doivent également être définies. |
A+++ | |
min_energy_efficiency_class | String | (Oui) | La classe d’efficacité énergétique minimale d’un produit. A utiliser en combinaison avec energy_efficiency_class et max_energy_efficiency_class pour créer une étiquette d’efficacité énergétique, par ex : A+ (A+++ à D). Si la classe d’efficacité énergétique minimale est définie, les classes d’efficacité énergétique energy_efficiency_class et max_energy_efficiency_class doivent également être définies. |
A+++ | |
max_energy_efficiency_class | String | (Oui) | La classe d’efficacité énergétique maximale d’un produit. A utiliser en combinaison avec energy_efficiency_class et min_energy_efficiency_class pour créer une étiquette d’efficacité énergétique, par ex : A+ (A+++ à D). Si la classe d’efficacité énergétique maximale est définie, les classes d’efficacité énergétique energy_efficiency_class et min_energy_efficiency_class doivent également être définies. |
D |
Balises HTML
Balises HTML autorisées | Utilisation | Exemple |
<a href=””> | <a href=”https://letzshop.lu”>Letzshop</a> | Letzshop |
<b>, <strong> | <b>Clé USB</b>, <strong>Clé USB</strong> | Clé USB |
<u> | <u>noir</u> | noir |
<br> | Clé USB<br>Capacité: 16GB | Clé USB Capacité: 16GB |
<em> | <em>noir</em> | noir |
<p> | <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr.</p> <p>At vero eos et accusam et justo duo dolores et ea rebum.</p> |
Lorem ipsum dolor sit amet, consetetur sadipscing elitr. At vero eos et accusam et justo duo dolores et ea rebum. |
<ul>, <li> | <ul> <li>16 GB</li> <li>USB 3.0</li> <li>noir</li> </ul> |
|
Format CSV
Vous trouverez ci-dessous des exemples comment l’export CSV doit être structuré.
La première ligne contient les titres des colonnes. Vous pouvez utiliser une tabulation(\t), une virgule (,) ou un point-virgule (;) comme séparateur entre les colonnes. Dans les exemples suivants, des virgules ont été utilisées comme séparateurs. Chaque ligne représente un seul produit ou une variante d’un produit.
UTF-8 doit être utilisé comme jeu de caractères !
Un produit sans variants
id,ean,title,description,price,sale_price,product_type,availability,image_link,identifier_exists,atalanda:tax_rate,quantity,brand,color,size,gender,age_group,atalanda:delivery_method,additional_image_link 123456,4012345678901,"Tshirt 101","Description",14.99,11.99,212,"in stock","https://votre-domain.lu/tshirt_101.jpg","true",17,20,"Letzshop","Noir","XL","male","adult","nationwide","https://votre-domain.lu/tshirt_101_2.jpg,https://votre-domain.lu/tshirt_101_3.jpg"
Un produit avec variants
id,ean,title,description,price,sale_price,product_type,availability,image_link,identifier_exists,atalanda:tax_rate,quantity,brand,color,size,item_group_id,gender,age_group,atalanda:delivery_method,additional_image_link 123456,4012345678901,"Tshirt 101","Description 1",14.99,11.99,212,"in stock","https://votre-domain.lu/tshirt_101.jpg","true",17,20,"Letzshop","Noir","L","tshirt101","male","adult","nationwide","https://votre-domain.lu/tshirt_101_2.jpg,https://votre-domain.lu/tshirt_101_3.jpg" 123457,4012345678902,"Tshirt 101","Description 1",14.99,11.99,212,"in stock","https://votre-domain.lu/tshirt_101.jpg","true",17,20,"Letzshop","Noir","XL","tshirt101","male","adult","nationwide","https://votre-domain.lu/tshirt_101_2.jpg,https://votre-domain.lu/tshirt_101_3.jpg"
Deux produits avec variants
id,ean,title,description,price,sale_price,product_type,availability,image_link,identifier_exists,atalanda:tax_rate,quantity,brand,color,size,item_group_id,gender,age_group,atalanda:delivery_method,additional_image_link 123456,4012345678901,"Tshirt 101","Description 1",14.99,11.99,212,"in stock","https://votre-domain.lu/tshirt_101.jpg","true",17,20,"Letzshop","Noir","L","tshirt101","male","adult","nationwide","https://votre-domain.lu/tshirt_101_2.jpg,https://votre-domain.lu/tshirt_101_3.jpg" 123457,4012345678902,"Tshirt 101","Description 1",14.99,11.99,212,"in stock","https://votre-domain.lu/tshirt_101.jpg","true",17,20,"Letzshop","Noir","XL","tshirt101","male","adult","nationwide","https://votre-domain.lu/tshirt_101_2.jpg,https://votre-domain.lu/tshirt_101_3.jpg" 234567,4012345678903,"Tshirt 202","Description 2",19.99,14.99,212,"in stock","https://votre-domain.lu/tshirt_202.jpg","true",17,20,"Letzshop","Blanc","L","tshirt202","male","adult","nationwide","https://votre-domain.lu/tshirt_202_2.jpg,https://votre-domain.lu/tshirt_202_3.jpg" 234568,4012345678904,"Tshirt 202","Description 2",19.99,14.99,212,"in stock","https://votre-domain.lu/tshirt_202.jpg","true",17,20,"Letzshop","Noir","L","tshirt202","male","adult","nationwide","https://votre-domain.lu/tshirt_202_2.jpg,https://votre-domain.lu/tshirt_202_3.jpg"
Format XML
Vous trouverez ci-dessous des exemples comment le flux XML et les produits doivent être structurés. Le contenu des éléments, qui peuvent contenir des caractères spéciaux, doit toujours être inclus dans des blocs <![CDATA[]]>
. Alternativement, le contenu peut également être encodé dans des entités HTML. Pour des raisons de lisibilité, cela n’a pas été fait dans les exemples.
UTF-8 doit être utilisé comme jeu de caractères !
Produit sans variants
<rss xmlns:atalanda="http://api.atalanda.com/ns/gfeed" xmlns:g="http://base.google.com/ns/1.0" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
<channel>
<atom:link href="http://www.onlineshopxyz.xyz/engine/export/15/atalanda.xml" rel="self" type="application/rss+xml"/>
<item>
<title>Clé USB SanDisk 16GB</title>
<description>
Clé USB SanDisk
Capacité: 16GB
USB 3.0
vitesse de transfert: jusqu’à 100 MB/s
Type de mémoire: DDR3 SDRAM
Dimensions: 2,2 x 1,1 x 0,8 cm
</description>
<g:id>123456</g:id>
<g:price>15.00 EUR</g:price>
<g:sale_price>12.00 EUR</g:sale_price>
<g:availability>in stock</g:availability>
<g:image_link>https://academy.letzshop.lu/downloads/logo.jpg</g:image_link>
<g:product_type>3712</g:product_type>
<g:brand>SanDisk</g:brand>
<atalanda:tax_rate>17.00</atalanda:tax_rate>
<g:identifier_exists>FALSE</g:identifier_exists>
<g:quantity>50</g:quantity>
<atalanda:delivery_method>nationwide</atalanda:delivery_method>
<atalanda:boost_sort>8</atalanda:boost_sort>
<atalanda:preorder_days>1</atalanda:preorder_days>
</item>
</channel>
</rss>
Produit avec variants
<rss xmlns:atalanda="http://api.atalanda.com/ns/gfeed" xmlns:g="http://base.google.com/ns/1.0" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
<channel>
<atom:link href="http://www.onlineshopxyz.xyz/engine/export/15/atalanda.xml" rel="self" type="application/rss+xml"/>
<item>
<g:id>123456</g:id>
<title>Clé USB SanDisk</title>
<description>
Clé USB SanDisk
USB 3.0
vitesse de transfert: jusqu’à 100 MB/s
Type de mémoire: DDR3 SDRAM
Dimensions: 2,2 x 1,1 x 0,8 cm
</description>
<g:price>15.00 EUR</g:price>
<g:sale_price>12.00 EUR</g:sale_price>
<g:availability>in stock</g:availability>
<g:image_link>https://academy.letzshop.lu/downloads/logo.jpg</g:image_link>
<g:product_type>3712</g:product_type>
<g:brand>SanDisk</g:brand>
<atalanda:tax_rate>17.00</atalanda:tax_rate>
<g:identifier_exists>FALSE</g:identifier_exists>
<g:quantity>50</g:quantity>
<atalanda:delivery_method>nationwide</atalanda:delivery_method>
<atalanda:boost_sort>8</atalanda:boost_sort>
<atalanda:preorder_days>1</atalanda:preorder_days>
<atalanda:options>
<atalanda:option>
<atalanda:key>Couleur</atalanda:key>
<atalanda:value>Noir</atalanda:value>
</atalanda:option>
<atalanda:option>
<atalanda:key>Taille</atalanda:key>
<atalanda:value>16GB</atalanda:value>
</atalanda:option>
</atalanda:options>
</item>
<item>
<g:id>123457</g:id>
<title>Clé USB SanDisk</title>
<description>
Clé USB SanDisk
USB 3.0
vitesse de transfert: jusqu’à 100 MB/s
Type de mémoire: DDR3 SDRAM
Dimensions: 2,2 x 1,1 x 0,8 cm
</description>
<g:price>20.00 EUR</g:price>
<g:sale_price>18.00 EUR</g:sale_price>
<g:availability>in stock</g:availability>
<g:image_link>https://academy.letzshop.lu/downloads/logo.jpg</g:image_link>
<g:product_type>3712</g:product_type>
<g:brand>SanDisk</g:brand>
<atalanda:tax_rate>17.00</atalanda:tax_rate>
<g:identifier_exists>FALSE</g:identifier_exists>
<g:quantity>50</g:quantity>
<atalanda:delivery_method>nationwide</atalanda:delivery_method>
<atalanda:boost_sort>8</atalanda:boost_sort>
<atalanda:preorder_days>1</atalanda:preorder_days>
<atalanda:options>
<atalanda:option>
<atalanda:key>Couleur</atalanda:key>
<atalanda:value>Noir</atalanda:value>
</atalanda:option>
<atalanda:option>
<atalanda:key>Taille</atalanda:key>
<atalanda:value>32GB</atalanda:value>
</atalanda:option>
</atalanda:options>
</item>
</channel>
</rss>
Vous pouvez indiquer vos propres catégories (product_type) dans l’export. Cependant pour un import plus efficace et vite, on vous conseille d’utiliser les catégories de Letzshop, disponibles ici :
Français: https://letzshop.lu/fr/api/categories
Allemand: https://letzshop.lu/de/api/categories
Notez que, si vous utilisez vos propres catégories, un « mapping » avec nos catégories doit être fait. Pour faire ce « mapping » vous-même, consultez :
API à Cartographie dans « gestion de la boutique » sur Letzshop et suivez les instructions sur le site.
2. Vérification des données
Pour vérifier l’exactitude de vos données, consultez le site https://api.atalanda.com/en/test et suivez les étapes suivantes:
1. Si l’export est disponible via un lien direct, sélectionnez « URL », sinon sélectionnez « Copy & Paste »
2. Définissez le format de l’export (XML ou CSV)
3. Entrez l’URL ou copier les données dans le champ prévu à cet effet
4. Si le taux de TVA des articles n’est pas inclus dans l’export, vous pouvez l’indiquer dans « Default Tax Rate ». Or, si vous avez des articles avec différents taux de TVA, il est important de noter que le taux de TVA (atalanda:tax_rate) doit être présent dans l’export.
5. Si votre export ne contient pas de EAN, GTIN, SKU ou IBAN, sélectionnez « false » pour « Default Identifier Exists »
6. Si la méthode de livraison n’est pas indiquée dans l’export, sélectionnez une valeur quelconque pour « Default delivery Method » pour tester l’export. Vous pouvez nous indiquer la méthode exacte après pour l’import actuel de vos données. Cependant, si vous voulez utiliser plusieurs méthodes de livraison différentes (p.ex. livraison avec Greco pour une partie des articles et livraison propre pour d’autres articles), il faut indiquer ceci dans l’export (atalanda:delivery_method).
7. Cliquez sur « validate » pour vérifier l’export. Dépendant de la taille des données, la vérification des données peut prendre un certain temps.
8. Après la vérification, un message apparaît montrant le nombre d’articles validés, ainsi que les erreurs pour les articles non valides.
9. Si tout est bon, merci de nous fournir l’export par mail sur support@letzshop.lu pour qu’on puisse commencer l’import.
Questions?
N’hésitez pas à nous envoyer un mail sur support@letzshop.lu