docs
  1. SCAYLE Resource Center
  2. User Guide
  3. SETTINGS
  4. Imports & Jobs
  5. Imports

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:

ColumnDescription
IDUnique ID generated for every import.
AreaShows the type of the import file.
UpdatedShows when the import file was last updated.
UserShows who uploaded the import file.
FileEnables the user to upload a file and shows the name of the import file.
ProcessShows how many items were already processed.
StatusShows the status of the import file.
ModeShows if the imported data is replaced or appended.

Import statuses are described in the table below.

StatusEffect
DraftThe records to be imported have been uploaded but not yet activated.
PendingImported records have not yet been approved.
In_progressThe import is executed.
FailedThe file import has failed completely.
Partially_failedThe file import partially failed. Some entries could not be imported.
CompletedThe import of new data was completed.
Ready_for_ReviewThe import is pending for checking by another user.
DeclinedThe imported records are rejected.

Imports page

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_idproduct_idmerchant_product_idreduction
1123410
11234567820

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.

ColumnDescription
attribute_group_idID of the Attribute Group to be changed.
attribute_idIf the field is empty, a new Attribute Group is created. If the ID exists, the existing Attribute Group is updated.
attribute_nameName 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.

ColumnDescription
master_category_idThe category ID, which can be found under settings for every master category (e.g., 123).
master_category_nameName of the new category (e.g., New).
master_category_parent_idID of the parent category (e.g., 3).
attribute_group_idID of the assigned Attribute Group (e.g., 5).
is_mandatory_attribute_groupAn attribute valueof the respective Attribute Group needs to be assigned before a product can go live (true or false).
default_attribute_idsAttribute Groups IDs that are assigned by default (e.g., 2, 3).
disabled_attribute_idsAttribute 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.

ColumnDescription
base_attribute_idID of source attribute (merchant attribute).
target_attribute_group_idID of target attribute group (master attribute).
target_attribute_idID of target attribute, if empty No Mapping Necessary is selected.
recalculate_mappingSetting 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 levelCan be mapped to
VariantVariant
ProductStyle, product, and variant
StyleStyle and product
CategoryCategory
ImageImage
BrandBrand

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.

ColumnDescription
shop_idId of shop where a new category needs to be created.
parent_idIf available, ignore the levels (except the last one).
level_1, level_2,....level_10Hierarchy 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 on level_8 exists for this shop_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 columns level_1, level_2, level_3, level_4, level_5, level_6, level_7, level_8. In this case, the system checks if the category_id provided as parent_id is on level_8.
    • You can only provide the columns shop_id, parent_id, and level_9. In this case, the system checks if the category_id provided as parent_id is on level_8.
  • 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 under level_1.
  • If a category is to be created on level_1, parent_id should be the category_id of the category on the root level.
  • If a category is to be created on level_2, parent_id should be the category_id on level_1.

The assignment of the category names to the levels must be precise in order to satisfy the validation rules.

  • If category_id provided on level_8 does not exist, the category on level_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 for level_8 and the category_id provided for parent_id is not on level_8 of the provided shop_id, the category on level_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.

ColumnDescription
application_idGlobal Shop ID.
category_idCategory ID.
parent_idParent-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.

ColumnDescription
shop_country_idId of shop country where a new category needs to be created.
category_idCategory ID to update.
nameCategory name.
is_activeNew shop category is activated.
is_visibleNew 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.

ColumnDescription
shop_idId of shop country that you want to update Shop Search Synonyms for
identifierInsert 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_groupInsert 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
typeDefine "attribute", "term" or "category"
synonymSet 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.

ColumnDescription
shop_country_idShop country ID (e.g., 123).
criterione.g., products, merchants, categories, 12 (Attribute Group ID).
valuee.g., 25, 93, 42, 100 (Attribute ID).
include_excludeinclude in, or exclude from the assortment.
add_removeadd to, or remove from the assortment.

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.

  1. Go to Settings > Imports & Jobs > Imports.
  2. Then select Shops > Create Navigation > Choose File.
  3. 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_idmenu_nameparentmenu_item_nametarget_typetarget_valuevisible_fromvisible_to
1Navigation 1





1Navigation 2
Glassescategory214/01/2023 00:0024/02/2023 23:59
1Navigation 2GlassesSunglassespage101/02/2023 00:00
1Navigation 4
contact lensesindividual-linkwww.test1.de
31/03/2023 15:00
ColumnDescription
shop_idShop ID (e.g., 2000).
menu_nameMenu name (e.g., Navigation 1, Navigation 2, etc.).
parentParent menu item for sub-items (e.g., Glasses).
menu_item_nameName of menu item (e.g., Glasses, Sunglasses, Contact Lenses).
target_typeTarget for the menu item (e.g., category, page, individual-link).
target_valueCategory or page ids (e.g., 1, 2); Links (e.g., www.test.de).
visible_fromDate/time from which item will be visible (e.g., 14/01/2023 00:00).
visible_toDate/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.

ColumnDescription
application_idE.g., 1216.
redirect_idE.g., 5. If empty, a new redirect is created.
sourceSource URL (redirect from).
targetTarget URL (redirect to).
status_codeE.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.

ColumnDescription
shop_country_idShop ID (e.g., 2000).
menu_idMenu ID (e.g., 1).
menu_item_idMenu Item ID (e.g., 4).
translationTranslation for menu item (e.g., "sunglasses").
visible_fromDate/Time the menu item is visible from (e.g., 14/01/2023 00:00).
visible_toDate/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.

Customer Group import

Vouchers

You can bulk activate/deactivate several vouchers at once.

To activate vouchers:

  1. On the Imports page, select Vouchers > Activate.
  2. Upload an XLSX file with column name voucher_id and rows with the voucher ids you wish to activate.

To deactivate vouchers:

  1. On the Imports page, select Vouchers > Deactivate.
  2. 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.

ColumnDescription
company_ide.g., 1
tenant_id/tenant_keye.g., 1 / aboutyou
configuration_keye.g., carrier.selectionByAttributes.carrierARules
configuration_valuee.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.

ColumnDescription
company_ide.g., 1
country_id/country_codee.g., 1 / de
configuration_keye.g., carrier.selectionByAttributes.carrierGroupA
configuration_valuee.g., xyz

Shop

For shop configuration, the XLXS must have company_id and shop_id.

ColumnDescription
company_ide.g., 1
shop_ide.g., 1 / de
configuration_keye.g., carrier.selectionByAttributes.carrierGroupA
configuration_valuee.g., xyz

Procedure to Import data

Below is the general procedure for imports.

File Upload

  1. Click on + New Import.
  2. A new module will open where you can navigate and select an import option.
  3. 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.
  4. 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.
  5. Click Choose File and select the file.
  6. 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.
  7. 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.

File validation

Import Schedule

Next, define when the import should be executed.

  1. To start the import immediately, select Directly and then click Start Import.
  2. To schedule the import, select Custom Date & Time, enter a Start Date, and click Schedule Import.

Import scheduling

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 NameDescription
export__listThis permission is required to see the generated report files (Exports)
export__downloadThis permission is required to download an export file
export__deleteThis 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.

Exported data

Generated exports are automatically deleted after 30 days.

Each file contains the following basic information:

ColumnDescription
NameShows the name of the export file.
AreaShows where the export file was generated.
UserShows who generated the export file.
StatusShows the status of the export file.
StartedShows date when export was started.
FinishedShows the date when the export file was generated.
Data typeExport 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.