Import your products into SCAYLE
Introduction and preparation
- Product Data Management
- Tech

Robert Merten
VP Tech
SCAYLE provides you a very flexible product schema and entity level structure.
It allows you to model your product schema in a way that it matches your product portfolio you're planning to sell via SCAYLE.
Products are the central data structure for category listings and product detail pages.
Information about products is stored as Attribute Groups. Product data can be configured and customized at different entity levels. The system differentiates between three entity levels: master, product, and variant.
The user can specify which product information correlates to which entity level. Prices are determined by the variant because that is the specific entity to be sold.
Be aware that Product is the Entity Level that is responded on Product Listing pages such as Category Page, Search Result Page and Product Detail Page.
Variant is the Entity Level that you use to put a specific Product Variant in a Basket or use it for a Transaction.
You define your Product Schema by using Attribute Groups on Master, Product & Variant level.
An Attribute Group is a collection of different attributes (or attribute values). For example, the Attribute Group color could contain attribute values; black, blue, and green. We use this information to define a product and its characteristics. All the information a customer may need to know about a product should be stored in an Attribute Group in SCAYLE. For example, if you want to share a product’s cleaning instructions, list the details as an attribute.
There are two types of Attribute Group available in SCAYLE:
Both types can be translated. This is relevant if you’re working with multiple shop countries and languages.
Simple Attribute Groups can be used for different products, but it is also possible to add several values of a simple attribute group to one product with multi-select.
Advanced Attribute Groups are most often free text fields that are connected to a specific product.
Every Attribute Group is valid for only one entity type, which is determined by the level
.
The supported levels are:
The Attribute Group type describes attribute values. The supported values are:
"red"
["red", "blue"]
{"de_DE": "Rot", "en_GB": "red"}
[{"de_DE": "Rot", "en_GB": "red"}, {"de_DE": "Blau", "en_GB": "blue"}]
{"width": 90, "height": 180, "unit": "cm"}
[{"width": 90, "height": 180, "unit": "cm""}, {"width": 100, "height": 200, "unit": "cm"}]
When an Attribute Group is defined as shared ("isShared": true
), entities share attribute values instead of having their own values. In this case, if the value is changed or a new translation is added or removed for the attribute, all entities sharing the same attribute value will be affected.
Shared attributes' translations are fully replaced with those provided in the payload.
In entity related update methods translations of locked attributes are ignored. To update such translations, the query parameter ignoreAttributeLocks=true
is necessary.
It is not possible to share attributes of the advanced
and advancedList
types.
For attribute values with a string length longer than 255 characters, you have to create an advanced Attribute Group.
This can be done by passing "isShared": false
and the respective Attribute Group type, for example localizedString
if you want to have a translatable attribute.
See the example below for creating such an attribute group:
Attributes of advanced
and advancedList
types are used to store compound arbitrary values. These values are described by the attribute group structure. For example, if you want to save product dimensions {"width": 90, "height": 180, "unit": "cm"}
, you need the following structure:
The attribute group structure supports various data types:
attributeGroupName
to be specified, e.g., {"type": "attributeGroup", "attributeGroupName": "unit"}
attributeGroupName
and attributeName
to be specified, e.g., {"type": "attributeGroup", "attributeGroupName": "unit", "attributeName": "cm"}
When creating an Attribute Group within the SCAYLE Panel, you can choose between Simple
and Advanced
attribute structures.
If Advanced
is selected and Component
has only one field, then Admin API considers this attribute group to be of the following type:
simple
- if the attribute group is not translatable and the field is a single-selectsimpleList
- if the attribute group is not translatable and the field is a multi-selectlocalizedString
- if the attribute group is translatable and the field is a single-selectlocalizedStringList
- if the attribute group is translatable and the field is a multi-selectAdmin API does not support nested or multiple group sets in the advanced group structure.
Most shops offer a variety of products, so it's helpful to categorize these products. In SCAYLE, we use master categories, which could include divisions such as trousers, T-shirts, dresses, etc. Based on the master categories, you can define different product types (related to purchase categories in the tenant systems.) For example, differentiating between clothing products and furniture products. Every product requires a master category in SCAYLE, and you must input this information to create a product. Within each master category, you can define mandatory attribute groups for corresponding products.
Keep in mind the differences between master categories and shop categories. Master categories are only relevant for product structure in the SCAYLE backend.
You can set up master categories manually or by importing them in the SCAYLE Panel. We recommend manual setup because you’ll only need to complete this step once. Details can be found here.
Now that you have an overview of our product structure, you’ll need to decide what kinds of attribute groups and master categories you’ll need for your project.
We've put together this guide to help you with your decisions.
Question/situation | Answer |
---|---|
What information about a product should be shown in the shop front end? | All product-related information should be listed in an attribute group in SCAYLE. |
Do you have products in the same style but differing in dimensions like color, pattern, or print? | If yes, you should assign all the products of the same style to the same master. |
Is there information that always remains the same about a product, besides color or size? | This information should be defined in an attribute group on the master level. |
Is there information that differs between color options? | If yes, this information should only be related to the specific color and defined in an attribute group on the product level. |
Is there specific information for a product size that is relevant for the customer? | If yes, this information should be defined in an attribute group on the variant level. |
Is there any product-related information that is requested for third-party tools or reporting that has to be handled in SCAYLE? | You should also include this information within SCAYLE attribute groups. |
How do you structure your products in your purchase tool? | You can usually use your purchase structure to create the same master categories. |
Do you plan on selling different product types? | For example, furniture and fashion products should be handled with different master categories. |
Should you list product information in an advanced or simple attribute group? | To decide which type of attribute group to use, consider if the information is reusable. Only free text descriptions or product-specific information (like EANs) should be advanced attribute groups. All product information can usually be listed in simple attribute groups. Please try to mostly use simple attribute groups to reduce database complexity. |
There are different methods to interact with products in the Admin API and Storefront API.
All product data is based on a predefined master data structure that is initially created and configured.
Once all product data has been transferred to the system, you can start with the master data configuration. The best way to do this is to get an overview in the Settings area.
On the left side, you can see the different data structure levels:
Product structure
Composite products are generally considered to be the same as normal products. The difference is that composite products are not real products, but, as the name suggests, they are composed of several other products. Simple examples are a bikini top and a bikini pant or a jersey with a flocking (e.g. name and number) on the back. Here again the same product hierarchy applies, consisting of masters, products and variants.
If you want to read more about masters, products and variants, please refer to the corresponding pages, starting with Product Data Management - Products - Overview.
The data model being used to represent (composite) products in SCAYLE contains entities with multiple levels of abstractions.
Import your products into SCAYLE
Robert Merten
VP Tech