Site Settings Service

Download OpenAPI specification:Download

Sites are used as virtual entities within a tenant. They can represent a web store, a physical store, a branded store or a store for a specific market.


Key Features:

  • Associate information such as catalog, payment methods, shipping and other with a site
  • Overwrite or augment tenant-specific configuration with site-specific configurations
  • Configure information such as for which customer this site is.
  • Configure whether all prices are shown site-wide including or excluding taxes as default
  • Configure assisted buying for a particular site

Key Benefits:

  • Create sites specific for a brand, a customer, or a market
  • Run stores within your store
  • Create a virtual representation of your physical stores, warehouses or other locations

Mixins

Retrieving site mixins

Retrieves all mixins for a specified site.


Required scopes

  • site.site_manage
SecurityOAuth2
Request
path Parameters
tenant
required
string

Your Emporix tenant's name.

Note: The tenant name should always be provided in lowercase.

siteCode
required
string

Site code, defined when a site is created.

Responses
200

OK

400
401
403
get/{tenant}/sites/{siteCode}/mixins
Request samples
Response samples
application/json
{
  • "couponSettings": {},
  • "merchantInfo": {},
  • "customerSettings": {},
  • "imageSize": {
    },
  • "feeService": {},
  • "orderProcessSettings": {
    },
  • "generalShopSettings": {},
  • "productSettings": {
    }
}

Creating a site mixin

Creates a mixin for a specified site.


Required scopes

  • site.site_manage
SecurityOAuth2
Request
path Parameters
tenant
required
string

Your Emporix tenant's name.

Note: The tenant name should always be provided in lowercase.

siteCode
required
string

Site code, defined when a site is created.

Request Body schema: application/json
object (Mixin)

Represents a single mixin. The payload is represented as a map with a single key and value, where key represents a mixin group name and value represents a map with keys and values.

Responses
201

Created

400

Bad Request

401
403
409

Conflict

post/{tenant}/sites/{siteCode}/mixins
Request samples
application/json
{}
Response samples
application/json
{
  • "id": "test"
}

Retrieving a site mixin

Retrieves a specified site mixin.


Required scopes

  • site.site_manage
SecurityOAuth2
Request
path Parameters
tenant
required
string

Your Emporix tenant's name.

Note: The tenant name should always be provided in lowercase.

siteCode
required
string

Site code, defined when a site is created.

mixinName
required
string

Mixin name, defined when the mixin is created.

Responses
200

OK

400
401
403
404
get/{tenant}/sites/{siteCode}/mixins/{mixinName}
Request samples
Response samples
application/json
{}

Deleting a site mixin

Deletes a specified site mixin.

Required scopes

  • site.site_manage
SecurityOAuth2
Request
path Parameters
tenant
required
string

Your Emporix tenant's name.

Note: The tenant name should always be provided in lowercase.

siteCode
required
string

Site code, defined when a site is created.

mixinName
required
string

Mixin name, defined when the mixin is created.

Responses
204

No Content

400
401
403
404
delete/{tenant}/sites/{siteCode}/mixins/{mixinName}
Request samples
Response samples
application/json
{
  • "status": 400,
  • "type": "bad_request",
  • "message": "The tenant information provided with the request is not valid."
}

Fully updating a site mixin

Fully updates a specified site mixin.


Required scopes

  • site.site_manage
SecurityOAuth2
Request
path Parameters
tenant
required
string

Your Emporix tenant's name.

Note: The tenant name should always be provided in lowercase.

siteCode
required
string

Site code, defined when a site is created.

mixinName
required
string

Mixin name, defined when the mixin is created.

Request Body schema: application/json
object (Mixin)

Represents a single mixin. The payload is represented as a map with a single key and value, where key represents a mixin group name and value represents a map with keys and values.

Responses
200

OK

400
401
403
404
put/{tenant}/sites/{siteCode}/mixins/{mixinName}
Request samples
application/json
{}
Response samples
application/json
{
  • "status": 400,
  • "type": "bad_request",
  • "message": "The tenant information provided with the request is not valid."
}

Partially updating a site mixin

Partially updates a specified site mixin.


Required scopes

  • site.site_manage
SecurityOAuth2
Request
path Parameters
tenant
required
string

Your Emporix tenant's name.

Note: The tenant name should always be provided in lowercase.

siteCode
required
string

Site code, defined when a site is created.

mixinName
required
string

