Product Differentiation allows you to customize the webshop or the customization process of a product per environment.
How it works
Product Differentiation or PD for short. It works with “retailer classes” that can be assigned to all sorts of elements within the Expivi Backoffice. Two sides make PD work, the environment, and the products.
Before we start we need to create the classes to differentiate every possible combination for your products.
Head over to the classes page in the Expivi Backoffice to make them. Click on the “Add” button in the top right, fill in the name and use the type “Retailer.”
After creating all the needed retailer classes, we will assign them to either a subdomain or an API token in the Expivi Backoffice. If you are using the Expivi Webshop you will need to assign the classes to the related subdomain. If you are using a custom integration which you have made an API Token for, you need to edit that token to include the newly created classes.
Both pages can be found in the Details menu on the left side of the Expivi Backoffice.
Products can be assigned classes on a few levels.
- On the product itself so it will be visible or hidden in the gallery of your webshop.
- On its attributes, to show or hide those.
- On the values of attributes, like options of a question attribute or in a material group.
Not all attribute values support these classes, at the moment we support them on question attribute values and material groups.Not all attribute values support these classes, at the moment we support them on question attribute values and material groups.
The Logic Behind It
There are a few rules to keep in mind when assigning classes to a product, attributes, API tokens, and or subdomains to know whether it will return in something being visible, or hidden.
The general rules are:
- If something does not have a class it will be visible. For example, if your product has classes, but the environment does not, then PD will not be used
- If the product and environment have at least one class in common, the product will be invisible
- If the product and environment share no common classes then the product will be visible.