Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Overview of the import and export files format
The entire format is represented as an .zip
archive containing the following .csv
files.
Only zip-archived files are processed properly in case of an import - a simple .csv
file upload won't work.
Files within the archive must be named accordingly as in the documentation below.
The maximum archive size is 250 MB.
The maximum single file size within the archive is 1000 MB.
Columns are separated using ","(comma) or ";"(semicolon) separator depending on the configuration.
Files have to be UTF-8 formatted.
Cell value needs to be escaped with the " sign if it contains a column separator.
"sku1,sku2" - for
comma separator
"the ; sign is called semicolon"
- for the semicolon
The files are placed in the zip archive as top-level entities.
Those should not be placed in a subdirectory within the archive - an often mistake for MacOS users - when using right-click menu on a directory containing files and using the option Compress "directory"
which does just that.
Below you can find an example of import data.
Please refer to a specific file description for more details.
products.csv - the product data
multimedia.csv - the multimedia resources
categories.csv - the categories
category_attributes.csv - the category allowed attributes configuration
category_trees.csv - the category trees
category_trees_elements.csv - the category trees configuration
completeness_sets.csv - the completeness sets
multimedia_folders.csv - the multimedia folders
attributes.csv - the attributes
custom_fields.csv - the custom fields
options.csv - the collection attributes options
units.csv - the units
templates.csv - the templates
templates_elements.csv - the templates configuration
section_templates.csv - the section templates
section_templates_elements.csv - the section templates configuration
This doc provides an overview of our CSV files format.
Ergonode transfer allows you both to fetch the data to your external system via the export and to populate the Ergonode with your data via the import.
Import and export files are symmetrical which means that the same standard applies to the files created by the Ergonode and the files used for importing data.
This file can be used to: Create the category tree structure, or change the category branch location in the existing category tree.
column | required | limitation |
---|---|---|
Example:
_code | _parent | _category |
---|---|---|
_code
One of existing Category Trees Codes.
_parent
One of existing Category Codes.
_category
One of existing Category Codes.
category_tree_1
category_root
category_tree_1
category_root
category_child
This file can be used to: Create a new unit with a name and corresponding symbol.
column | required | limitation |
---|
This file can be used to: Create new attributes, add attribute translations, define attribute type, scope, and other attribute specifications accordingly.
column | required | limitation |
---|
Available date formats:
Date | CSV Date Format |
---|
Example:
_code | _type | _scope | _language | _name | format | currency | rich_edit | unit |
---|
text | TEXT | local | en_GB | text |
textarea | TEXT_AREA | global | en_GB | textarea | true |
numeric | NUMERIC | local | en_GB | numeric |
price | PRICE | global | en_GB | price | PLN |
unit | UNIT | local | en_GB | unit | m |
data | DATE | global | en_GB | date | yyyy-MM-dd |
select | SELECT | local | en_GB | select |
multiselect | MULTI_SELECT | global | en_GB | multiselect |
image | IMAGE | local | en_GB | image |
gallery | GALLERY | global | en_GB | gallery |
file | FILE | local | en_GB | file |
product_relation | PRODUCT_RELATION | global | en_GB | product relation |
_code | Max length of 128 chars. Lowercased, alphanumerical and "_" signes are accepted. |
_type | One of { |
_scope | One of { |
_language | 5 chars LCID language code. Example: |
_name | Max length of 255 chars. Lowercased, alphanumerical and "_" signes are accepted. |
_hint | Max length of 4000 chars. Lowercased, alphanumerical and "_" signes are accepted. |
format | One of existing date formats (see table below) |
currency | One of existing Currencies. |
rich_edit | One of { |
unit | One of existing Unit Symbols. |
unique | One of { |
1999-01-31 | yyyy-MM-dd |
99-01-31 | yy-MM-dd |
31.01.1999 | dd.MM.yyyy |
31.01.99 | dd.MM.yy |
01/31/99 | MM/dd/yy |
01/31/1999 | MM/dd/yyyy |
January 31, 1999 | MMMM dd, yyyy |
31 January 1999 | dd MMMM yyyy |
31 Jan 1999 | dd MMM yyyy |
_symbol | Max length of 16 chars. |
_name | Max length of 255 chars. |
if one of _name
, _hint
or _placeholder
columns present
if _type
column is DATE
if _type
column is PRICE
if _type
column is TEXTAREA
if _type
column is UNIT
Basic concepts behind the format in terms of importing data
Importing data via provided import files is incremental.
Only present-in-the-file data is changed and the rest is not modified. Consider following:
translation data is changed only in languages provided in the file (column _language
)
if a column is not present corresponding resource property is left unmodified
if a Product
attribute column is not present values for this attribute are not changed
if a translation column is present and has an empty value the translation value shall be deleted
templates_elements.csv, section_templates_elements.csv, category_trees_elements.csv are exceptions from the above rules. Since those files represent one resource they are attached to the entire resource(template, section, category tree) is imported at once which means if an element is missing in the file the element will be deleted from the resource if was there prior to import.
This file can be used to: Create a section template structure using numeric values representing the position of each section template element.
column | required | limitation |
---|---|---|
* Language is 5 chars LCID language code. Example: translation_pl_PL
.
This file can be used to: Assign attributes as category attributes.
column | required | limitation |
---|---|---|
This file can be used to: Add supported files to Ergonode resources, add media translation, and media alternative text.
Please keep in mind that importing multimedia via HTTPS protocol requires an SSL certificate to be valid, otherwise, you will receive an import error "Can't download media from URL ... "
column | required | limitation |
---|---|---|
Note that _name
has to contain an extension valid according to the files MIME type.
Example:
_name | _url | _language | _alt |
---|---|---|---|
This file can be used to: Create new categories, and add category name translations.
column | required | limitation |
---|
In the example, some values are collections(multiselect_attribute, gallery, etc) separated by semicolons.
If your column separator is semicolon as well the CSV file should contain those values escaped(surrounded) with "
sign to tell the importer that the value represents a single column i.e. "option_code_1,option_code_2"
.
In order to import attribute values the attributes need to be enabled in Category attributes. This can be done either by Ergonode UI or via import file category_attributes.csv.
Example:
_code | _name | _language | text_short_description | textarea_description | numeric_size | price | unit_weight | date | select_brand | multiselect_attribute | image | gallery | file_appendix | product_relation_attribute |
---|
* Note in the above example columns not starting with _
prefix represents product attribute values. Each header name represents an attribute code identifying this Attribute and the cell contains the value.
text_short_description
text attribute represented by the text value
textarea_description
textarea attribute represented by the text value
numeric_size
numeric attribute represented by the numeric value
price
price attribute represented by the positive numeric value
unit_weight
unit attribute represented by the numeric value
date
date attribute represented by the date value
select_brand
select attribute represented by the Attribute Option Code
multiselect_attribute
multiselect attribute represented by the list of Attribute Option Codes separated by a comma
image
image attribute represented by the Multimedia Path
gallery
gallery attribute represented by the list of Multimedia Paths separated with a comma
file_appendix
file attribute represented by the list of Multimedia Paths separated with a comma
product_relation
product relation attribute represented by the list of SKUs separated with a comma
This file can be used to: Create a new template, and add a translation of the template name.
column | required | limitation |
---|
Example:
_code | _name | _language |
---|
This file can be used to: Create new products, make changes to existing ones, add variants to products with variants, and add products to a grouping product. Leave the attribute value empty to also delete its value in PIM.
column | required | limitation |
---|
In the example, some values are collections(_children, _categories, multiselect_attribute, etc) separated by semicolons.
If your column separator is semicolon as well the CSV file should contain those values escaped with "
sign to tell the importer that the value represents a single column i.e. "option_code_1,option_code_2"
.
Example:
_sku | _template | _language | _type | _children | _bindings | _categories | text_short_description | textarea_description | numeric_size | price | unit_weight | date | select_brand | multiselect_attribute | image | gallery | file_appendix | product_relation |
---|
* Note in the above example columns not starting with _
prefix represents product attribute values. Each header name represents an attribute code identifying this Attribute and the cell contains the value.
text_short_description
text attribute represented by the text value
textarea_description
textarea attribute represented by the text value
numeric_size
numeric attribute represented by the numeric value
price
price attribute represented by the positive numeric value
unit_weight
unit attribute represented by the numeric value
date
date attribute represented by the date value
select_brand
select attribute represented by the Attribute Option Code
multiselect_attribute
multiselect attribute represented by the list of Attribute Option Codes separated by a comma
image
image attribute represented by the Multimedia Path
gallery
gallery attribute represented by the list of Multimedia Paths separated with a comma
file_appendix
file attribute represented by the list of Multimedia Paths separated with a comma
product_relation
product relation attribute represented by the list of SKUs separated with a comma
The list of recent and upcoming breaking changes
At Ergonode we strive to make your integration process as fluent as possible but from time to time we discover a flaw in the design of the schema or introduce a really cool new feature that is impossible to be provided in a fully-compatible non-breaking way. In such a situation, we will always aim to not break your integration with the new release and provide you with a transition period of approximately 3-months to adjust your consumer. Every such change shall be communicated in the following list.
Breaking change scheduled for 09-2024
templates_elements.csv label
is going to be removed
section_templates_elements.csv label
is going to be removed
Breaking change scheduled for 01-2023
options.csv _label
is going to be removed
Breaking change scheduled for 10-2022
templates.csv _name
is going to be removed
Breaking change scheduled for 07-2022
templates.csv _language
is going to be removed
Breaking change scheduled for 07-2022
attributes.csv _placeholder
is going to be removed
_code | Max length of 128 chars. Lowercased, alphanumerical and "_" signes are accepted. |
_name | Max length of 255 chars. |
_language | 5 chars LCID language code. Example: |
attribute_code* | Column header represents existing Attribute Code. Value should be valid according to given attribute type.
Example: |
category | category one | en_GB | text1 | textarea1 | -1 | 1 | 1 | 2022-11-09 | option1 | option_code_1,option_code_2 | folder/multimedia.jpg | folder/multimedia.jpg,multimedia2.jpg | docs.pdf | sku_with_variants,sku_simple2 |
category | pierwsze kategoria | pl_PL | text2 | textarea2 | 2 | 2 | -2 | 09-11-2022 | option2 | option_code_1 | folder/multimedia.jpg | folder/multimedia.jpg,multimedia2.jpg | docs.pdf |
_sku | Max length of 255 chars. |
_template | One of existing Template Codes. |
_type | One of { |
_language | 5 chars LCID language code. Example: |
_children | Applies for grouping and variable product types. Only existing SKUs. In case of |
_bindings | Applies for |
_categories | One of existing Category Codes. |
attribute_code* | Column header represents existing Attribute Code. Value should be valid according to given attribute type.
Example: |
sku_with_variants | template_code | en_GB | VARIABLE-PRODUCT | sku_simple1,sku_simple2 | product_size | category_code_1,category_code_2 | text1 | textarea1 | -1 | 1 | 1 | 2022-01-25 | option_code_1 | option_code_1,option_code_2 | multimedia.jpg | folder/multimedia.jpg,multimedia2.jpg | docs.pdf |
sku_simple1 | template_code | en_GB | SIMPLE-PRODUCT | text2 | textarea2 | -2 | 2 | 2 | 25-01-2022 | option_code_1 | option_code_1,option_code_2 | folder/multimedia.jpg | folder/multimedia.jpg,multimedia2.jpg | docs.pdf | sku_with_variants,sku_simple2 |
sku_simple2 | template_code | en_GB | SIMPLE-PRODUCT | text3 | textarea3 | 3 | 3 | -3 | 2022-01-25 12:00:00 | option_code_1 | option_code_1,option_code_2 | folder/multimedia.jpg | folder/multimedia.jpg,multimedia2.jpg | docs.pdf |
sku_grouping | template_code | en_GB | GROUPING-PRODUCT | sku_with_variants,sku_simple1 | text4 | textarea4 | 4 | 4 | -4 | 2022-01-25 | option_code_1 | option_code_1,option_code_2 | folder/multimedia.jpg | folder/multimedia.jpg,multimedia2.jpg | docs.pdf |
_code
One of existing Section Template Codes.
_type
One of {attribute
, heading
, divider
, note
}
_x
Numeric value 0-3.
_y
Positive numeric value.
_width
Numeric value 1-4.
_height
Numeric value 1-10.
attribute
if _type
column is attribute
One of existing Attribute Codes.
require
if _type
column is attribute
One of {true
, false
}
label ( deprecated - if given on import with default - default takes precedense)
Max length of 255 chars.
Available for column _type
- heading
.
default
if _type
column is heading
or note
Max length of 255 chars.
translation_{language} *
Translation in specific language. Available for column _type
- heading
and note
.
_code
One of existing Attribute Codes.
_name
Max length of 128 chars. Only existing folders(if given). Name has to contain a matching MIME type extension.
_url
URL from multimedia can be downloaded from. Download happen only once on multimedia creation.
_language
if _alt
or _title
column present
5 chars LCID language code. Example: pl_PL
_alt
Max length of 128 chars.
_title
Max length of 100 chars.
filename.jpg
www.ergonode.com/image1.jpg
en_GB
alternative text
folder/filename.jpg
www.ergonode.com/image2.jpeg
en_GB
tekst alternatywny
_code | Max length of 128 chars. |
_name | Max length of 128 chars. |
_language | if _name column present | 5 chars LCID language code. Example: |
code | name | en_GB |
This file can be used to: Create a new multimedia folder and the folder tree structure.
column | required | limitation |
---|---|---|
Example:
_name |
---|
This file can be used to: Create the completeness set.
column | required | limitation |
---|---|---|
* Language is 5 chars LCID language code. Example: name_en_GB
.
Example:
_code | name_en_GB |
---|---|
This file can be used to: Create a new category tree, and add category tree name translation.
column | required | limitation |
---|---|---|
Example:
_code | _name | _language |
---|---|---|
if _name
column present
if attribute values columns present
allows identifying the export profile.
a list of resources generated in the export.
following options are available:
Attributes - includes attributes.csv
and custom_fields.csv
Categories - includes categories.csv
Category trees - includes category_trees.csv
and category_tree_elements.csv
Category attributes - includes category_attributes.csv
Completeness sets - includes completeness_sets.csv
Options - includes options.csv
Products - includes products.csv
Templates - includes templates.csv
and templates_elements.csv
Sections - includes section_tempates.csv
and section_templates_elements.csv
Multimedia - includes multimedia.csv
Multimedia folders - includes multimedia_folders.csv
Units - includes units.csv
limits the exported files to lines containing values only in specified languages.
determines what sign divides columns in the exported file.
works only within the context of products. Once you edit or add new products only those changes will appear in the export.
works only within the context of products. Only products available within chosen segment will be exported to products.csv
file.
works only within the context of products. When textarea value contains variables those will be either exported as #attribute_code or as parsed value.
allows identifying the import profile.
list of HTTP Headers to be sent by import while downloading Multimedia. For example, those can be used to authorize when requesting multimedia files via URL.
determines what sign divides columns in the imported file.
a list of resources participating in the import process. If a resource is included in the import and its files are missing in the ZIP archive the import is not started with an error message about the missing file. Only files of included resources will be processed and others in the archive will be ignored.
following options are available:
Attributes - requires attributes.csv
and enables support for custom_fields.csv
Categories - requires categories.csv
Category trees - requires category_trees.csv
and category_tree_elements.csv
Category attributes - requires category_attributes.csv
Completeness sets - requires completeness_sets.csv
Options - requires options.csv
Products - requires products.csv
Templates - requires templates.csv
and templates_elements.csv
Sections - requires section_tempates.csv
and section_templates_elements.csv
Multimedia - requires multimedia.csv
Multimedia folders - requires multimedia_folders.csv
Units - requires units.csv
The changelog is a list of recent changes to GraphQL API schema.
completeness_sets.csv file added
templates_elements.csv completeness_set
added
templates_elements.csv new _type
values added - divider
and note
templates_elements.csv default
added. If passed together with it label
takes precedence
templates_elements.csv translation_{language}
added
templates_elements.csv label
becomes deprecated
section_templates_elements.csv new _type
values added - divider
and note
section_templates_elements.csv default
added. If passed together with it label
takes precedence
section_templates_elements.csv translation_{language}
added
section_templates_elements.csv label
becomes deprecated
attributes.csv unique
added
custom_fields.csv file added
options.csv custom field values added
templates.csv _name
represents from now on the actual Template name rather than the code
templates.csv _language
added
section_templates.csv _name
added
section_templates.csv _language
added
options.csv _label
removed
category_attributes.csv file added
units.csv file added
categories.csv attributes value added
category_trees.csv file added
category_trees_elements.csv file added
attributes.csv _placeholder
removed
options.csv _name
added. It replaces _label
column. If passed together with it _name
takes precedence
multimedia.csv _title
column added
templates_elements.csv sections
column added
templates.csv _language
removed
section_templates.csv file support added
section_templates_elements.csv file support added
products.csv _children
column will contain duplicated SKU entries for GROUPING-PRODUCT according to the quantity set for the relation
templates.csv _name
becomes deprecated
templates.csv _language
becomes deprecated
attributes.csv _placeholder
becomes deprecated
_name
Max length of 255 chars.
folder_one
folder_one/folder_two
_code
Completeness set code.
name_{language} *
Name in specific language.
completeness_set_1
Completeness set name
completeness_set_2
Completeness set name
_code
Max length of 64 chars.
_name
Max length of 255 chars.
_language
if _name
column present
5 chars LCID language code. Example: pl_PL
category_tree_1
Category tree one
en_GB
category_tree_2
Category tree two
en_GB
This file can be used to: Create new custom fields in the SELECT and MULTISELECT attribute type.
column | required | limitation |
---|---|---|
* Note that this attribute must already exist, or the proper attributes.csv file that creates it must be included in the import zip, only SELECT and MULTI_SELECT attribute types support Custom Fields.
Example:
_code | _type | _attribute |
---|---|---|
This file can be used to: Create options in SELECT and MULTISELECT attribute types. Add options for translations. Add custom field value to already existing custom fields.
column | required | limitation |
---|---|---|
* Note in the above example columns not starting with _
prefixes represent custom field code values. Each header name represents a custom field identifying this option and the cell contains the value.
Example:
_code | _attribute | _name | _language |
---|---|---|---|
This file can be used to: Create a template structure using numeric values representing the position of each template element.
column | required | limitation |
---|
* Language is 5 chars LCID language code. Example: translation_pl_PL
.
This file can be used to: Create a new section template, and add a translation of the section template name.
column | required | limitation |
---|
Example:
_code | _name | _language |
---|
_code
Max length of 128 chars. Lowercased, alphanumerical and "_" signes are accepted.
_type
One of { IMAGE , TEXT , TEXTAREA , TEXTAREA_RTE}
_attribute
Code of the attribute*
custom_field_1_code
IMAGE
attribute_custom_values
custom_field_2_code
TEXT
attribute_custom_values
custom_field_3_code
TEXTAREA
attribute_custom_values
custom_field_4_code
TEXTAREA_RTE
attribute_custom_values
_code
Max length of 128 chars.
_attribute
Applies for SELECT
and MULTI_SELECT
Attribute types only.
One of existsing Attribute Codes.
_language
if _name
column present
5 chars LCID language code. Example: pl_PL
_name
Max length of 255 chars.
custom_field_code*
Column header represents existing Custom Field Code. Value should be valid according to given type.
select
select
name
en_GB
multiselect
multiselect
name
en_GB
_code | One of existing Template Codes. |
_type | One of { |
_x | Numeric value 0-3. |
_y | Positive numeric value. |
_width | Numeric value 1-4. |
_height | Numeric value 1-10. |
attribute | if | One of existing Attribute Codes. |
require | if | One of { |
label ( deprecated - if given on import with default - default takes precedense) | Max length of 255 chars. Available for column |
default | if | Max length of 255 chars. |
section | if | One of existing Section Template Codes. |
completeness_set | One of existing Completeness Set Codes. |
Available for column |
translation_{language} * | Translation in specific language. Available for column |
_code | Max length of 128 chars. |
_name | Max length of 128 chars. |
_language | if _name column present | 5 chars LCID language code. Example: |
code | name | en_GB |