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
xml_export_documentation:xml_format [2019/10/01 16:38]
lukas [usergroups]
xml_export_documentation:xml_format [2020/04/03 12:23] (current)
pavel
Line 9: Line 9:
   * 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.
Line 15: Line 15:
   * 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>​
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 74: Line 74:
   * ''<​items>''​ gives information about the start-pointer (''​start''​),​ how many products are exported per step (''​count''​) and how many products exists in the shop in total (''​total''​). For more information see [[xml_export_documentation:​xml_request_and_response|Export]]   * ''<​items>''​ gives information about the start-pointer (''​start''​),​ how many products are exported per step (''​count''​) and how many products exists in the shop in total (''​total''​). For more information see [[xml_export_documentation:​xml_request_and_response|Export]]
   * ''<​items>''​ may contain 1+ ''<​item>''​-tags.   * ''<​items>''​ may contain 1+ ''<​item>''​-tags.
 +
 +<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 253: 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 304: 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 332: 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 339: 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 ====