xml_export_documentation:xml_format

xml_export_documentation:xml_format

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
xml_export_documentation:xml_format [2019/10/21 15:40]
florian [Wrapper]
xml_export_documentation:xml_format [2020/06/16 15:49]
amil
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 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 32: Line 32:
 ^ Item ^ Short Description ^ Tag required ^ Value required ^ Will be searched ^ ^ Item ^ Short Description ^ Tag required ^ Value required ^ Will be searched ^
 ^**''<?​xml version=“...” encoding=“...”?>''​**| Specifies the encoding ​ | Yes | Yes | No | ^**''<?​xml version=“...” encoding=“...”?>''​**| Specifies the encoding ​ | Yes | Yes | No |
-^**''<​[[#​item]] id="">''​**| Unique ​identification number ​ | Yes | Yes | No |+^**''<​[[#​item]] id="">''​**| Unique ​identifier ​ | Yes | Yes | No |
 ^**''<​[[#​ordernumbers]]>''​**| Article number or order number | Yes | No | Yes | ^**''<​[[#​ordernumbers]]>''​**| Article number or order number | 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 |
Line 38: Line 38:
 ^**''<​[[#​descriptions]]>''​**| Detailed article description | Yes | No | Yes | ^**''<​[[#​descriptions]]>''​**| Detailed article description | Yes | No | Yes |
 ^**''<​[[#​prices]]>''​**| Current article price including taxes | Yes | Yes | **filterable only** | ^**''<​[[#​prices]]>''​**| Current article price including taxes | Yes | Yes | **filterable only** |
-^**''<​[[#​urls]]>''​**| URL to the article page, must be absolute | Yes | No | No |+^**''<​[[#​urls]]>''​**| URL to the article page, must be absolute | Yes | Yes | No |
 ^**''<​[[#​images]]>''​**| URL to the article image, must be absolute. | Yes | No | No | ^**''<​[[#​images]]>''​**| URL to the article image, must be absolute. | Yes | No | No |
 ^**''<​[[#​keywords]]>''​**| Keywords linked to current article | Yes | No | Yes | ^**''<​[[#​keywords]]>''​**| Keywords linked to current article | Yes | No | Yes |
-^**''<​[[#​usergroups]]>''​**| Visibility of article, i.e. only visible to the exported usergroups. see [[xml_export_documentation:​xml_format#​Calculating the usergroup-hash|how to generate usergrouphashes]] ​| Yes | No | No |+^**''<​[[#​usergroups]]>''​**| Visibility of article, i.e. only visible to the exported usergroups | Yes | No | No |
 ^**''<​[[#​bonuses]]>''​**| Bonus value to rank certain articles higher than others | No | No | No | ^**''<​[[#​bonuses]]>''​**| Bonus value to rank certain articles higher than others | No | No | No |
 ^**''<​[[#​salesfrequencies]]>''​**| Amount of sold items of this article | Yes | No | No | ^**''<​[[#​salesfrequencies]]>''​**| Amount of sold items of this article | Yes | No | No |
Line 75: Line 75:
   * ''<​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 tip>​**Using our export toolkit?** <note tip>​**Using our export toolkit?**
Line 255: Line 255:
   * ''<​images>''​ contains 1+ ''<​image>''​-tags.   * ''<​images>''​ contains 1+ ''<​image>''​-tags.
   * ''<​image>''​ contains an URL of an image.   * ''<​image>''​ contains an URL of an image.
-  * If there is no image for a product, the shop-specific "No Image Available" ​image has to be exported.+  * If there is no image for a product, the shop-specific "No Image Available" ​should ​be exported.
  
 <note tip>​**Using our export toolkit?** <note tip>​**Using our export toolkit?**
Line 306: Line 306:
   * ''<​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 334: Line 334:
 === Recommendation === === Recommendation ===
   * In case of more than 128 ''<​usergroups>'',​ please contact [[mailto:​support@findologic.com|support@findologic.com]],​ in order to adjust default settings.   * In case of more than 128 ''<​usergroups>'',​ please contact [[mailto:​support@findologic.com|support@findologic.com]],​ in order to adjust default settings.
-  * The value in the CDATA-block of the ''<​usergroup>''​-tag will be encoded as described below to prevent a manipulation of the search-requests ​(e.g. R-rating)+  * To avoid potential misunderstandings,​ preferably use alphanumeric values for usergroups ​(e.g. ''​18plus'',​ ''​B2B''​).
  
  
Line 341: Line 340:
  
 Creating an ''<​usergroup>''​ element with [[https://​github.com/​findologic/​libflexport/​wiki#​usergroup|libflexport]].</​note>​ Creating an ''<​usergroup>''​ element with [[https://​github.com/​findologic/​libflexport/​wiki#​usergroup|libflexport]].</​note>​
- 
- 
-=== Calculating the usergroup-hash === 
- 
-The usergroup-hash is composed of two components: 
- 
-  * the shopkey (e.g. ''​A6039131315BE9F868E358D5AC784405''​) 
-  * The combined usergroups (z.B. '​at_ratedR'​) 
- 
-These components are put together with ''​xor''​ and base64 and thus can be decoded. 
- 
-=== Example: === 
-  
-<code php> 
-$shopkey = '​A6039131315BE9F868E358D5AC784405';​ 
-$usergroup = '​at_ratedR';​ 
-$hash = base64_encode($shopkey ^ $usergroup);​ // = '​IEJvQVhFVlVh'​ 
- 
-$usergroup_decoded = ($shopkey ^ base64_decode($hash));​ // = '​at_ratedR';​ 
-</​code>​ 
- 
----- 
- 
 ==== bonuses ==== ==== bonuses ====
  
Line 484: Line 460:
   * ''<​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 505: Line 481:
 ==== 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 ...