Imports
Access the Imports area under Settings > Imports & Jobs > Imports
. Here, there are different options for importing data in XLSX format. Imports allow you to perform bulk actions. For example, you can:
- Update campaign prices
- Override merchant prices
- Import Attribute Group translations, and more.
The import overview page shows all data that has already been imported. Different import statuses behave the same for all formats. You can import prices, merchants, translations, settings (master data), shops, products, and customer, vouchers, and checkout configurations.
The columns in the imports table are described in the table below:
Column | Description |
---|---|
ID | Unique ID generated for every import. |
Area | Shows the type of the import file. |
Updated | Shows when the import file was last updated. |
User | Shows who uploaded the import file. |
File | Enables the user to upload a file and shows the name of the import file. |
Process | Shows how many items were already processed. |
Status | Shows the status of the import file. |
Mode | Shows if the imported data is replaced or appended. |
Import statuses are described in the table below.
Status | Effect |
---|---|
Draft | The records to be imported have been uploaded but not yet activated. |
Pending | Imported records have not yet been approved. |
In_progress | The import is executed. |
Failed | The file import has failed completely. |
Partially_failed | The file import partially failed. Some entries could not be imported. |
Completed | The import of new data was completed. |
Ready_for_Review | The import is pending for checking by another user. |
Declined | The imported records are rejected. |
Prices
The following options are available for price imports:
- Campaign prices
- Shop prices
- Overwrite merchant prices
- Remove custom prices
- Remove price history
Campaign Prices
Importing campaign prices updates product prices that are part of a price campaign and assigns (or removes) the relevant campaign price. The campaign ID is required for price imports and can be found on the price campaigns overview page.
There are two different import modes for campaign prices:
- Append: products/discounts are added to a campaign, or existing discounted products are updated.
- Replace: entirely replaces products/discounts. Products without reductions (field is empty or 0) are removed from the campaign.
The import allows you to control price campaigns on a merchant product variant level. This prevents situations where the reduced-price merchant runs of of stock, and your company has to pay the difference for a product (variant).
Import an XLSX file with the columns as shown in the example table below. (All populated columns are mandatory.) In this example, the reduction would be 20 for products with the merchant_product_id
5678. For all other potential merchants, a reduction of 10 would be applied.
campaign_id | product_id | merchant_product_id | reduction |
---|---|---|---|
1 | 1234 | 10 | |
1 | 1234 | 5678 | 20 |
For more information, see Campaigns.
Shop Prices
The Shop Prices option allows you to sell a product with different prices on different marketplaces. Prices for a specific price promotion key are updated by importing shop prices. This import creates another database entry for the product-variant-price which will have a price_promotion_key
or a price_group
. This entry will also get a flag is_custom
.
These prices are valid for all shops assigned to this price promotion key. The discount validation is calculated using the current uploaded price and the old price that was previously uploaded.
It is not possible to update the price of a marketplace merchant product. If the price to be updated belongs to a merchant which has is_marketplace_merchant
set to true,
the price won't be updated.
Overwrite Merchant Prices
The Overwrite Merchant Prices option allows you to overwrite price information a merchant submits to the system. The overwritten merchant prices will not be automatically updated in the future. The original merchant price gets a database flag is_custom
and the old price is stored as overwrite_price
.
It is not possible to overwrite the price of a marketplace merchant product. If the price to be overwritten belongs to a merchant which has is_marketplace_merchant
set to true,
the price won't be updated.
Remove Custom Prices
The Remove Custom Prices option allows you to reset the shop or merchant prices. In other words, custom Shop Prices or Merchant Prices (is_custom
from above) are removed and reverted.
Remove Price History
Remove Price History allows you to correct the lowest prior price of the past 30 days (if it is calculated based on incorrect data). The import will delete the product_variant_id
with the incorrect price from the database so that it will no longer be included in the calculation of the lowest prior price.
Merchants
There are two different options for merchant imports:
- Merchant product state
- Zip code warehouse configurations
You can change the product status of merchant products that is already assigned to a product by using the merchant product state import.
A shop can have multiple warehouses. When a customer places an order, it reaches the nearest warehouse for fastest delivery. Based on the customer's location placing the order, the zip code determines which warehouse and carrier delivers the package. The zipcode warehouse configuration import can be used to assign zip code to specific warehouses and carriers.
The zipcode_pattern
allows only two digits.
Translations
The SCAYLE Panel supports the following translation imports:
- Attribute value translations
- Attribute Group translations
- Master category translations
It is helpful to use this option if translations are imported from external agents who do not have access to the SCAYLE Panel.
For more information, see Translations.
Settings
The following options are used to import so-called "master data" into the SCAYLE Panel:
- Simple Attribute Groups
- Master categories
- Attribute Group mappings
For more information, see Product Structure.
Simple attribute values
You can add new simple attributes values to an Attribute Groups or update existing attributes values by importing master data.
Column | Description |
---|---|
attribute_group_id | ID of the Attribute Group to be changed. |
attribute_id | If the field is empty, a new Attribute Group is created. If the ID exists, the existing Attribute Group is updated. |
attribute_name | Name of the new Attribute Group or Attribute Group to be updated. |
Master Categories
Importing master categories allows you to create new categories or update existing ones. It is also possible to define master category settings including assigning (mandatory) Attribute Group, defining default Attribute Group IDs, and disabling Attribute Group IDs.
Column | Description |
---|---|
master_category_id | The category ID, which can be found under settings for every master category (e.g., 123 ). |
master_category_name | Name of the new category (e.g., New ). |
master_category_parent_id | ID of the parent category (e.g., 3 ). |
attribute_group_id | ID of the assigned Attribute Group (e.g., 5 ). |
is_mandatory_attribute_group | An attribute valueof the respective Attribute Group needs to be assigned before a product can go live (true or false ). |
default_attribute_ids | Attribute Groups IDs that are assigned by default (e.g., 2, 3 ). |
disabled_attribute_ids | Attribute Groups IDs that are disabled (e.g., 4, 5, 6 ). |
In the import file, the superordinate categories must be defined before the subcategories, otherwise there may be problems with the assignment.
Attribute Groups Mapping
You can assign attribute values to one or more Attribute Groups of other attribute groups by importing attribute mappings. Alternatively, you can leave the target_attribute_id field empty to select the option No Mapping Necessary for the respective base attribute.
Column | Description |
---|---|
base_attribute_id | ID of source attribute (merchant attribute). |
target_attribute_group_id | ID of target attribute group (master attribute). |
target_attribute_id | ID of target attribute, if empty No Mapping Necessary is selected. |
recalculate_mapping | Setting either true or false in this field determines whether the mapping should apply to current data with the same base Attribute Group ID and synchronize them with the new mapping (=false) or not (=true). |
If you don't fill out anything for this field, it is set to true by default. This means that your imported mapping will not have an effect on existing entities with the same base Attribute Group ID. |
Attribute Group level | Can be mapped to |
---|---|
Variant | Variant |
Product | Style, product, and variant |
Style | Style and product |
Category | Category |
Image | Image |
Brand | Brand |
Shops
The SCAYLE Panel supports the following shop imports for shop categories:
- Create shop categories
- Move shop categories
- Update shop categories
- Shop search synonyms
The Create and Move categories require a shop_id
, while Update requires shop_country_id
. Imports which require shop_id
update the configuration on the global shop level (shop categories can only be created on the global shop level). Also, with the Move import, the position can only be adjusted on global level.
Create Shop Categories
To create new shop categories in the Import area, create an XLSX file in the predefined format.
Column | Description |
---|---|
shop_id | Id of shop where a new category needs to be created. |
parent_id | If available, ignore the levels (except the last one). |
level_1, level_2,....level_10 | Hierarchy of shop category tree. |
With this import, a whole new shop category tree can be created or new categories can be added to an existing one. Every category added to a level means that a new category is created. The levels represent each category in the hierarchy of the shop category tree in the Shop Frontend. For example, Clothing > Women > Jacket > WinterJacket
represents 4 levels of categories. The new shop categories will be created as inactive and invisible.
The parent_id
is the category under which a child (and subsequent children) are created. If the parent_id
is empty, the category on level_1
is created on the root-level. If the parent_id
has a value, it has to be on the level prior to the first one in the file. Otherwise, the category will not be created.
level_1
can either be root-level or, if the parent_id
has a value, level_1
can be have a parent.
Examples
- Suppose you want to create a category on
level_9
with already existing categories on the prior levels. There are different options to accomplish this:- You can provide a file with the columns
shop_id
,parent_id
,level_1
,level_2
,level_3
,level_4
,level_5
,level_6
,level_7
,level_8
,level_9
providing values for all columns. In this case, the system checks if the category onlevel_8
exists for thisshop_id
. The existing categories will not be re-created. - You can provide a file with the columns
shop_id
,parent_id
,level_1
,level_2
,level_3
,level_4
,level_5
,level_6
,level_7
,level_8
,level_9
but not include values for the columnslevel_1
,level_2
,level_3
,level_4
,level_5
,level_6
,level_7
,level_8
. In this case, the system checks if thecategory_id
provided asparent_id
is onlevel_8
. - You can only provide the columns
shop_id
,parent_id
, andlevel_9
. In this case, the system checks if thecategory_id
provided asparent_id
is onlevel_8
.
- You can provide a file with the columns
- If you want to create a category on root-level,
parent_id
should be empty. The category to be created on root level should be inserted underlevel_1
. - If a category is to be created on
level_1
,parent_id
should be thecategory_id
of the category on the root level. - If a category is to be created on
level_2
,parent_id
should be thecategory_id
onlevel_1
.
The assignment of the category names to the levels must be precise in order to satisfy the validation rules.
- If
category_id
provided onlevel_8
does not exist, the category onlevel_9
is not created an the user gets the following warning message: “# categories will not be created, since their parents are not at the level prior to them”. - If no
category_id
is provided forlevel_8
and thecategory_id
provided forparent_id
is not onlevel_8
of the providedshop_id
, the category onlevel_9
is not created an the user gets the following warning message: “# categories will not be created, since their parents are not at the level prior to them”. - If a category-tree is created with “missing-levels”, the respective category is not created and the user gets the following warning message: “# categories will not be created, since there is no category on the prior level to the one where it is supposed to be created on”.
Move Shop Categories
To move shop categories, create an XLSX file in the predefined format.
Column | Description |
---|---|
application_id | Global Shop ID. |
category_id | Category ID. |
parent_id | Parent-category under which a category should be moved to. |
parent_id
is nullable. If parent_id
is empty, the category will be moved to the parent-level.
Update Shop Categories
The Update import can be used to change the name on shop-country level (translate the category), or set the import to active/inactive or visible/invisible. The changes apply only to the selected country-level.
To update shop categories, create an XLSX file in the indicated format.
Column | Description |
---|---|
shop_country_id | Id of shop country where a new category needs to be created. |
category_id | Category ID to update. |
name | Category name. |
is_active | New shop category is activated. |
is_visible | New shop category is visible. |
is_visible
, is_active
and name
are nullable. If one of them is not set on the import file, it will maintain the current value.
Shop Search Synonyms
You can also easily add, update, or delete shop search synonyms with an import. Only attributes that are part of the Search Result Logic can be imported. To Shop Search Synonyms, create a file in the indicated format.
Column | Description |
---|---|
shop_id | Id of shop country that you want to update Shop Search Synonyms for |
identifier | Insert the term (for type "term") or the id (for type "attribute" or "category") that you want to add, update or remove from the Shop Search Synonyms Configuration |
attribute_group | Insert the name of the attribute group that you want to add, update or delete in case the defined type is "attribute". If the type is not "attribute" this field is not required |
type | Define "attribute", "term" or "category" |
synonym | Set the Synonym that you want to configure for the defined type and identifier. If "Synonym" is left empty, the existing configuration will be removed. In case you want to update an existing configuration, keep in mind that synonyms updated via import will replace existing synonyms. |
For more information, see Search.
Update Assortment
You can update the assortment of a shop (at the country level). Values can be added to, or removed from existing include and exclude configurations. The import does not allow you to create new configurations.
Column | Description |
---|---|
shop_country_id | Shop country ID (e.g., 123 ). |
criterion | e.g., products , merchants , categories , 12 (Attribute Group ID) . |
value | e.g., 25 , 93 , 42 , 100 (Attribute ID) . |
include_exclude | include in, or exclude from the assortment. |
add_remove | add to, or remove from the assortment. |
Navigation
Using Create Navigation import you can create entire navigation trees up to 10 levels displayed in the storefront navigation. You may also find it interesting to visit our comprehensive course available on the SCAYLE Academy platform.
Create/Update the shop navigation in the SCAYLE Panel
Note: Only one item per row is created. Parent menu items MUST be added before child items are created. The correct order in the import file is essential for the import to succeed.
It is not possible to have duplicate navigation items under the same parent.
- Go to
Settings > Imports & Jobs > Imports.
- Then select
Shops > Create Navigation > Choose File
. - Upload a CSV or XLSX file specifying menu names, items, and target values.
Example
Download the Sample navigation file in the SCAYLE Panel.
CSV file structure
shop_id | menu_name | parent | menu_item_name | target_type | target_value | visible_from | visible_to |
---|---|---|---|---|---|---|---|
1 | Navigation 1 | ||||||
1 | Navigation 2 | Glasses | category | 2 | 14/01/2023 00:00 | 24/02/2023 23:59 | |
1 | Navigation 2 | Glasses | Sunglasses | page | 1 | 01/02/2023 00:00 | |
1 | Navigation 4 | contact lenses | individual-link | www.test1.de | 31/03/2023 15:00 |
Column | Description |
---|---|
shop_id | Shop ID (e.g., 2000 ). |
menu_name | Menu name (e.g., Navigation 1 , Navigation 2 , etc.). |
parent | Parent menu item for sub-items (e.g., Glasses ). |
menu_item_name | Name of menu item (e.g., Glasses , Sunglasses , Contact Lenses ). |
target_type | Target for the menu item (e.g., category , page , individual-link ). |
target_value | Category or page ids (e.g., 1 , 2 ); Links (e.g., www.test.de ). |
visible_from | Date/time from which item will be visible (e.g., 14/01/2023 00:00 ). |
visible_to | Date/time to which item will be visible (e.g., 24/02/2023 23:59 ). |
Update or create redirects
You can bulk create and update redirects. For example, you may want to create many redirects at once when setting up a new shop. Or, you may want to bulk update existing redirects. Update or create redirects by uploading a file specifying the shop ID, redirect ID, source and target URLs, and status code.
Column | Description |
---|---|
application_id | E.g., 1216 . |
redirect_id | E.g., 5 . If empty, a new redirect is created. |
source | Source URL (redirect from). |
target | Target URL (redirect to). |
status_code | E.g., 301 . For the table of status codes see Redirects. |
Update navigation on country level
This import allows you to update shop country-level navigation and navigation items. For example, you can set/update navigation translations or visibility at the country-level. This import requires the permission import__specific__update_shop_navigation_on_country_level
(see Manage Role Permissions). shop_country_id
, menu_id
, menu_item_id
are mandatory fields.
Empty fields are treated as a request to remove values.
Column | Description |
---|---|
shop_country_id | Shop ID (e.g., 2000 ). |
menu_id | Menu ID (e.g., 1 ). |
menu_item_id | Menu Item ID (e.g., 4 ). |
translation | Translation for menu item (e.g., "sunglasses"). |
visible_from | Date/Time the menu item is visible from (e.g., 14/01/2023 00:00 ). |
visible_to | Date/Time the menu item is visible to (e.g., 24/02/2023 23:59 ). |
Product
Product imports allows the following details to be imported:
- Products
- Product names
- Basic advanced attributes
- Unlock attribute group
- Simple attributes
- Product sorting keys
- Stock
- Sellable without stock
Products
Product Import is available for installations with a single merchant. To import new shop products in the Import area, create an XLSX file in the predefined format. Fields like reference_key, product_referencekey, variant_referencekey, size, variant_price, variant_tax, variant_country_code, variant_currency_code are mandatory entries.
It is necessary to know the below rules before a product import:
- Multiple master category entries must be separated by pipe.
- Minimum one variant needs to be mentioned.
- Rows with the same Reference Key belong to the same Product/Master.
- Empty rows will not overwrite values.
- Simple Attribute Groups are supported.
- Additional Attribute Groups can be defined as soon as they match the given criteria.
- Image source should contain valid URL with image extension.
Product Names
You can also easily add or update product names via this import. To do so upload a XLXS file with product_id and correct_name.
Basic Advanced Attributes
By importing Basic Advanced Attributes, you can add or remove advanced attributes with a single field of the type text, long text, or number to or from individual products. They can be added globally and shop-specifically.
Unlock Attribute Group
Locked attributes avoid automatic updates from system imports. With this import, attribute-groups that are locked on the database can be unlocked again. Create a new import to unlock attributes via an XLSX file import with necessary columns (product_id and attribute_group_id).
Simple Attributes
You can bulk assign simple attributes to products to increase product data quality. For simple attribute import, create an XLSX file with mandatory field entries: product_id, product_variant_id, attribute_group_id, shop-country_id, and attribute_name. The import does not replace attributes of multi-select Attribute Groups.
Product Sorting Keys
Sorting Keys are used to control the sorting of products in the shop frontend. To bulk import Sorting Keys, create an XLSX file containing product_id, shop_id, sort_key, and sort_value as columns. Sortings can be removed by leaving the field sort_value empty.
Product Indexing
Product information in the storefront is retrieved via the Storefront API where the information is indexed and cached (this happens every hour). If products are updated in the interim, there may be a delay before the updated information is displayed in the storefront. To avoid this delay, the Product Indexing import allows you to re-index products manually.
Stocks
Quantity of available product stocks can be updated via this import. The quantity is an integer value and is greater than or equal to "0". Create an XLSX file with field entries such as product_variant_id, quantity and warehouse_reference_key for stock import.
Sellable without stock
This import can be used to define whether a product variant can also be sold without stock. If a product variant is sellable without stock or not can be checked on the PDP in the Prices and Inventory Table. To use the import the permission import__specific__sellable__without__stock
is required.
Customers
Customer Group
Customer Group import allows to bulk assign customer groups to customers. Customer groups can be employees, vip-user, premium-user, new-user, etc. On assigning groups to customers, Shop Frontend gets distinguished accordingly. Create an XLSX file import with necessary column details. Once import is successful, continue with validation to check for any errors. If not any, confirm the import and the customers will be assigned to respective customer groups.
Vouchers
You can bulk activate/deactivate several vouchers at once.
To activate vouchers:
- On the Imports page, select
Vouchers > Activate
. - Upload an XLSX file with column name
voucher_id
and rows with the voucher ids you wish to activate.
To deactivate vouchers:
- On the Imports page, select
Vouchers > Deactivate.
- Upload an XLSX file with column name
voucher_id
and rows with the voucher ids you wish to deactivate.
Checkout Configurations
Checkout configuration imports are possible for Tentant, Shop, Country. These imports require the permission import__update_checkout_tenant_configuration
.
Depending on the configuration_key
different validation logic takes effect. Some examples are provided below. This is a feature for advanced users who are familiar with the configuration parameters. For assistance with checkout configuration please contact your SCAYLE Account Manager.
Tenant
For tenant configuration, the XLXS must have company_id
and tenant_id
or short_tenant_key
.
Column | Description |
---|---|
company_id | e.g., 1 |
tenant_id/tenant_key | e.g., 1 / aboutyou |
configuration_key | e.g., carrier.selectionByAttributes.carrierARules |
configuration_value | e.g., [{"minWeight": 0, "maxWeight": 500, "minVolume": 0, "maxVolume": 16960}, {"minWeight": 500, "maxWeight": 10000, "minVolume": 0, "maxVolume": 14680}, {"minWeight": 10000, "maxWeight": null, "minVolume": null, "maxVolume": 0}] |
Country
For country configuration, the XLXS must have company_id
and country_id
.
Column | Description |
---|---|
company_id | e.g., 1 |
country_id/country_code | e.g., 1 / de |
configuration_key | e.g., carrier.selectionByAttributes.carrierGroupA |
configuration_value | e.g., xyz |
Shop
For shop configuration, the XLXS must have company_id
and shop_id
.
Column | Description |
---|---|
company_id | e.g., 1 |
shop_id | e.g., 1 / de |
configuration_key | e.g., carrier.selectionByAttributes.carrierGroupA |
configuration_value | e.g., xyz |
Procedure to Import data
Below is the general procedure for imports.
File Upload
- Click on + New Import.
- A new module will open where you can navigate and select an import option.
- To upload a file a new page will open after selecting an import option. The structure of the document should follow the system guidelines to avoid error messages.
- Create an XLSX file in the specified table format and enter the required data records. In this file, you must define the characteristics included in the template. Attributes that are not filled are optional.
- Click Choose File and select the file.
- Click Validate. The system checks whether the format and content of the uploaded file meet the requirements so that the data can be processed. If the uploaded file contains errors, you receive an error message indicating how the file can be corrected.
- Once the file is corrected, click Upload Another File to re-upload and validate it again. If the file is error-free, a validation summary displays. Critical changes must be confirmed separately.
When the validation is complete, click Proceed to Scheduling.
Import Schedule
Next, define when the import should be executed.
- To start the import immediately, select Directly and then click Start Import.
- To schedule the import, select Custom Date & Time, enter a Start Date, and click Schedule Import.
Confirmation
For certain imports such as price data, the new values must be confirmed by another account using the dual control principle. A request is sent by email to the selected profile, by whom the price changes must be finally checked and confirmed. Alternatively, the check can be done directly within SCAYLE. The requesting user receives a notification of the validation request in the SCAYLE Panel. Notifications can be viewed by clicking the bell icon next to your profile. If confirmed, the imported data is unlocked.
Export Files
You can view the exported data in the SCAYLE Panel under Reports > Exports
. The following table indicates the relevant permissions needed to interact with this page:
Permission Name | Description |
---|---|
export__list | This permission is required to see the generated report files (Exports) |
export__download | This permission is required to download an export file |
export__delete | This permission allows to delete export files |
The start page shows an overview of all files created in different areas of the SCAYLE Panel and available for download.
Generated exports are automatically deleted after 30 days.
Each file contains the following basic information:
Column | Description |
---|---|
Name | Shows the name of the export file. |
Area | Shows where the export file was generated. |
User | Shows who generated the export file. |
Status | Shows the status of the export file. |
Started | Shows date when export was started. |
Finished | Shows the date when the export file was generated. |
Data type | Export area, e.g., product or customer |
Export files can be created in different areas of the SCAYLE Panel, for example, in the Reports area or from the Product list. When you create an export, the system automatically redirects you to the export overview page where the corresponding file is available for download.