<?xml version=“1.0” encoding=“UTF-8”?>
[…] <summaries /> <descriptions /> <usergroups /> […]
Item | Short Description | Tag required | Value required | Will be searched |
---|---|---|---|---|
<?xml version=“…” encoding=“…”?> | Specifies the encoding | Yes | Yes | No |
<item id=“”> | Unique identifier | Yes | Yes | No |
<ordernumbers> | Article number, EAN or SKU | Yes | No | Yes |
<names> | Article name, as usually shown on the result page | Yes | Yes | Yes |
<summaries> | Summarized article description | Yes | No | Yes |
<descriptions> | Detailed article description | Yes | No | Yes |
<prices> | Current article price including taxes | Yes | Yes | filterable only |
<overriddenPrices> | Strike-through price including taxes | No | 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 |
<keywords> | Keywords linked to current article | Yes | No | Yes |
<groups> | Visibility of article, i.e. only visible to the exported groups | Yes | 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 |
<dateAddeds> | Date current article was added | Yes | 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 |
<properties> | Additional information of article to be shown on search result listing | Yes | Yes | No |
<variants> | Product variants | Yes | Yes | No |
Attributes and properties in XML-feed |
<?xml version="1.0" encoding="UTF-8"?> <findologic version=""> <items start="" count="" total=""> <item id=""> [...] </item> <item id=""> [...] </item> [...] </items> </findologic>
<findologic>
has to have the attribute version
containing the version of the format.<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 Export<items>
may contain 1+ <item>
-tags.You can find the information about how to setup our export library on our Github wiki page.
[...] <item id=""> [...] </item> [...]
<item>
holds all the information for a single item, identified by a unique ID.<item>
-tag can be general (no usergroup
-attribute) or limited to a single usergroup via the usergroup
-attribute. The general information is only shown if there is no specific information for the usergroup of the specific user.Creating an item with our export library is that simple.
[...] <allOrdernumbers> <ordernumbers> <ordernumber><![CDATA[]]></ordernumber> <ordernumber><![CDATA[]]></ordernumber> </ordernumbers> <ordernumbers usergroup=""> <ordernumber><![CDATA[]]></ordernumber> </ordernumbers> [...] </allOrdernumbers> [...]
<allOrdernumbers>
contains 1+ <ordernumbers>
-tags, distinguished via the usergroup-attribute.<ordernumbers>
contains 1+ <ordernumber>
-tags.<ordernumber>
contains an article-number like internal arcticle number, EAN, ISBN, …Creating an ordernumber element with libflexport.
[...] <names> <name><![CDATA[]]></name> <name usergroup=""><![CDATA[]]></name> [...] </names> [...]
<names>
contains 1+ <name>
-tags, distinguished via the usergroup-attribute.<name>
contains the title of the product.Creating a name element with libflexport.
[...] <summaries> <summary><![CDATA[]]></summary> <summary usergroup=""><![CDATA[]]></summary> [...] </summaries> [...]
<summaries>
contains 1+ <summary>
-tags, distinguished via the usergroup-attribute.<summary>
contains the short-summary of the product.Creating a summary element with libflexport.
[...] <descriptions> <description><![CDATA[]]></description> <description usergroup=""><![CDATA[]]></description> [...] </descriptions> [...]
<descriptions>
contains 1+ <description>
-tags, distinguished via the usergroup-attribute.<description>
contains the long-description of the product.Creating a description element with libflexport.
[...] <prices> <price><![CDATA[]]></price> <price usergroup=""><![CDATA[]]></price> [...] </prices> [...]
<prices>
contains 1+ <price>
-tags, distinguished via the usergroup-attribute.<price>
contains the price of the product in the format 99.99
.“.”
as decimal seperator.
Creating a price element with libflexport.
[...] <overriddenPrices> <overriddenPrice><![CDATA[]]></overriddenPrice> <overriddenPrice usergroup=""><![CDATA[]]></overriddenPrice> [...] </overriddenPrices> [...]
<overriddenPrices>
contains 1+ <overriddenPrice>
-tags, distinguished via the usergroup-attribute.<overriddenPrice>
contains the price of the product in the format 99.99
.“.”
as decimal seperator.
Creating an overriddenPrice element with libflexport.
[...] <urls> <url><![CDATA[]]></url> <url usergroup=""><![CDATA[]]></url> [...] </urls> [...]
<urls>
contains 1+ <url>
-tags, distinguished via the usergroup-attribute.<url>
contains the URL of the product with leading http[s]
, which leads the user to the product-detail-page.Creating an url element with libflexport.
[...] <allImages> <images> <image><![CDATA[]]></image> </images> <images usergroup=""> <image><![CDATA[]]></image> </images> [...] </allImages> [...]
<allImages>
contains 1+ <images>
-tags, distinguished via the usergroup-attribute.<images>
contains 1+ <image>
-tags.<image>
contains an URL of an image.Creating an image element with libflexport.
[...] <allKeywords> <keywords> <keyword><![CDATA[]]></keyword> <keyword><![CDATA[]]></keyword> [...] </keywords> <keywords usergroup=""> <keyword><![CDATA[]]></keyword> [...] </keywords> [...] </allKeywords> [...]
<allKeywords>
contains 1+ <keywords>
-tags, distinguished via the usergroup-attribute.<keywords>
contains 1+ <keyword>
-tags.<keyword>
contains a single keyword of the product.Creating a keyword element with libflexport.
[...] <groups> <group><![CDATA[]]></group> <group><![CDATA[]]></group> [...] </groups> [...]
<group>
contains 1+ <group>
-tags.<group>
contains a usergroup to which the item is visible.<group>
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.<group>
is requested, all items are returned.<group>
is requested, only items with a matching <group>
are returned.<group><![CDATA[employee]]> </group>
only products for which this usergroup is set are visible.<group>
is ignored, so that when requesting an unknown <group>
all items are visible. usergroups
attribute you can set specific images, keywords, price etc.usergroup
attribute within XML tags, you can set specific item information for given usergroups
.usergroup
is requested the default (non-usergroup) value is used for all tags. Therefore default (non-usergroup) tags are required for all elements in the data feed.usergroup
is requested the usergroup-specific value is used for all tags.<name usergroup=“employee ”><![CDATA[Internal product title]]></name>
the name set for this usergroup is used.<names><name><![CDATA[Product title]]></name><name usergroup=“b2b”><![CDATA[B2B product title]]></name></names> → “Product title“
is used, cause this represents the default (non-usergroup) info.<property>
tags are defined at <properties>
level. Usergroup-specific <property>
tags are not merged with default <property>
tags, therefore for each usergroup all the <property>
tags for this usergroup must be exported.
<Attributes>
cannot be usergroup-specific and therefore cannot be exported with a <usergroup>
attribute.<groups>
, please contact support@findologic.com, in order to adjust default settings.18plus
, B2B
).
Creating an <group>
element with libflexport.
[...] <bonuses> <bonus><![CDATA[]]></bonus> <bonus usergroup=""><![CDATA[]]></bonus> [...] </bonuses> [...]
<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. Creating a bonus element with libflexport.
[...] <salesFrequencies> <salesFrequency><![CDATA[]]></salesFrequency> <salesFrequency usergroup=""><![CDATA[]]></salesFrequency> [...] </salesFrequencies> [...]
<salesFrequencies>
contains 1+ <salesFrequency>
-tags, distinguished via the usergroup-attribute.<salesFrequency>
contains a non-negative integer value for the salesfrequency which can be used for sorting.<salesFrequency>
-values, please contact our support team. Creating a salesfrequency element with libflexport.
[...] <dateAddeds> <dateAdded><![CDATA[]]></dateAdded> <dateAdded usergroup=""><![CDATA[]]></dateAdded> [...] </dateAddeds> [...]
<dateAddeds>
contains 1+ <dateAdded>
-tags, distinguished via the usergroup-attribute.<dateAdded>
contains the date and time, when this item was added to the store.xs:dateTime
, a valid value is 2002-05-30T09:30:10
2002-05-30T00:00:00
Creating a dateadded element with libflexport.
[...] <sorts> <sort><![CDATA[]]></sort> <sort usergroup=""><![CDATA[]]></sort> [...] </sorts> [...]
<sorts>
contains 1+ <sort>
-tags, distinguished via the usergroup-attribute.<sort>
contains a custom integer value which can be used for sorting.<sort>
-values, please contact our support team. <sort>
-values. Creating a sort element with libflexport.
[...] <visibilities> <visibile><![CDATA[]]></visibile> <visibile usergroup=""><![CDATA[]]></visibile> [...] </visibilities> [...]
<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.Creating a visibility element with libflexport.
[...] <allAttributes> <attributes> <attribute> <key><![CDATA[value]]></key> <values> <value><![CDATA[value]]></value> <value><![CDATA[value]]></value> [...] </values> </attribute> [...] </attributes> </allAttributes> [...]
<allAttributes>
contains 1 <attributes>
-tag.<attributes>
-tag must NOT have an usergroup
-attribute.<attributes>
contains 1+ <attribute>
-tags.<attribute>
contains a key/value set with 1 <key>
-tag identifying the attribute and 1+ <value>
-tags setting the values for the attribute. Sneakers_Men
an article in the category “Sneakers” and in the subcategory “Men”)/sneakers/men.html
)Adidas
)Creating an attribute element with libflexport.
<attributes>
<attribute>
<key>
<value>
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 …
… these cat_url's
-values should be added to the <attributes>
-tag.
<allAttributes> <attributes> <attribute> <key><![CDATA[cat_url]]></key> <values> <value><![CDATA[/presents]]></value> <value><![CDATA[/presents/champagne]]></value> <value><![CDATA[/wedding-presents]]></value> <value><![CDATA[/jacken&maentel]]></value> <value><![CDATA[/de/geschenke/champagner]]></value> <value><![CDATA[/en/presents/]]></value> </values> </attribute> [...] </attributes> </allAttributes>
cat_url's
have to be exported as relative paths.
cat_url's
and sub-cat_url's
for the main- and sub-categories, that an article is assigned to.
/
at the end of the cat_url
needs to be included if the category pages of your shop are ending with a /
.
[...] <allProperties> <properties> <property> <key><![CDATA[value]]></key> <value><![CDATA[value]]></value> </property> <property> <key><![CDATA[value]]></key> <value><![CDATA[value]]></value> </property> [...] </properties> <properties usergroup=""> <property> <key><![CDATA[value]]></key> <value><![CDATA[value]]></value> </property> <property> <key><![CDATA[value]]></key> <value><![CDATA[value]]></value> </property> [...] </properties> [...] </allProperties> [...]
Creating a property element with libflexport.
<allProperties>
contains 1+ <properties>
-tags, distinguished via the usergroup-attribute.<properties>
contains 1+ <property>
-tags.<property>
contains a key/value set with 1 <key>
-tag identifying the property and 1 <value>
-tag setting the value for the property. <properties>
contains every information irrelevant to the search itself but relevant for displaying the products in the shop. <properties>
can contain a usergroup
attribute.usergroup
is given in the request, only the properties explicitly exported for this usergroup
will be returnedusergroup
is given in the request, but no <properties/>
are exported for this usergroup
, the default <properties/>
are returned (ie. the <properties/>
without usergroup
)<properties>
-block without a usergroup is used as default in case no <properties>
-block for the requested usergroup exists. In case a <properties>
-block exists for the requested usergroup, but a certain <property>
is missing, no default-value is available. <property>
Keys are not allowed for use:ordernumber
image[0-9]+
thumbnail[0-9]+
<properties>
<property>
<key>
<value>
Main differences between attributes and properties is:
Here is map of HTML-template with one product in results at the right side and filters at the left side.
[...] <variants> <variant id="variant_3"> ... </variant> <variant id="variant_4"> ... </variant> </variants> [...]
A <variant> can contain the following data. This data is structured the same as for its parent.
Creating a variant element with libflexport.