Mixin name, defined when the mixin is created.

Request Body schema: application/json
object (Mixin)

Represents a single mixin. The payload is represented as a map with a single key and value, where key represents a mixin group name and value represents a map with keys and values.

Responses
200

OK

400
401
403
patch/{tenant}/sites/{siteCode}/mixins/{mixinName}
Request samples
application/json
{
  • "active": true
}
Response samples
application/json
{
  • "status": 400,
  • "type": "bad_request",
  • "message": "The tenant information provided with the request is not valid."
}

Site settings

Retrieving sites

Retrieves a list of site configurations.


Required scopes

  • site.site_manage

    Note: The site.site_manage scope is only required if you want to retrieve inactive sites.

SecurityOAuth2
Request
path Parameters
tenant
required
string

Your Emporix tenant's name.

Note: The tenant name should always be provided in lowercase.

query Parameters
totalCount
boolean
Default: false

If set to true, a total number of sites is returned in a response header.

includeInactive
boolean
Default: false
Option Description
true Retrieves both the active and inactive sites.
false Retrieves only the active sites.
sort
string

List of properties used to sort the results, separated by colons.

Possible values:

  • {fieldName}
  • {fieldName}:asc
  • {fieldName}:desc

Note: If you want to sort the results by localized properties, the possible values are:

  • {fieldName}.{language}
  • {fieldName}.{language}:asc
  • {fieldName}.{language}:desc

By default, the fields are sorted in ascending order.

pageNumber
integer >= 1
Default: 1

Page number to be retrieved. The number of the first page is 1.

Note: If the pageNumber parameter is passed, size of the pages must be specified in the pageSize parameter.

pageSize
integer >= 1
Default: 16

Number of products to be retrieved per page.

q
string

A standard query parameter used to search for specific values.

Example: q=name:{productName}
expand
string

Used to expand the following site settings:

  • payment
  • shipping
  • tax
  • mixin

Each of the settings (except mixin) can be set to one of the following values:

  • all
  • active
  • none

For retrieving mixin, use the following value:

  • *
Example: expand=payment:all,shipping:active,tax:none,mixin:*
Responses
200

OK

400
401
403
get/{tenant}/sites
Request samples
Response samples
application/json
[]

Creating a site

Creates a new site configuration.


Required scopes

  • site.site_manage
SecurityOAuth2
Request
path Parameters
tenant
required
string

Your Emporix tenant's name.

Note: The tenant name should always be provided in lowercase.

Request Body schema: application/json
code
string

Site's unique identifier.

name
string

Site name.

active
boolean

Flag indicating whether the site is active.

default
boolean

Flag indicating whether the site is the tenant's default site.

includesTax
boolean

Indicates whether prices for the site should be returned in gross (when includesTax=true) or net (when includesTax=false).

defaultLanguage
string = 2 characters ^[a-z]{2}

Site's default language, compliant with the ISO 639-1 standard.

languages
Array of strings

Languages supported by the site.

Note: The languages must be compliant with the ISO 639-1 standard.

currency
string (CurrencyDto) = 3 characters ^[A-Z]{3}

Currency used by the site, compliant with the ISO 4217 standard.

availableCurrencies
Array of strings (CurrencyDto)

List of the currencies supported by the site

object (HomeBase)

Site's location.

shipToCountries
Array of strings

Codes of countries to which the site ships products.

Note: The country codes must be compliant with the ISO 3166-1 alpha-2 standard.

Array of objects (Service Configuration)

Shipping service configurations.

Array of objects (Service Configuration)

Payment service configurations.

Array of objects (Service Configuration)

Preview feature - the feature is not fully operated yet. Tax service configurations.

object (AssistedBuying)
object (Metadata)
taxDeterminationBasedOn
string (taxDeterminationBasedOn)

Specifies whether tax calculation is based on customer billing address or shipping address. Default value is BILLING_ADDRESS.

Enum: "BILLING_ADDRESS" "SHIPPING_ADDRESS"
mixins
object

Site's additional properties.

Responses
201

Created

400
401
403
post/{tenant}/sites
Request samples
application/json
{
  • "code": "test2",
  • "name": "postmanTestSiteName",
  • "active": false,
  • "default": false,
  • "defaultLanguage": "en",
  • "languages": [
    ],
  • "currency": "GBP",
  • "homeBase": {
    },
  • "shipToCountries": [
    ],
  • "mixins": { },
  • "metadata": { }
}
Response samples
application/json
{
  • "Response example": {
    }
}

