Configuration overview¶
The configuration defines valid markets and locales in Elevate and is essential to all other operations. It is the first import to perform, as it sets the groundwork for all subsequent imports. It acts as a reference for validating imports, queries, and notifications against market and locale parameters. Typically, the configuration is only imported at the start of the project or when introducing new markets or locales and does not require scheduling.
This section provides an overview of the configuration format and configuration imports. For complete schemas and request details, see the configuration import specification.
- The configuration consists of market definitions.
- Configuration imports must be encoded using
UTF-8
. - Configuration imports must be sent with
Content-Type
:application/json
. - Configuration imports consist of a single operation, describing a change of the configuration.
Configuration imports greatly impact Elevate, can be highly destructive and must be made with care.
Deleting markets and locales
Removing markets and locales are highly destructive actions.
Removing a market deletes all related data, including market specific product, variant and content information as well as all Elevate app settings for that market.
Removing a locale from all market definitions deletes all related data, including locale specific product, variant, content and localization information as well as all Elevate app settings specific to that locale. Note that this can be caused by an update if the locale is removed from a market and no other markets support the locale.
To prevent accidental deletions, any configuration imports resulting in deleted markets or locales will fail unless the query parameter allowDestructiveImport=true
is provided.
Format overview¶
The catalog import operation must contain a single instruction, as described in the operation schema. The instructions replace
and edit
contain complete and partial market definitions, while remove
contains identifiers of the market definitions to remove.
Market definition¶
Market definitions define the available locales
of a market as well as appSettings
for the market. The locales will control the permitted market and locale combinations for requests as well as for the catalog data. The app settings determine settings in the Elevate Apps which impacts the experience of the merchandiser, but they have no impact on the retailer´s site.
Market definitions specify the available locales
for a market, as well as the appSettings
. Together with the market identifier, the locales control the allowed combinations of market and locale for requests and catalog data. App settings determine configurations in Elevate Apps that impact the merchandiser's experience, but they have no effect on the retailer's site.
Example¶
{
"se": {
"locales": [
"sv-SE", "en-GB"
],
"appSettings": {
"name": "Sweden",
"currency": "SEK"
}
}
}
Configuration import examples¶
Replace configuration¶
The replace
instruction sets the configuration to precisely the specified state, deleting all other market definitions. This can be used during initial setup or under rare circumstances such as to ensure alignment between different environments.
{
"replace": {
"markets": {
"se": {
"locales": ["sv-SE", "en-GB"],
"appSettings": {
"name": "SE",
"currency": "kr"
}
},
"uk": {
"locales": ["en-GB"]
}
}
}
}
Edit market definition¶
The edit
instruction allows exiting market definitions to be modified, where only the specified markets are affected.
Given the state as specified by the replace configuration example, the following example would leave uk
unmodified and edit the existing market definition of se
.
The modification would change name
in appSettings to "Sweden" but leaving currency
unchanged. It would also remove support for the locale sv-SE
, invalidating it as locale request parameter to be used in combination with the market se
. Furthermore, as no other market definition supports sv-SE
this update would delete all data related to the sv-SE
locale, including locale specific product, variant, content and localization information as well as all Elevate app settings connected to that locale.
{
"edit": {
"markets": {
"se": {
"locales": ["en-GB"],
"appSettings": {
"name": "Sweden"
}
}
}
}
}
Add market definition through edit¶
The edit
instruction can also be used to add new markets to the configuration by supplying valid market definitions of previously un-configured market identifiers.
{
"edit": {
"markets": {
"us": {
"locales": ["en-US"]
}
}
}
}
Remove market¶
The following example removes the market definition for us
, along with all market related data. This including any market specific product, variant and content information as well as all Elevate app settings for the market us
. It also deletes all data related to any locale that was uniquely supported by us
.
{
"remove": {
"markets": ["us"]
}
}
App market configuration¶
In the app under admin configuration all available markets are listed, with their name
, ID
(used for queries and notifications) and currency
. Each market also contains all available locales
and three different preview URLs
, these can be set and viewed during both add and edit.
A new market can be added with ease using the “Add Market” button. All input fields except for the preview URLs
are required to create a new market.
After a market has been created all values can be edited except the market ID
. If a locale
is removed during the edit, a prompt requiring confirmation will be displayed. The prompt will indicate what will be permanently lost after the removal.
The same confirmation prompt will be displayed when trying to delete a market. Caution advised! Like the prompt says: This action cannot be undone.