Skip to main content

Import by file type

Learn, how to import data from different formats

CSV

The most common format is CSV (Comma-separated values). Most shop systems export their data in CSV format. Excel can also be used to create files in CSV format.

The column headings (header row) are converted into data fields by Channel Pilot Pro. An article fills each line with values for each data field.

Separator

The values in the header and the values of the articles are separated with the so-called separator. In our example, TAB (tabulator) has been used as the separator. Channel Pilot Pro can work with the following separators:

  • Comma (,)

  • Semicolon (;)

  • Vertical bar or pipe (|)

  • Tabulator (→)

  • Colon (:)

Field delimiter

If you use separators, line breaks or certain special characters within data fields, you must enclose your data with a "field delimiter".

  • No field delimiter available

  • Inverted commas (")

  • Apostrophe (')

Max. Number of faulty lines

The number of lines that may contain errors.

If this value is exceeded, the feed is not imported. The import is marked with a warning message and the e-mail recipient entered in the shop-settings receives a message.

Does a header line exist?

  • Does a header line exist within the document?

Static data fields?

You use static data fields to specify whether the data fields of the feed are permanently defined for each import or whether they can vary from import to import. The second specification is particularly common with XML feeds. However, this is dangerous with CSV feeds.

Channel Pilot Pro Tip:

Use static data fields for CSV feeds.

Use non-static data fields for XML feeds.

You can display a preview of the feed via "Load preview". This will also show you whether the import would work or not.

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

Here you can see an excerpt from a CSV product feed with the following transmitted data fields:

  • article category

  • article number

  • article name

  • article link

  • item price

The data fields transmitted in this example are for illustrative purposes only. They are not sufficient for a smooth import and further processing of your data.

XML

XML (extensible Mark-up Language) is a format for representing hierarchically structured data in a text file. XML consists of elements, attributes, their value assignments and the content of the elements, which can consist of text or subordinate elements.

An XML node (element) is defined for the import, which should represent a product in the import. All data from and below this node is taken into account; data higher up in the hierarchy is ignored.

You can also deliver your product feed as XML. Channel Pilot Pro reads all XML tags and XML attributes and creates data fields for them.

You can't use XML attributes in the XML tags of the data fields. This only works in the parent product tag, as in the example below.

The TAG names must be unique for a product to ensure a smooth assignment.

So instead of <link> and <link>, you should transfer <link1> and <link2>.

XML node of the article list

Specify which "XML node" your articles start with. In the example below it is:

<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>

Use XML attributes as

Define how you want to use XML attributes.

  • If the selection is set to "Value", the attribute value (TAG ATTRIBUT="attribute value") is created as a separate data field. The content behind it, is output via one or more data fields.

  • If the selection is defined as a "name", the attribute value is appended to the data field name. A data field with the corresponding name (TAG_Attributeswert) is created for each attribute value.

Combine similar data fields?

You can use "merge" to combine data fields with the same name (XML TAGS). The combined content is made available in JSON format.

Static data fields?

You use static data fields to specify whether the data fields of the feed are permanently defined for each import or whether they can vary from import to import. The second specification is particularly common with XML feeds. However, this is dangerous with CSV feeds.

Channel Pilot Pro Tip:

Use static data fields for CSV feeds.

Use non-static data fields for 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>

Here you can see an example XML feeds for three products. This example provides the following data fields:

  • id

  • price

  • product number

  • product name

  • product category

  • productlinks.link

  • productlinks.linkmobile

  • gtin

  • imageurl

You can display a preview of the feed via "Load preview". This will also show whether the import would work or not.

XSLT

XSLT (Extensible Stylesheet Language Transformation) is an extensible format language that is used for formatting and transforming XML formats. XSLT has the task of transforming elements of an XML-based language into another XML-compatible language.

This allows XML files supplied in the import to be customized, filtered and restructured as required, which is particularly useful for very complex hierarchical structures in order to avoid unnecessary data fields in the import and to keep the data provided as readable as possible.

JSON

JSON (JavaScript Object Notation) is a compact data format in text form in which information such as objects, arrays and other variables can be stored in readable form.

JSON is independent of programming languages and, like XML, can map hierarchically structured data.

A supplied JSON file is imported 1 to 1 so that each data node creates a data field.

The following example file would therefore create 10 data fields for each article:

[
{
"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
}
}
]

Data fields and values:

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

Did this answer your question?