Technical architecture
#Other entities
#Attribute
array:28 [
"code" => "a_date"
"type" => "pim_catalog_date"
"labels" => array:1 [
"en_US" => "A date"
"fr_FR" => "Une date"
]
"group" => "other"
"unique" => false
"useable_as_grid_filter" => false
"allowed_extensions" => []
"metric_family" => null
"default_metric_unit" => null
"reference_data_name" => null
"available_locales" => array:1 [
0 => "en_US"
]
"max_characters" => null
"validation_rule" => null
"validation_regexp" => null
"wysiwyg_enabled" => false
"number_min" => null
"number_max" => null
"decimals_allowed" => false
"negative_allowed" => false
"date_min" => "2016-09-01T00:00:00+0200"
"date_max" => "2016-09-30T00:00:00+0200"
"max_file_size" => null
"minimum_input_length" => 0
"sort_order" => 0
"localizable" => true
"scopable" => false
"labels" => [
"en_US" => "Date"
"fr_FR" => "Date"
]
"guidelines" => [
"en_US" => "This date represents ..."
"fr_FR" => "Cette date représente ..."
]
]
type |
data structure |
data example |
notes |
---|---|---|---|
code |
string |
|
it’s the identifier of the attribute
|
type |
string |
|
|
labels |
string[] |
|
each key of the array represents the code of the
Akeneo\Channel\Component\Model\LocaleInterface |
group |
string |
|
it represents the code of the object
Akeneo\Pim\Enrichment\Component\Category\Model\GroupInterface |
unique |
boolean |
|
|
useable_as_grid_filter |
boolean |
|
|
allowed_extensions |
string[] |
|
List of extensions
|
metric_family |
string |
|
it represents the constant FAMILY in classes of
Akeneo/Bundle/MeasureBundle/Family/ |
default_metric_unit |
string |
|
it represents one of the constant in classes of
Akeneo/Bundle/MeasureBundle/Family/ , except FAMILY |
reference_data_name |
string |
|
it represents the code of the object
Akeneo\Pim\Enrichment\Component\Product\Model\ReferenceDataInterface |
available_locales |
string[] |
|
only for locale specific. If the array is empty, locale specific
is false. Each element of the array represents the code of the
object
Akeneo\Channel\Component\Model\LocaleInterface |
max_characters |
integer |
|
|
validation_rule |
string |
|
|
validation_regexp |
string |
|
|
wysiwyg_enabled |
boolean |
|
|
number_min |
string |
|
|
number_max |
string |
|
|
decimals_allowed |
boolean |
|
|
negative_allowed |
boolean |
|
|
date_min |
string |
|
formatted to ISO-8601 (see above)
|
date_max |
string |
|
formatted to ISO-8601 (see above)
|
max_file_size |
string |
|
limit in MB
|
minimum_input_length |
integer |
|
|
sort_order |
integer |
|
|
localizable |
boolean |
|
|
scopable |
boolean |
|
|
labels |
string[] |
|
each key of the array represents the code of the
Akeneo\Channel\Component\Model\LocaleInterface |
guidelines |
string[] |
|
each key of the array represents the code of the
Akeneo\Channel\Component\Model\LocaleInterface |
Enterprise edition
On Enterprise edition, attribute is overridden to add:
array:27 [
...
"is_read_only" => false
]
type |
data structure |
data example |
---|---|---|
is_read_only |
boolean |
|
#Attribute Option
array:4 [
"code" => "option_a"
"attribute" => "a_simple_select"
"sort_order" => 1
"labels" => array:1 [
"en_US" => "A option"
]
]
type |
data structure |
data example |
notes |
---|---|---|---|
code |
string |
|
it’s the identifier of the attribute option
|
attribute |
string |
|
the element represents the code of the
Akeneo\Pim\Structure\Component\Model\AttributeInterface |
sort_order |
integer |
|
|
labels |
string[] |
|
each key of the array represents the code of the
Akeneo\Channel\Component\Model\LocaleInterface |
#Association Type
array:2 [
"code" => "X_SELL"
"labels" => array:2 [
"en_US" => "Cross sell"
"fr_FR" => "Vente croisée"
],
"is_two_way" => false,
"is_quantified" => false
]
type |
data structure |
data example |
notes |
---|---|---|---|
code |
string |
|
it’s the identifier of the association type
|
labels |
string[] |
|
each key of the array represents the code of the
Akeneo\Channel\Component\Model\LocaleInterface |
is_two_way |
boolean |
|
When true, the association is a two-way association
|
is_quantified |
boolean |
|
When true, the association is a quantified association
|
#Attribute Group
array:4 [
"code" => "other"
"sort_order" => 100
"attributes" => array:19 [
0 => "sku"
1 => "a_date"
2 => "a_file"
3 => "an_image"
4 => "a_metric"
5 => "a_multi_select"
6 => "a_number_float"
7 => "a_number_float_negative"
8 => "a_number_integer"
9 => "a_price"
10 => "a_ref_data_multi_select"
11 => "a_ref_data_simple_select"
12 => "a_simple_select"
13 => "a_text"
14 => "a_text_area"
15 => "a_yes_no"
16 => "a_localizable_image"
17 => "a_scopable_price_with_decimal"
18 => "a_localized_and_scopable_text_area"
]
"labels" => array:2 [
"en_US" => "Other"
"fr_FR" => "Autre"
]
]
type |
data structure |
data example |
notes |
---|---|---|---|
code |
string |
|
it’s the identifier of the attribute group
|
sort_order |
integer |
|
|
attributes |
string[] |
|
each element of the array represents the code of the
Akeneo\Pim\Structure\Component\Model\AttributeInterface .Order is defined by property sortOrder in AttributeInterface
|
labels |
string[] |
|
each key of the array represents the code of the
Akeneo\Channel\Component\Model\LocaleInterface |
#Category
array:3 [
"code" => "winter"
"parent" => "master"
"labels" => array:1 [
"en_US" => "Winter",
"fr_FR" => "Hiver"
]
]
type |
data structure |
data example |
notes |
---|---|---|---|
code |
string |
|
it’s the identifier of the category
|
parent |
string[] |
|
it represents the code of the object
Akeneo\Tool\Component\Classification\Model\CategoryInterface |
labels |
string[] |
|
each key of the array represents the code of the
Akeneo\Channel\Component\Model\LocaleInterface |
#Channel
array:6 [
"code" => "tablet"
"labels" => [
"en_US" => "Tablet"
"fr_FR" => "Tablette"
]
"currencies" => array:1 [
0 => "USD"
]
"locales" => array:1 [
0 => "en_US"
]
"category_tree" => "master"
"conversion_units" => array:2 [
"a_metric" => "KILOWATT"
"a_metric_negative" => "CELSIUS"
]
type |
data structure |
data example |
notes |
---|---|---|---|
code |
string |
|
it’s the identifier of the channel
|
labels |
string[] |
|
each key of the array represents the code of the
Akeneo\Channel\Component\Model\LocaleInterface |
currencies |
string[] |
|
each element of the array represents the code of the
Akeneo\Channel\Component\Model\CurrencyInterface |
locales |
string[] |
|
each element of the array represents the code of the
Akeneo\Channel\Component\Model\LocaleInterface |
category_tree |
string |
|
only root category. It represents the code of the object
Akeneo\Tool\Component\Classification\Model\CategoryInterface |
conversion_units |
string[] |
keys of each element of the array represent the code of the
Akeneo\Pim\Structure\Component\Model\AttributeInterface .Values of each element of the array represent one of the constant
in classes of
Akeneo/Bundle/MeasureBundle/Family/ , except FAMILY |
#Currency
array:2 [
"code" => "USD"
"enabled" => true
]
type |
data structure |
data example |
notes |
---|---|---|---|
code |
string |
|
it’s the identifier of the currency
|
enabled |
boolean |
|
#Family
array:6 [
"code" => "my_family"
"labels" => array:1 [
"en_US" => "My family"
]
"attributes" => array:4 [
0 => "a_number_float"
1 => "a_price"
2 => "a_picture"
3 => "sku"
]
"attribute_as_label" => "sku"
"attribute_as_image" => "a_picture"
"attribute_requirements" => array:1 [
"ecommerce" => array:2 [
0 => "a_price"
1 => "sku"
]
]
]
type |
data structure |
data example |
notes |
---|---|---|---|
code |
string |
|
it’s the identifier of the family
|
labels |
string[] |
|
each key of the array represents the code of the
Akeneo\Channel\Component\Model\LocaleInterface |
attributes |
string[] |
|
each element of the array represents the code of the
Akeneo\Pim\Structure\Component\Model\AttributeInterface |
attribute_as_label |
string |
|
it represents the code of the object
Akeneo\Pim\Structure\Component\Model\AttributeInterface |
attribute_as_image |
string |
|
it represents the code of the object
Akeneo\Pim\Structure\Component\Model\AttributeInterface . Can be null. |
attribute_requirements |
array |
|
each element of the array represents the code of the
Akeneo\Pim\Structure\Component\Model\AttributeInterface |
#Group
array:3 [
"code" => "my_group"
"type" => "RELATED"
"labels" => array:1 [
"en_US" => "My group"
]
]
type |
data structure |
data example |
notes |
---|---|---|---|
code |
string |
|
it’s the identifier of the group
|
type |
string |
|
|
labels |
array |
|
each key of the array represents the code of the
Akeneo\Channel\Component\Model\LocaleInterface |
#Group Type
array:3 [
"code" => "VARIANT"
"is_variant" => true
"labels" => array:1 [
"en_US" => "Variant type"
]
]
type |
data structure |
data example |
notes |
---|---|---|---|
code |
string |
|
it’s the identifier of the group type
|
is_variant |
boolean |
|
|
labels |
array |
|
each key of the array represents the code of the
Akeneo\Channel\Component\Model\LocaleInterface |
#Locale
array:2 [
"code" => "en_US"
"enabled" => true
]
type |
data structure |
data example |
notes |
---|---|---|---|
code |
string |
|
it’s the identifier of the locale
|
enabled |
boolean |
|
#Rule (Enterprise Edition)
array:5 => [
"code" => "my_rule"
"type" => "product"
"priority" => 0
"conditions" => array:1 [
0 => array:3 [
"field" => "a_name"
"operator" => "contains"
"value" => "description"
]
]
"actions" => array:1 [
0 => array:3 [
"type" => "set"
"field" => "a_text_area"
"value" => "the new description"
]
]
]
type |
data structure |
data example |
notes |
---|---|---|---|
code |
string |
|
it’s the identifier of the rule
|
type |
string |
|
it represents the type of the object
Akeneo\Bundle\Tool\RuleEngineBundle\Model\RuleDefinitionInterface |
priority |
integer |
|
|
conditions |
array |
[0 => ["field" => "a_name", "operator" => "contains", "value" => "description"], 1 =>["field" => "a_text", "operator" => "!=", "value" => "name"]] |
each element of the array represents a condition for
Akeneo\Pim\Enrichment\Component\Product\Query\ProductQueryBuilderInterface |
actions |
array |
|
each element of the array represents the action to apply when
condition is fulfilled
|
#Usage
The standard format is used to:
import data
export data
update objects in memory (imports, PEF for products, Mass Edit)
define the data expected in the
Akeneo\Pim\Enrichment\Component\Product\Query\ProductQueryBuilderInterface
filtersstore variant groups values
store draft changes (EE)
Found a typo or a hole in the documentation and feel like contributing?
Join us on Github!