CSV
Am weitesten verbreitet ist das CSV (Comma-separated values) Format. Die meisten Shop-Systeme exportieren ihre Daten im CSV-Format. Auch mit Excel lassen sich Dateien im CSV-Format erstellen.
Die Spaltenüberschriften (Kopfzeile) werden von Channel Pilot Pro in Datenfelder umgewandelt. Jede Zeile füllt ein Artikel mit Werten zu jedem Datenfeld.
Trennzeichen
Die Werte in der Kopfzeile und Werte der Artikel werden mit dem sogenannten Trennzeichen getrennt. Im Beispiel ist als Trennzeichen TAB (Tabulator) verwendet worden. Channel Pilot Pro kann mit folgenden Trennzeichen arbeiten:
Komma (,)
Semikolon (;)
Senkrechter Strich oder Pipe (|)
Tabulator (→)
Doppelpunkt (:)
Feldbegrenzer
Falls Du Trennzeichen, Zeilenumbrüche oder bestimmte Sonderzeichen innerhalb von Datenfeldern verwendest, musst Du Deine Daten mit einem "Feldbegrenzer" umschließen.
Kein Feldbegrenzer vorhanden
Anführungszeichen (")
Apostroph (')
Max. Anzahl fehlerhafter Zeilen
Die Anzahl an Zeilen, die fehlerhaft sein dürfen.
Wird dieser Wert überschritten, wird der Feed nicht importiert. Der Import wird mit einer Warnmeldung markiert und der E-Mail Empfänger der im Shop eingetragen ist, erzählt eine Nachricht.
Kopfzeile vorhanden?
Existiert innerhalb des Dokuments eine Kopfzeile?
Statische Datenfelder?
Mittels statischer Datenfelder legst Du fest, ob die Datenfelder des Feeds bei jedem Import fest definiert sind, oder diese von Import zu Import abweichen können. Letzteres ist vor allem bei XML-Feeds üblich. Bei CSV-Feeds jedoch gefährlich.
Channel Pilot Pro Tipp:
Verwende statische Datenfelder bei CSV-Feeds.
Verwende nicht statische Datenfelder bei XML-Feeds.
Über "Vorschau laden", kannst Du Dir eine Vorschau des Feeds anzeigen lassen. So sieht Du auch, ob der Import funktionieren würde oder nicht.
artikelkategorie artikelnummer artikelname artikellink artikelpreis
Handys - Blackberry 72295 Blackberry Bold 9900 Black Vodafone http://demoshop.channelpilot.com/detail/?art=72295 386,99
Handys - Blackberry 76440 Blackberry Curve 9320 Black Original http://demoshop.channelpilot.com/detail/?art=76440 187,99
Handys - HTC 77900 HTC Desire X Stealth Black Original http://demoshop.channelpilot.com/detail/?art=77900 244,99
Handys - HTC 76275 HTC Explorer Elegant Blue Vodafone http://demoshop.channelpilot.com/detail/?art=76275 104,99
Handys - HTC 74710 HTC Explorer Smart Black Vodafone http://demoshop.channelpilot.com/detail/?art=74710 104,99
Handys - HTC 75135 HTC One V Obsidian Black Original http://demoshop.channelpilot.com/detail/?art=75135 230,99
Handys - Nokia 71970 Nokia 100 Black Original http://demoshop.channelpilot.com/detail/?art=71970 23,99
Handys - Nokia 72735 Nokia 101 Phantom Black Original http://demoshop.channelpilot.com/detail/?art=72735 29,99
Handys - Nokia 77745 Nokia 112 Grey Dual Sim Original http://demoshop.channelpilot.com/detail/?art=77745 44,99
Handys - Nokia 76955 Nokia 113 Black Original http://demoshop.channelpilot.com/detail/?art=76955 40,99
Hier siehst Du einen Auszug aus einem CSV-Produktfeed mit folgenden übermittelten Datenfeldern:
artikelkategorie
artikelnummer
artikelname
artikellink
artikelpreis
Die übermittelten Datenfelder in diesem Beispiel dienen nur zur Veranschaulichung. Sie sind nicht ausreichend, für einen reibungslosen Import und die weitere Verarbeitung Deiner Daten.
XML
XML (extensible Mark-up Language) ist ein Format, zur Darstellung hierarchisch strukturierter Daten, in einer Textdatei. XML besteht aus Elementen, Attributen, ihren Wertzuweisungen, und dem Inhalt der Elemente, der aus Text oder aus untergeordneten Elementen bestehen kann.
Zum Import wird ein XML-Knoten (Element) festgelegt, welcher ein Produkt im Import darstellen sollte. Alle Daten ab und unterhalb dieses Knotens werden berücksichtigt, hierarchisch höher gelegene werden ignoriert.
Du kannst Deinen Produktkatalog auch als XML liefern. Channel Pilot Pro liest alle XML-Tags und XML-Attribute aus und erstellt für diese Datenfelder.
Du kannst keine XML-Attribute in den XML-Tags der Datenfelder verwenden. Das funktioniert nur im übergeordneten Produkt-Tag, wie im Beispiel unten.
Die TAG-Namen müssen für ein Produkt eindeutig sein, um eine reibungslose Zuordnung zu gewährleisten.
Also solltest Du statt <link> und <link>, <link1> und <link2> überliefern.
XML-Knoten der Artikel-Liste
Gib an, mit welchem "XML-Knoten" Deine Artikel beginnen. Im Beispiel unten wäre das:
<catalog>article
<catalog>
<article>
<tag1>wert1</tag1>
<tag2>wert2</tag2>
<tag3 attribut="attributswert">wert3</tag3>
</article>
<article>
<tag1>wert1</tag1>
<tag2>wert2</tag2>
<tag3 attribut="attributswert">wert3</tag3>
</article>
<article>
<tag1>wert1</tag1>
<tag2>wert2</tag2>
<tag3 attribut="attributswert">wert3</tag3>
</article>
</catalog>
XML-Attribute verwenden als
Definiere, wie Du XML-Attribute verwenden möchtest.
Ist die Auswahl auf "Wert" gestellt, wird der Attributs-Wert (TAG ATTRIBUT="attributswert") als separates Datenfeld angelegt. Der dahinter liegende Content wird über ein oder mehrere Datenfelder ausgegeben.
Ist die Auswahl als "Name" definiert, wird an die Datenfeldbezeichnung der Attributs-Wert angehängt. Für jeden Attributs-Wert wird ein Datenfeld mit der entsprechenden Bezeichnung (TAG_Attributswert) erstellt.
Ähnliche Datenfelder kombinieren?
Über "zusammenfügen" besteht die Möglichkeit, gleichnamige Datenfelder (XML-TAGS) zusammenzufassen. Die zusammengefassten Inhalte werden im JSON-Format zur Verfügung gestellt.
Statische Datenfelder?
Mittels statischer Datenfelder legst Du fest, ob die Datenfelder des Feeds bei jedem Import fest definiert sind, oder diese von Import zu Import abweichen können. Letzteres ist vor allem bei XML-Feeds üblich. Bei CSV-Feeds jedoch gefährlich.
Channel Pilot Pro Tipp:
Verwende statische Datenfelder bei CSV-Feeds.
Verwende nicht statische Datenfelder bei XML-Feeds.
<feed>
<produkte>
<produkt id="120" preis="22,34">
<produktnummer>5373</produktnummer>
<produktname>Cura Caballo Flexformula 8 kg - Eimer</produktname>
<produktkategorie>Pferdebedarf</produktkategorie>
<produktlinks>
<link>http://pferdebedarf.channelpilot.com/produkt-details.php?prod=5788</link>
<linkmobile>http://pferdebedarf.channelpilot.com/produkt-details2.php?prod=5788</linkmobile>
</produktlinks>
<gtin>4024924504864</gtin>
<hersteller>Cura Caballo</hersteller>
<bildurl>http://pferdebedarf.channelpilot.com/produkt-bilder.php?prod=5373</bildurl>
</produkt>
<produkt id="121" preis="21,50">
<produktnummer>5374</produktnummer>
<produktname>Cura Caballo Hoof Power 8 kg - Eimer</produktname>
<produktkategorie>Pferdebedarf</produktkategorie>
<produktlinks>
<link>http://pferdebedarf.channelpilot.com/produkt-details.php?prod=5374</link>
<linkmobile>http://pferdebedarf.channelpilot.com/produkt-details2.php?prod=5374</linkmobile>
</produktlinks>
<gtin>4024924504871</gtin><hersteller>Cura Caballo</hersteller>
<bildurl>http://pferdebedarf.channelpilot.com/produkt-bilder.php?prod=5374</bildurl>
</produkt>
<produkt id="121" preis="19,00">
<produktnummer>7494</produktnummer>
<produktname>Hkm Jacke Techno schwarz Gr. Xs</produktname>
<produktkategorie>Pferdebedarf</produktkategorie>
<produktlinks>
<link>http://pferdebedarf.channelpilot.com/produkt-details.php?prod=223</link>
<linkmobile>http://pferdebedarf.channelpilot.com/produkt-details2.php?prod=223</linkmobile>
</produktlinks>
<gtin/>
<hersteller>HKM</hersteller>
<bildurl>http://pferdebedarf.channelpilot.com/produkt-bilder.php?prod=7494</bildurl>
</produkt>
</produkte>
</feed>
Hier siehst Du einen beispielhaften XML-Katalog für drei Produkte. Dieses Beispiel liefert folgende Datenfelder:
id
preis
produktnummer
produktname
produktkategorie
produktlinks.link
produktlinks.linkmobile
gtin
bildurl
Über "Vorschau laden", kannst Du Dir eine Vorschau des Feeds anzeigen lassen. So sieht Du auch, ob der Import funktionieren würde oder nicht.
XSLT
XSLT (Extensible Stylesheet Language Transformation) ist eine erweiterbare Formatsprache, die zur Formatierung und Transformation von XML Formaten verwendet wird. XSLT hat die Aufgabe, Elemente einer XML-basierten Sprache in eine andere XML-gerechte Sprache zu transformieren.
Damit können im Import gelieferte XML-Dateien nach Belieben angepasst, gefiltert und neu strukturiert werden, was vor allem für sehr komplexe hierarchische Strukturen sinnvoll ist, um unnötige Datenfelder im Import zu vermeiden und die bereitgestellten Daten so lesbar wie möglich zu halten.
JSON
JSON (JavaScript Object Notation) ist ein kompaktes Datenformat in Textform, indem Informationen wie Objekte, Arrays und sonstige Variablen in lesbarer Form gespeichert werden können.
JSON ist Programmiersprachen unabhängig und kann ebenso wie XML hierarchisch strukturierte Daten abbilden.
Eine gelieferte JSON-Datei wird 1 zu 1 importiert, sodass jeder Datenknoten ein Datenfeld anlegt.
Folgende Beispieldatei würde also 10 Datenfelder für jeden Artikel anlegen:
[
{
"sku": "test_sku1",
"name_i18n": {
"EN": "Name EN",
"DE": "Name DE",
"FR": "Name FR"
},
"isActive": 1,
"code": "00000",
"gtin": "1234567890123",
"productAttributes": {
"attribut1": Test1,
"attribut2": Test2,
"attribut3": Test3
}
},
{
"sku": "test_sku2",
"name_i18n": {
"EN": "Name EN",
"DE": "Name DE",
"FR": "Name FR"
},
"isActive": 1,
"code": "00000",
"gtin": "1234567890123",
"productAttributes": {
"attribut1": Test1,
"attribut2": Test2,
"attribut3": Test3
}
},
{
"sku": "test_sku3",
"name_i18n": {
"EN": "Name EN",
"DE": "Name DE",
"FR": "Name FR"
},
"isActive": 1,
"code": "00000",
"gtin": "1234567890123",
"productAttributes": {
"attribut1": Test1,
"attribut2": Test2,
"attribut3": Test3
}
}
]
Datenfelder und Werte:
sku = test_sku1
name_i18n.EN = „Name EN“
name_i18n.DE = „Name DE“
name_i18n.FR = „Name FR“
isActive = 1
code = „00000“
gtin = „1234567890123“
productAttributes.attribut1 = Test1
productAttributes.attribut2 = Test2
productAttributes.attribut3 = Test3



