Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
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.
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.
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
_name
✅
Max length of 255 chars.
Example:
folder_one
folder_one/folder_two
_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
Example:
category_tree_1
Category tree one
en_GB
category_tree_2
Category tree two
en_GB
_symbol
✅
Max length of 16 chars.
_name
✅
Max length of 255 chars.
_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.
* 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:
select
select
name
en_GB
multiselect
multiselect
name
en_GB
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
_code
✅
Completeness set code.
name_{language} *
Name in specific language.
* Language is 5 chars LCID language code. Example: name_en_GB.
Example:
completeness_set_1
Completeness set name
completeness_set_2
Completeness set name
_code
✅
Max length of 128 chars.
_name
Max length of 128 chars.
_language
✅ if _name column present
5 chars LCID language code. Example: pl_PL
Example:
code
name
en_GB
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
_code
✅
One of existing Attribute Codes.
_code
✅
One of existing Category Trees Codes.
_parent
One of existing Category Codes.
_category
✅
One of existing Category Codes.
Example:
category_tree_1
category_root
category_tree_1
category_root
category_child
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.
* Language is 5 chars LCID language code. Example: translation_pl_PL.
* Language is 5 chars LCID language code. Example: translation_pl_PL.
_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 Template Codes.
_type
✅
One of {attribute, section, 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.
section
✅ if _type column is section
One of existing Section Template Codes.
completeness_set
One of existing Completeness Set Codes.
Available for column _type -section.
translation_{language} *
Translation in specific language. Available for column _type - heading and note.
_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*
* 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:
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.
_name
Max length of 128 chars.
_language
✅ if _name column present
5 chars LCID language code. Example: pl_PL
Example:
code
name
en_GB
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 ... "
_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.
Example:
filename.jpg
www.ergonode.com/image1.jpg
en_GB
alternative text
folder/filename.jpg
www.ergonode.com/image2.jpeg
en_GB
tekst alternatywny
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
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
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".
Example:
* 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
_code
✅
Max length of 128 chars. Lowercased, alphanumerical and "_" signes are accepted.
_name
Max length of 255 chars.
_language
✅ if _name column present
5 chars LCID language code. Example: pl_PL
attribute_code*
Column header represents existing Attribute Code. Value should be valid according to given attribute type.
Example: product_description
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 {SIMPLE-PRODUCT, GROUPING-PRODUCT, VARIABLE-PRODUCT}
_language
✅ if attribute values columns present
5 chars LCID language code. Example: pl_PL
_children
Applies for grouping and variable product types. Only existing SKUs. In case of GROUPING-PRODUCT multiplication of SKUs is allowed - the amount represents the quantity.
_bindings
Applies for VARIABLE-PRODUCT type only. Only existing Attribute Codes.
_categories
One of existing Category Codes.
attribute_code*
Column header represents existing Attribute Code. Value should be valid according to given attribute type.
Example: product_description
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_with_variants
template_code
en_GB
VARIABLE-PRODUCT
sku_simple1,sku_simple2
product_size
category_code_1,category_code_2
text1
textarea1
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
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
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
2022-01-25
option_code_1
option_code_1,option_code_2
folder/multimedia.jpg
folder/multimedia.jpg,multimedia2.jpg
docs.pdf
* 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
_code
✅
Max length of 128 chars. Lowercased, alphanumerical and "_" signes are accepted.
_type
✅
One of {TEXT, TEXT_AREA, NUMERIC, PRICE, UNIT, DATE, SELECT, MULTI_SELECT, IMAGE, GALLERY, FILE, PRODUCT_RELATION}
_scope
✅
One of {local, global}
_language
✅if one of _name, _hint or _placeholder columns present
5 chars LCID language code. Example: pl_PL
_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
✅ if _type column is DATE
One of existing date formats (see table below)
currency
✅ if _type column is PRICE
One of existing Currencies.
rich_edit
✅ if _type column is TEXTAREA
One of {true, false}
unit
✅ if _type column is UNIT
One of existing Unit Symbols.
unique
One of {true, false}
Available date formats:
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
Example:
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