Retrieving a site

Retrieves a specified site's configuration.


Required scopes

  • site.site_manage

    Note: The site.site_manage scope is only required if you want to retrieve an inactive site.

SecurityOAuth2
Request
path Parameters
tenant
required
string

Your Emporix tenant's name.

Note: The tenant name should always be provided in lowercase.

siteCode
required
string

Site code, defined when a site is created.

query Parameters
expand
string

Used to expand the following site settings:

  • payment
  • shipping
  • tax
  • mixin

Each of the settings (except mixin) can be set to one of the following values:

  • all
  • active
  • none

For retrieving mixin, use the following value:

  • *
Example: expand=payment:all,shipping:active,tax:none,mixin:*
Responses
200

Example response

400
401
403
404
500

Internal Server Error

get/{tenant}/sites/{siteCode}
Request samples
Response samples
application/json
{
  • "code": "test2",
  • "name": "postmanTestSiteName",
  • "active": false,
  • "defaultLanguage": "en",
  • "languages": [
    ],
  • "currency": "GBP",
  • "homeBase": {
    },
  • "shipToCountries": [
    ],
  • "metadata": {
    },
  • "default": true
}

Fully updating a site

Fully updates a specified site's configuration.

You can also use this endpoint to update the configuration of the following services:

  • payment
  • shipping
  • tax

Note: To update an inactive service configuration, you need to use the expand query parameter.


Required scopes

  • site.site_manage
SecurityOAuth2
Request
path Parameters
tenant
required
string

Your Emporix tenant's name.

Note: The tenant name should always be provided in lowercase.

siteCode
required
string

Site code, defined when a site is created.

query Parameters
expand
string

Used to expand the following site settings:

  • payment
  • shipping
  • tax
  • mixin

Each of the settings (except mixin) can be set to one of the following values:

  • all
  • active
  • none

For retrieving mixin, use the following value:

  • *
Example: expand=payment:all,shipping:active,tax:none,mixin:*
Request Body schema: application/json
code
string

Site's unique identifier.

name
string

Site name.

active
boolean

Flag indicating whether the site is active.

default
boolean

Flag indicating whether the site is the tenant's default site.

includesTax
boolean

Indicates whether prices for the site should be returned in gross (when includesTax=true) or net (when includesTax=false).

defaultLanguage
string = 2 characters ^[a-z]{2}

Site's default language, compliant with the ISO 639-1 standard.

languages
Array of strings

Languages supported by the site.

Note: The languages must be compliant with the ISO 639-1 standard.

currency
string (CurrencyDto) = 3 characters ^[A-Z]{3}

Currency used by the site, compliant with the ISO 4217 standard.

availableCurrencies
Array of strings (CurrencyDto)

List of the currencies supported by the site

object (HomeBase)

Site's location.

shipToCountries
Array of strings

Codes of countries to which the site ships products.

Note: The country codes must be compliant with the ISO 3166-1 alpha-2 standard.

Array of objects (Service Configuration)

Shipping service configurations.

Array of objects (Service Configuration)

Payment service configurations.

Array of objects (Service Configuration)

Preview feature - the feature is not fully operated yet. Tax service configurations.

object (AssistedBuying)
object (Metadata)
taxDeterminationBasedOn
string (taxDeterminationBasedOn)

Specifies whether tax calculation is based on customer billing address or shipping address. Default value is BILLING_ADDRESS.

Enum: "BILLING_ADDRESS" "SHIPPING_ADDRESS"
mixins
object

Site's additional properties.

Responses
200

The request was successful. The services configuration has been updated.

400
401
403
404
409

Conflict

500

Internal Server Error

put/{tenant}/sites/{siteCode}
Request samples
application/json
{
  • "name": "test",
  • "active": true,
  • "default": false,
  • "defaultLanguage": "de",
  • "languages": [
    ],
  • "currency": "EUR",
  • "homeBase": {
    },
  • "shipToCountries": [
    ],
  • "mixins": { },
  • "metadata": { }
}
Response samples
application/json
{
  • "status": 400,
  • "type": "bad_request",
  • "message": "The tenant information provided with the request is not valid."
}

Deleting a site

Deletes a specified site.

Important: You cannot delete a site whose default property is set to true.


Required scopes

  • site.site_manage
SecurityOAuth2
Request
path Parameters
tenant
required
string

