xml_export_documentation:xml_format
Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
xml_export_documentation:xml_format [2020/02/20 16:29] florian [Overview] |
xml_export_documentation:xml_format [2023/02/22 13:03] rihad old revision restored (2022/05/11 14:19) |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== FINDOLOGIC XML export format ===== | + | ===== Findologic XML export format ===== |
Line 5: | Line 5: | ||
</note> | </note> | ||
- | * If your are using XML-export for the data synchronization between your shop data and FINDOLOGIC, the XML-data provided by you has to be formatted in the way that is described below. | + | * If your are using XML-export for the data synchronization between your shop data and Findologic, the XML-data provided by you has to be formatted in the way that is described below. |
- | * Unless you have an enterprise-contract the shop data will be imported by FINDOLOGIC automated daily at a fixed time between 01:00 CET and 06:00 CET. | + | * Unless you have an enterprise-contract the shop data will be imported by Findologic automated daily at a fixed time between 01:00 CET and 06:00 CET. |
- | * You can either write your own export script, provide a completely finished XML-file for the import, or use a plugin provided by FINDOLOGIC. | + | * Export script can be written with [[https://github.com/findologic/libflexport/wiki#initializing-the-exporter-with-a-specific-type|Findologic export library]] or by your own. |
* You can find a detailed description of all available tags in our XML-patterns below. | * You can find a detailed description of all available tags in our XML-patterns below. | ||
- | * The latest XML scheme for validation can be found on Github: [[https://github.com/FINDOLOGIC/xml-export/blob/master/src/main/resources/findologic.xsd|FINDOLOGIC XML-Schema]]. Check your XML against the scheme and see if your export XML is valid: [[https://www.corefiling.com/opensource/schemaValidate.html]] | + | * The latest XML scheme for validation can be found on Github: [[https://github.com/FINDOLOGIC/xml-export/blob/master/src/main/resources/findologic.xsd|Findologic XML-Schema]]. Check your XML against the scheme and see if your export XML is valid: [[https://www.corefiling.com/opensource/schemaValidate.html]] |
- | <note>The XML-export has to be provided as direct link to the XML-file in the customer login - if needed with login and password (HTML basic access authentication).</note> | + | <note>Link to the script-file that triggers XML-export has to be provided in the customer login - if needed with login and password (HTML basic access authentication).</note> |
- | <note>FINDOLOGIC supports all encodings. It just needs to get mentioned at the start of the XML e.g. ''<?xml version="1.0" encoding="UTF-8"?>'' </note> | + | <note>Findologic supports all encodings. It just needs to get mentioned at the start of the XML e.g. ''<?xml version="1.0" encoding="UTF-8"?>'' </note> |
<note>**The parent tags must be exported (summaries, descriptions, etc.), but can be closed itself (can be empty), if the child tags are not required. For example like that:** \\ | <note>**The parent tags must be exported (summaries, descriptions, etc.), but can be closed itself (can be empty), if the child tags are not required. For example like that:** \\ | ||
Line 26: | Line 26: | ||
[...] | [...] | ||
<html></pre></html></note> | <html></pre></html></note> | ||
+ | |||
+ | <note important>Control characters (**[#x01-#x08]** | **[#x0B-#x0C]** | **[#x0E-#x1F]**) are not allowed in any value of the feed.</note> | ||
---- | ---- | ||
Line 33: | Line 35: | ||
^**''<?xml version=“...” encoding=“...”?>''**| Specifies the encoding | Yes | Yes | No | | ^**''<?xml version=“...” encoding=“...”?>''**| Specifies the encoding | Yes | Yes | No | | ||
^**''<[[#item]] id="">''**| Unique identifier | Yes | Yes | No | | ^**''<[[#item]] id="">''**| Unique identifier | Yes | Yes | No | | ||
- | ^**''<[[#ordernumbers]]>''**| Article number or order number | Yes | No | Yes | | + | ^**''<[[#ordernumbers]]>''**| Article number, EAN or SKU | Yes | No | Yes | |
^**''<[[#names]]>''**| Article name, as usually shown on the result page | Yes | Yes | Yes | | ^**''<[[#names]]>''**| Article name, as usually shown on the result page | Yes | Yes | Yes | | ||
^**''<[[#summaries]]>''**| Summarized article description | Yes | No | Yes | | ^**''<[[#summaries]]>''**| Summarized article description | Yes | No | Yes | | ||
Line 46: | Line 48: | ||
^**''<[[#dateAddeds]]>''**| Date current article was added | Yes | No | No | | ^**''<[[#dateAddeds]]>''**| Date current article was added | Yes | No | No | | ||
^**''<[[#sorts]]>''**| Value for custom sorting of search results | No | No | No | | ^**''<[[#sorts]]>''**| Value for custom sorting of search results | No | No | No | | ||
+ | ^**''<[[#visibilities]]>''**| Indicates the visibility of all/some products | No | No | No | | ||
^**''<[[#attributes]]>''**| Article categories and attributes. Will be filters | Yes | Yes| Yes, **also filterable** | | ^**''<[[#attributes]]>''**| Article categories and attributes. Will be filters | Yes | Yes| Yes, **also filterable** | | ||
^**''<[[#properties]]>''**| Additional information of article to be shown on search result listing | Yes | Yes | No | | ^**''<[[#properties]]>''**| Additional information of article to be shown on search result listing | Yes | Yes | No | | ||
Line 75: | Line 78: | ||
* ''<items>'' may contain 1+ ''<item>''-tags. | * ''<items>'' may contain 1+ ''<item>''-tags. | ||
- | <note important>Due to runtime limitations the XML-export has to be paginated.</note> | + | <note important>Due to runtime limitations the XML-export has to be [[https://docs.findologic.com/doku.php?id=xml_export_documentation:xml_request_and_response|paginated]].</note> |
+ | |||
+ | <note important>You have to use double quotes to seperate XML attributes like "count" or "total". Single quotes are not supported at the moment.</note> | ||
<note tip>**Using our export toolkit?** | <note tip>**Using our export toolkit?** | ||
Line 120: | Line 125: | ||
* ''<ordernumbers>'' contains 1+ ''<ordernumber>''-tags. | * ''<ordernumbers>'' contains 1+ ''<ordernumber>''-tags. | ||
* ''<ordernumber>'' contains an article-number like internal arcticle number, EAN, ISBN, ... | * ''<ordernumber>'' contains an article-number like internal arcticle number, EAN, ISBN, ... | ||
+ | |||
+ | <note>This field should be used only for article numbers/EANs/SKUs and NOT for the number that a user gets when an order is being submitted in your shop.</note> | ||
<note tip>**Using our export toolkit?** | <note tip>**Using our export toolkit?** | ||
Line 306: | Line 313: | ||
* ''<usergroup>'' contains 1+ ''<usergroup>''-tags. | * ''<usergroup>'' contains 1+ ''<usergroup>''-tags. | ||
* ''<usergroup>'' contains a usergroup to which the item is visible. | * ''<usergroup>'' contains a usergroup to which the item is visible. | ||
- | * ''<usergroup>'' the usergroup used as a parameter in the FINDOLOGIC-Snippet has to have the exact same wording as the usergroup that is used in the datafeed. | + | * ''<usergroup>'' the usergroup used as a third parameter in the Findologic-Snippet (after shopkey) has to have the exact same wording as the usergroup that is used in the data feed. |
=== Using usergroups to set the visibility of items === | === Using usergroups to set the visibility of items === | ||
Line 353: | Line 360: | ||
* ''<bonuses>'' contains 1+ ''<bonus>''-tags, distinguished via the usergroup-attribute. | * ''<bonuses>'' contains 1+ ''<bonus>''-tags, distinguished via the usergroup-attribute. | ||
- | * ''<bonus>'' contains a bonus value (between -0.9 and 3) to lower or raise the ranking of a product in general. | + | * ''<bonus>'' contains a bonus value (between -0.9 and 3) to lower or raise the ranking of a product in general. |
- | * If you have product pushing enabled in your customer login, be aware that these values will override the current values at the concerned products in the bonus field. | + | |
<note>Please note, that the value -1 will be overridden with the value -0.9 in the import.</note> | <note>Please note, that the value -1 will be overridden with the value -0.9 in the import.</note> | ||
Line 379: | Line 385: | ||
* ''<salesFrequency>'' contains a non-negative integer value for the salesfrequency which can be used for sorting. | * ''<salesFrequency>'' contains a non-negative integer value for the salesfrequency which can be used for sorting. | ||
* If you want your default order to be dynamically calculated including the exported ''<salesFrequency>''-values, please contact our support team. | * If you want your default order to be dynamically calculated including the exported ''<salesFrequency>''-values, please contact our support team. | ||
- | |||
- | <note>Please note, that negative values will be overridden with the value 0 in the import.</note> | ||
<note tip>**Using our export toolkit?** | <note tip>**Using our export toolkit?** | ||
Line 426: | Line 430: | ||
* ''<sorts>'' contains 1+ ''<sort>''-tags, distinguished via the usergroup-attribute. | * ''<sorts>'' contains 1+ ''<sort>''-tags, distinguished via the usergroup-attribute. | ||
* ''<sort>'' contains a custom integer value which can be used for sorting. | * ''<sort>'' contains a custom integer value which can be used for sorting. | ||
- | * If you want your default order to be dynamically calculated including the exported ''<salesFrequency>''-values, please contact our support team. | + | * If you want your default order to be dynamically calculated including the exported ''<sort>''-values, please contact our support team. |
* You should not use negative values as ''<sort>''-values. | * You should not use negative values as ''<sort>''-values. | ||
+ | |||
+ | <note tip>**Using our export toolkit?** | ||
+ | |||
+ | Creating a sort element with [[https://github.com/findologic/libflexport/wiki#sort|libflexport]].</note> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== visibilities ==== | ||
+ | |||
+ | <code xml> | ||
+ | [...] | ||
+ | <visibilities> | ||
+ | <visibile><![CDATA[]]></visibile> | ||
+ | <visibile usergroup=""><![CDATA[]]></visibile> | ||
+ | [...] | ||
+ | </visibilities> | ||
+ | [...] | ||
+ | </code> | ||
+ | |||
+ | * ''<visibilities>'' contains 1+ <visible>-tags, distinguished via the usergroup-attribute. | ||
+ | * ''<visible>'' must contain lowercase **true** (or **1** as a replacement) for visible initial state or lowercase **false** (or **0** as a replacement) for invisible initial state. | ||
+ | * The default value of the default visible element (non-usergroup) is true if it did not exist. | ||
+ | * The default value of a visible element with the usergroup tag is the same value of the default visible element if it did not exist. | ||
+ | * If the visible element value is blank or one of the values (True, faLse, yes, no, -1 ….) , this will cause validation errors. | ||
<note tip>**Using our export toolkit?** | <note tip>**Using our export toolkit?** | ||
Line 460: | Line 488: | ||
* ''<attribute>'' contains a key/value set with 1 ''<key>''-tag identifying the attribute and 1+ ''<value>''-tags setting the values for the attribute. | * ''<attribute>'' contains a key/value set with 1 ''<key>''-tag identifying the attribute and 1+ ''<value>''-tags setting the values for the attribute. | ||
* Attributes are used in filters, navigation, shopping guides and for search-queries.[[customer_account:filter_configuration|Here]] you can find our documentation about filter configuration. | * Attributes are used in filters, navigation, shopping guides and for search-queries.[[customer_account:filter_configuration|Here]] you can find our documentation about filter configuration. | ||
- | * If you use a slider, do not export the values like this: //100 cm//. Correct: //100//. You can set the unit in the filter configuration in the FINDOLOGIC customer account. If you export //100 cm// it is not possible to use the range slider for this filter, because the range slider is only able to work with numeric values. | + | * If you use a slider, do not export the values like this: //100 cm//. Correct: //100//. You can set the unit in the filter configuration in the Findologic customer account. If you export //100 cm// it is not possible to use the range slider for this filter, because the range slider is only able to work with numeric values. |
* We recommend the following as a standard: | * We recommend the following as a standard: | ||
* cat: CDATA (e.g. ''Sneakers_Men'' an article in the category "Sneakers" and in the subcategory "Men") | * cat: CDATA (e.g. ''Sneakers_Men'' an article in the category "Sneakers" and in the subcategory "Men") | ||
Line 481: | Line 509: | ||
==== cat_url examples ==== | ==== cat_url examples ==== | ||
- | In order to use FINDOLOGIC Navigation with Direct Integration, the tag ''cat_url'' has to be added with the category path to the ''<attributes>''-tag. If a product is shown in several categories, all paths have to be exported. | + | In order to use Findologic Navigation with Direct Integration, the tag ''cat_url'' has to be added with the category path to the ''<attributes>''-tag. If a product is shown in several categories, all paths have to be exported. |
For example for a product, which is assigned to the following categories ... | For example for a product, which is assigned to the following categories ... | ||
Line 674: | Line 702: | ||
<ordernumbers usergroup="LNrLF7BRVJ0toQ=="> | <ordernumbers usergroup="LNrLF7BRVJ0toQ=="> | ||
<ordernumber>377KTL</ordernumber> | <ordernumber>377KTL</ordernumber> | ||
+ | </ordernumbers> | ||
+ | <ordernumbers usergroup="PN3enVBRVH0To(/"> | ||
+ | <ordernumber>577LTK</ordernumber> | ||
</ordernumbers> | </ordernumbers> | ||
</allOrdernumbers> | </allOrdernumbers> | ||
Line 679: | Line 710: | ||
<name>Adidas Sneaker</name> | <name>Adidas Sneaker</name> | ||
<name usergroup="LNrLF7BRVJ0toQ==">Adidas Men's Sneaker</name> | <name usergroup="LNrLF7BRVJ0toQ==">Adidas Men's Sneaker</name> | ||
+ | <name usergroup="PN3enVBRVH0To(/">Adidas Women's Sneaker</name> | ||
</names> | </names> | ||
<summaries> | <summaries> | ||
<summary>A cool and fashionable sneaker</summary> | <summary>A cool and fashionable sneaker</summary> | ||
<summary usergroup="LNrLF7BRVJ0toQ==">A cool and fashionable sneaker for men</summary> | <summary usergroup="LNrLF7BRVJ0toQ==">A cool and fashionable sneaker for men</summary> | ||
+ | <summary usergroup="PN3enVBRVH0To(/">A cool and fashionable sneaker for women</summary> | ||
</summaries> | </summaries> | ||
<descriptions> | <descriptions> | ||
<description>With this sneaker you will walk in style. It's available in green and blue.</description> | <description>With this sneaker you will walk in style. It's available in green and blue.</description> | ||
- | <description usergroup="LNrLF7BRVJ0toQ==">With this men's sneaker you will walk in style. It's comes in various sizes and colors.</description> | + | <description usergroup="LNrLF7BRVJ0toQ==">With this men's sneaker you will walk in style. It comes in various sizes and colors.</description> |
+ | <description usergroup="PN3enVBRVH0To(/">With this women's sneaker you will walk in style. It comes in various sizes and colors.</description> | ||
</descriptions> | </descriptions> | ||
<prices> | <prices> | ||
<price>44.8</price> | <price>44.8</price> | ||
- | <price usergroup="LNrLF7BRVJ0toQ==">45.9</price> | + | <price usergroup="LNrLF7BRVJ0toQ==">42.9</price> |
+ | <price usergroup="PN3enVBRVH0To(/">39.9</price> | ||
</prices> | </prices> | ||
<urls> | <urls> | ||
<url>https://www.store.com/sneakers/adidas.html</url> | <url>https://www.store.com/sneakers/adidas.html</url> | ||
<url usergroup="LNrLF7BRVJ0toQ==">https://www.store.com/sneakers/mens/adidas.html</url> | <url usergroup="LNrLF7BRVJ0toQ==">https://www.store.com/sneakers/mens/adidas.html</url> | ||
+ | <url usergroup="PN3enVBRVH0To(/">https://www.store.com/sneakers/women/adidas.html</url> | ||
</urls> | </urls> | ||
<allImages> | <allImages> | ||
Line 702: | Line 738: | ||
<images usergroup="LNrLF7BRVJ0toQ=="> | <images usergroup="LNrLF7BRVJ0toQ=="> | ||
<image>https://www.store.com/images/277KTL.png</image> | <image>https://www.store.com/images/277KTL.png</image> | ||
+ | </images> | ||
+ | <images usergroup="PN3enVBRVH0To(/"> | ||
+ | <image>https://www.store.com/images/577LTK.png</image> | ||
</images> | </images> | ||
</allImages> | </allImages> | ||
Line 710: | Line 749: | ||
<values> | <values> | ||
<value>Sneakers_Men</value> | <value>Sneakers_Men</value> | ||
+ | <value>Sneakers_Women</value> | ||
<value>Specials_Sale</value> | <value>Specials_Sale</value> | ||
</values> | </values> | ||
Line 717: | Line 757: | ||
<values> | <values> | ||
<value>/sneakers/men</value> | <value>/sneakers/men</value> | ||
+ | <value>/sneakers/women</value> | ||
<value>/specials/sale</value> | <value>/specials/sale</value> | ||
</values> | </values> | ||
Line 744: | Line 785: | ||
<keyword>cool product</keyword> | <keyword>cool product</keyword> | ||
<keyword>mens</keyword> | <keyword>mens</keyword> | ||
+ | </keywords> | ||
+ | <keywords usergroup="PN3enVBRVH0To(/"> | ||
+ | <keyword>fashion</keyword> | ||
+ | <keyword>cool product</keyword> | ||
+ | <keyword>women</keyword> | ||
</keywords> | </keywords> | ||
</allKeywords> | </allKeywords> | ||
<usergroups> | <usergroups> | ||
<usergroup>LNrLF7BRVJ0toQ==</usergroup> | <usergroup>LNrLF7BRVJ0toQ==</usergroup> | ||
- | <usergroup>cHBw</usergroup> | + | <usergroup>PN3enVBRVH0To(/</usergroup> |
</usergroups> | </usergroups> | ||
<bonuses> | <bonuses> | ||
<bonus>3</bonus> | <bonus>3</bonus> | ||
<bonus usergroup="LNrLF7BRVJ0toQ==">5</bonus> | <bonus usergroup="LNrLF7BRVJ0toQ==">5</bonus> | ||
+ | <bonus usergroup="PN3enVBRVH0To(/">5</bonus> | ||
</bonuses> | </bonuses> | ||
<salesFrequencies> | <salesFrequencies> | ||
- | <salesFrequency>5</salesFrequency> | + | <salesFrequency>15</salesFrequency> |
<salesFrequency usergroup="LNrLF7BRVJ0toQ==">5</salesFrequency> | <salesFrequency usergroup="LNrLF7BRVJ0toQ==">5</salesFrequency> | ||
+ | <salesFrequency usergroup="PN3enVBRVH0To(/">8</salesFrequency> | ||
</salesFrequencies> | </salesFrequencies> | ||
<dateAddeds> | <dateAddeds> | ||
- | <dateAdded>2002-05-30T09:30:10</dateAdded> | + | <dateAdded>2020-05-30T09:30:10</dateAdded> |
- | <dateAdded usergroup="LNrLF7BRVJ0toQ==">2002-05-30T00:00:00</dateAdded> | + | <dateAdded usergroup="LNrLF7BRVJ0toQ==">2020-07-30T00:00:00</dateAdded> |
+ | <dateAdded usergroup="PN3enVBRVH0To(/">2020-06-30T00:00:00</dateAdded> | ||
</dateAddeds> | </dateAddeds> | ||
<sorts> | <sorts> | ||
<sort>5</sort> | <sort>5</sort> | ||
<sort usergroup="LNrLF7BRVJ0toQ==">7</sort> | <sort usergroup="LNrLF7BRVJ0toQ==">7</sort> | ||
+ | <sort usergroup="PN3enVBRVH0To(/">6</sort> | ||
</sorts> | </sorts> | ||
<allProperties> | <allProperties> | ||
Line 790: | Line 840: | ||
<property> | <property> | ||
<key>Basic_rate_price</key> | <key>Basic_rate_price</key> | ||
- | <value>99.9</value> | + | <value>44.8</value> |
</property> | </property> | ||
</properties> | </properties> | ||
Line 816: | Line 866: | ||
<property> | <property> | ||
<key>Basic_rate_price</key> | <key>Basic_rate_price</key> | ||
- | <value>89.9</value> | + | <value>44.8</value> |
</property> | </property> | ||
</properties> | </properties> | ||
+ | <properties usergroup="PN3enVBRVH0To(/"> | ||
+ | <property> | ||
+ | <key>sale</key> | ||
+ | <value>1</value> | ||
+ | </property> | ||
+ | <property> | ||
+ | <key>novelty</key> | ||
+ | <value>0</value> | ||
+ | </property> | ||
+ | <property> | ||
+ | <key>logo</key> | ||
+ | <value>http://www.shop.de/vendor.png</value> | ||
+ | </property> | ||
+ | <property> | ||
+ | <key>availability</key> | ||
+ | <value><![CDATA[<span style="color: green;">3 days</span>]]></value> | ||
+ | </property> | ||
+ | <property> | ||
+ | <key>old_price</key> | ||
+ | <value>99.9</value> | ||
+ | </property> | ||
+ | <property> | ||
+ | <key>Basic_rate_price</key> | ||
+ | <value>44.8</value> | ||
+ | </property> | ||
+ | </properties> | ||
</allProperties> | </allProperties> | ||
</item> | </item> |