Your Emporix tenant's name.

Note: The tenant name should always be provided in lowercase.

siteCode
required
string

Site code, defined when a site is created.

Responses
204

The request was successful. The site has been deleted.

400
401
403
404
500

Internal Server Error

delete/{tenant}/sites/{siteCode}
Request samples
Response samples
application/json
{
  • "status": 400,
  • "type": "bad_request",
  • "message": "The tenant information provided with the request is not valid."
}

Partially updating a site

Partially updates a specified site's configuration.

Required scopes

  • site.site_manage
SecurityOAuth2
Request
path Parameters
tenant
required
string

Your Emporix tenant's name.

Note: The tenant name should always be provided in lowercase.

siteCode
required
string

Site code, defined when a site is created.

Request Body schema: application/json
code
string

Site's unique identifier.

name
string

Site name.

active
boolean

Flag indicating whether the site is active.

default
boolean

Flag indicating whether the site is the tenant's default site.

includesTax
boolean

Indicates whether prices for the site should be returned in gross (when includesTax=true) or net (when includesTax=false).

defaultLanguage
string = 2 characters ^[a-z]{2}

Site's default language, compliant with the ISO 639-1 standard.

languages
Array of strings

Languages supported by the site.

Note: The languages must be compliant with the ISO 639-1 standard.

currency
string (CurrencyDto) = 3 characters ^[A-Z]{3}

Currency used by the site, compliant with the ISO 4217 standard.

availableCurrencies
Array of strings (CurrencyDto)

List of the currencies supported by the site

object (HomeBase)

Site's location.

shipToCountries
Array of strings

Codes of countries to which the site ships products.

Note: The country codes must be compliant with the ISO 3166-1 alpha-2 standard.

Array of objects (Service Configuration)

Shipping service configurations.

Array of objects (Service Configuration)

Payment service configurations.

Array of objects (Service Configuration)

Preview feature - the feature is not fully operated yet. Tax service configurations.

object (AssistedBuying)
object (Metadata)
taxDeterminationBasedOn
string (taxDeterminationBasedOn)

Specifies whether tax calculation is based on customer billing address or shipping address. Default value is BILLING_ADDRESS.

Enum: "BILLING_ADDRESS" "SHIPPING_ADDRESS"
mixins
object

Site's additional properties.

Responses
200

The request was successful. The site has been updated.

400
401
403
404
409

Conflict

500

Internal Server Error

patch/{tenant}/sites/{siteCode}
Request samples
application/json
{
  • "defaultLanguage": "en"
}
Response samples
application/json
{
  • "status": 400,
  • "type": "bad_request",
  • "message": "The tenant information provided with the request is not valid."
}

Retrieving site codes

Retrieves a list of site codes.


Required scopes

  • site.site_read

  • site.site_manage

    Note: The site.site_manage scope is only required if you want to retrieve inactive sites.

SecurityOAuth2
Request
path Parameters
tenant
required
string

Your Emporix tenant's name.

Note: The tenant name should always be provided in lowercase.

query Parameters
includeInactive
boolean
Default: false
Option Description
true Retrieves both the active and inactive sites.
false Retrieves only the active sites.
pageNumber
integer >= 1
Default: 1

Page number to be retrieved. The number of the first page is 1.

Note: If the pageNumber parameter is passed, size of the pages must be specified in the pageSize parameter.

pageSize
integer >= 1
Default: 16

Number of products to be retrieved per page.

sort
string

List of properties used to sort the results, separated by colons.

Possible values:

  • {fieldName}
  • {fieldName}:asc
  • {fieldName}:desc

Note: If you want to sort the results by localized properties, the possible values are:

  • {fieldName}.{language}
  • {fieldName}.{language}:asc
  • {fieldName}.{language}:desc

By default, the fields are sorted in ascending order.

q
string

A standard query parameter used to search for specific values.

Example: q=name:{productName}
totalCount
boolean
Default: false

If set to true, a total number of sites is returned in a response header.

expand
string

Used to expand specific site settings.

Setting Possible values
payment
shipping
tax
all
active
none
mixins {mixinName}
*
Example: expand=payment:all,shipping:active,tax:none,mixin:customerSettings
Responses
200

OK

400
401
403
get/{tenant}/siteslist
Request samples
Response samples
application/json
[
  • "UK",
  • "FR",
  • "main",
  • "DE",
  • "US"
]