Download OpenAPI specification:Download
This document describes the Fashion Cloud Showroom Integration API, which is meant to be used by back-end servers to import and export brand's core data.
What is Brand Core Data? (check our api glossary)
All the API methods are available on a single domain https://api.showroom.fashion.cloud
.
You can find the full paths in the endpoint documentation pages.
For Import Data we provide UPSERT based interfaces for creating and updating the data.
All endpoints are synchronous and idempotent.
For Export Data we provide GET based interfaces for fetching a single or bulk data objects.
The integration api communicates with json using HTTP POST/GET requests.
Required Headers:
Content-Type: application/json
.Authorization: Bearer {jwt}
(How to get your jwt token)The Showroom team will create a Machine-to-Machine (M2M) authentication application for your brand and will send you the client ID and client secret through a secure link.
With this information, you can get a JWT token to authenticate your requests.
The JWT token should be passed in the Authorization header as a Bearer token.
The token should be requested from the Auth0 token endpoint using the client ID and client secret.
Here is an example of how to get the token using curl for a specific {non-prod} environment:
curl --request POST \
--url https://hatchstudio-{non-prod-env}.eu.auth0.com/oauth/token \
--header 'content-type: application/json' \
--data '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET", "audience":"https://{non-prod-env}.showroom.fashion.cloud/","grant_type":"client_credentials"}'
For production environment, use the following:
curl --request POST \
--url https://authorize.showroom.fashion.cloud/oauth/token \
--header 'content-type: application/json' \
--data '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET", "audience":"https://showroom.fashion.cloud/","grant_type":"client_credentials"}'
The response will contain the JWT token that you can use to authenticate your requests.
Important: The JWT token is valid for 24 hours.
Your brand is limited in the amount of M2M tokens that can be requested per day.
Please make sure to cache the token and only request a new one when the current one expires.
Showroom uses 2 types of media (images/videos) assets:
Are marketing materials used as a sales aid, showcasing a few options to be matched together.
An entity which acts like a folder to group related assets together in one place.
Is the stock level of a particular SKU of an option
Is representation of a system user within the Showroom.
Is the output of any sales appointment. Consider it a draft order to be imported to the next processing system.
Is an implementation of catalog and customer segmentation features.
Is a catalog available to the user inside the presentation and used to browse Looks available within the Season/Division
Is a catalog available to the user inside the presentation and used to browse Options available within the Season/Division
Is a Content Management System within the Showroom to configure Brand settings from the UI The CMS can be used for:
Is a Look Detail Page that displays a single Look with additional information attached.
Is a Product Detail Page that displays a single Option with additional information attached (prices, color variations, etc.)
Is a slide within a presentation.
Is a central part of the presentation assortment where the user adds Options, Looks and text.
The process of dividing a target market into smaller, more defined categories. It segments customers and audiences into groups with similar characteristics, such as demographics, interests, needs, or location.
The process of charging different prices for the same or similar product or service based on internal business rules.
Fetch a single customer document with a set of underlying locations (by IDs).
customerID required | string (CustomerID is the internal customer identifier) |
locationIDs | Array of strings (List of locationIDs which are the internal location identifiers) |
{- "customerID": "string",
- "locationIDs": [
- "string"
]
}
{- "brandCode": "HAT",
- "customerCode": "HAT5",
- "id": "CUSTOMER_HAT_HAT5",
- "locations": [
- {
- "addressLine1": "867 Burnett Ridge Suite 919",
- "addressLine2": "Apt. 771",
- "brandCode": "HAT",
- "city": "Nataliemouth",
- "country": "Congo",
- "currency": "EUR",
- "customerCode": "HAT5",
- "divisionCodes": [
- "ss"
], - "id": "LOCATION_HAT_HAT141",
- "isActive": true,
- "languageCode": "en",
- "locationCode": "HAT141",
- "locationType": [
- "SellTo"
], - "name": "Nataliemouth location",
- "postalCode": "44247",
- "priceGroups": [
- "1",
- "2"
], - "stateProvince": "Mississippi"
}
], - "name": "Vans customer 5",
- "phone": "001-908-397-6122x5657",
- "vatNumber": "002595"
}
Fetch a single customer document with a set of underlying locations (by Code).
brandCode required | string (brandCode of the customer) |
customerCode required | string (customerCode is the code of the customer) |
locationCodes | Array of strings (List of locationCodes which are the location identifiers) |
{- "brandCode": "string",
- "customerCode": "string",
- "locationCodes": [
- "string"
]
}
{- "brandCode": "HAT",
- "customerCode": "HAT5",
- "id": "CUSTOMER_HAT_HAT5",
- "locations": [
- {
- "addressLine1": "867 Burnett Ridge Suite 919",
- "addressLine2": "Apt. 771",
- "brandCode": "HAT",
- "city": "Nataliemouth",
- "country": "Congo",
- "currency": "EUR",
- "customerCode": "HAT5",
- "divisionCodes": [
- "ss"
], - "id": "LOCATION_HAT_HAT141",
- "isActive": true,
- "languageCode": "en",
- "locationCode": "HAT141",
- "locationType": [
- "SellTo"
], - "name": "Nataliemouth location",
- "postalCode": "44247",
- "priceGroups": [
- "1",
- "2"
], - "stateProvince": "Mississippi"
}
], - "name": "Vans customer 5",
- "phone": "001-908-397-6122x5657",
- "vatNumber": "002595"
}
Create or Update existing customer
entity.
The uniqueness of the customer is determined by the customerCode
(provided by the client during creation).
brandCode required | string (Brand identifier that the customer belongs to) |
customerCode required | string (Uniquely identifies the customer in the brand's internal systems e.g. CRM) |
name required | string (Name of the customer) |
phone | string (Main phone number of the customer) |
vatNumber | string (VAT number of the customer) |
{- "brandCode": "string",
- "customerCode": "string",
- "name": "string",
- "phone": "string",
- "vatNumber": "string"
}
{- "brandCode": "HAT",
- "customerCode": "FOO",
- "id": "CUSTOMER_HAT_FOO",
- "name": "Customer name",
- "phone": "+31629468500",
- "vatNumber": "NL12345678B01"
}
Fetch a single location by its internal ID
locationID required | string (LocationID is the internal location ID) |
{- "locationID": "string"
}
{- "addressLine1": "addrline1",
- "addressLine2": "addrline2",
- "brandCode": "HAT",
- "brandUserIds": [
- "userID1"
], - "city": "The City",
- "country": "NL",
- "currency": "DKK",
- "customerCode": "HAT5",
- "divisionCodes": [
- "d1",
- "d2"
], - "id": "LOCATION_HAT_HAT141",
- "isActive": true,
- "languageCode": "en-US",
- "locationCode": "HAT141",
- "locationType": [
- "ShipTo"
], - "name": "Name loc foo",
- "postalCode": "1234AB",
- "priceGroups": [
- "1",
- "31"
], - "stateProvince": "The Province of the State",
- "stockReferenceCodes": [
- "warehouse_1",
- "stock_reference_code_2"
]
}
DEPRECATED: use GetList instead
Fetch locations by list of brandUserIDs. Response will return a list of locations with at least one of the brandUserIDs from the request set on the location
brandCode required | string (brandCode of the customer) |
brandUserIDs required | Array of strings (brandUserIDs that have access to locations) |
{- "brandCode": "string",
- "brandUserIDs": [
- "string"
]
}
{- "locations": [
- {
- "addressLine1": "addrline1",
- "addressLine2": "addrline2",
- "brandCode": "HAT",
- "brandUserIds": [
- "userID1"
], - "city": "The City",
- "country": "NL",
- "currency": "DKK",
- "customerCode": "HAT5",
- "divisionCodes": [
- "d1",
- "d2"
], - "id": "LOCATION_HAT_HAT141",
- "isActive": true,
- "languageCode": "en-US",
- "locationCode": "HAT141",
- "locationType": [
- "ShipTo"
], - "name": "Name loc foo",
- "postalCode": "1234AB",
- "priceGroups": [
- "1",
- "31"
], - "stateProvince": "The Province of the State"
}
]
}
DEPRECATED: use GetList instead
Fetch locations by their codes
brandCode required | string (brandCode of the customer) |
locationCodes required | Array of strings (List of locationCodes which are the location identifiers) |
{- "brandCode": "string",
- "locationCodes": [
- "string"
]
}
{- "locations": [
- {
- "addressLine1": "addrline1",
- "addressLine2": "addrline2",
- "allowUIEmailUpdates": true,
- "brandCode": "HAT",
- "brandUserIds": [
- "userID1"
], - "buyerEmails": [
- "userID1@email.com",
- "userID2@email.com"
], - "city": "The City",
- "country": "NL",
- "currency": "DKK",
- "customerCode": "HAT5",
- "divisionCodes": [
- "d1",
- "d2"
], - "id": "LOCATION_HAT_HAT141",
- "isActive": true,
- "languageCode": "en-US",
- "locationCode": "HAT141",
- "locationType": [
- "ShipTo"
], - "name": "Name loc foo",
- "postalCode": "1234AB",
- "priceGroups": [
- "1",
- "31"
], - "stateProvince": "The Province of the State"
}
]
}
Fetch locations by multiple parameters.
GetLocationList returns Locations filtered by a number of parameters. Returns up to a 100 locations if no pagination is provided.
brandCode required | string (brandCode of the customer) |
brandUserIDs | Array of strings List of brandUserIDs that have access to locations. When not specified or empty, no filtering by brandUserIDs codes happens. |
customerCodes | Array of strings List of customerCodes locations belong to. When not specified or empty, no filtering by customer codes happens. |
divisionCodes | Array of strings List of divisionCodes locations are related to. When not specified or empty, no filtering by division codes happens. |
isActiveOnly | boolean Default: "false" Whether or not filter out inactive locations. |
locationCodes | Array of strings List of locationCodes which are the location identifiers. When not specified or empty, no filtering by location codes happens. |
object (customer.Pagination) |
{- "brandCode": "string",
- "brandUserIDs": [
- "string"
], - "customerCodes": [
- "string"
], - "divisionCodes": [
- "string"
], - "isActiveOnly": true,
- "locationCodes": [
- "string"
], - "pagination": {
- "limit": 200,
- "offset": 100
}
}
{- "locations": [
- {
- "addressLine1": "addrline1",
- "addressLine2": "addrline2",
- "allowUIEmailUpdates": true,
- "brandCode": "HAT",
- "brandUserIds": [
- "userID1"
], - "buyerEmails": [
- "userID1@email.com",
- "userID2@email.com"
], - "city": "The City",
- "country": "NL",
- "currency": "DKK",
- "customerCode": "HAT5",
- "divisionCodes": [
- "d1",
- "d2"
], - "id": "LOCATION_HAT_HAT141",
- "isActive": true,
- "languageCode": "en-US",
- "locationCode": "HAT141",
- "locationType": [
- "ShipTo"
], - "name": "Name loc foo",
- "postalCode": "1234AB",
- "priceGroups": [
- "1",
- "31"
], - "stateProvince": "The Province of the State"
}
]
}
Create or Update location entity.
Uniqueness is determined by the locationCode
(provided by the client during creation).
You can deactivate a location by updating the entity to have isActive
set to false
, by doing so it will not
be available during the presentation creation/to any user.
addressLine1 | string (Primary location address information) |
addressLine2 | string (Optional additional location address information) |
allowUIEmailUpdates | boolean (Defines whether the location's buyer email list can be updated from the ui - defaults to false) |
brandCode required | string (Brand identifier that the location belongs to) |
brandUserIds | Array of strings (A list of brand user IDs which have access to this location) If value is not set or it is an empty list, location will be available to ALL users. If no user codes match existing users, location will not be available. |
buyerEmails | Array of strings (A list of buyer emails that should be on the mailing list regarding this location) |
city | string (Location town or city) |
country | string (Country of the location) |
currency required | string (The currency for the price group of this location. Should be ISO 4217 3-letter) |
customerCode required | string Customer identifier that the location belongs to. The value should match an existing |
divisionCodes required | Array of strings (A list of all division codes to which the location has access) If division code does not match any existing |
isActive | boolean (IsActive defines whether the customer location is active and therefore able to buy) If set to false, location will not appear in the showroom UI. |
languageCode | string (Defines the language preference of the location. To note; we currently do not provide multi-lingual support) |
locationCode required | string (Uniquely identifies the location in the brand's internal systems e.g. CRM) |
locationType required | Array of strings (Defines whether the location is a store, warehouse or invoice address (sometimes referred to as point of sale, ship-to, invoice-to)) Options: |
name required | string (Name of the location) |
postalCode | string (Location postal code) |
priceGroups required | Array of strings (A list of all price groups codes to which the location is assigned) All the product options will be filtered by the price availability within one currency+priceGroup combination. Make sure, your customer locations have proper groups assigned. |
stateProvince | string (Location state, province or administrative area (depending on country)) |
stockReferenceCodes | Array of strings A list of stock reference codes of this location - used to calculate stock availability (e.g. a list of warehouses that the location can order from). Stock will be aggregated across all matching stock reference codes.
If stock reference codes do not match any existing |
{- "addressLine1": "string",
- "addressLine2": "string",
- "allowUIEmailUpdates": true,
- "brandCode": "string",
- "brandUserIds": [
- "string"
], - "buyerEmails": [
- "string"
], - "city": "string",
- "country": "string",
- "currency": "string",
- "customerCode": "string",
- "divisionCodes": [
- "string"
], - "isActive": true,
- "languageCode": "string",
- "locationCode": "string",
- "locationType": [
- "string"
], - "name": "string",
- "postalCode": "string",
- "priceGroups": [
- "string"
], - "stateProvince": "string",
- "stockReferenceCodes": [
- "string"
]
}
{- "addressLine1": "Google maps, cell 862/17",
- "brandCode": "HAT",
- "city": "NonExisting",
- "country": "USA",
- "currency": "USD",
- "customerCode": "CUST01",
- "divisionCodes": [
- "DIV01",
- "DIV02"
], - "id": "LOCATION_HAT_LOC01",
- "isActive": true,
- "languageCode": "en_US",
- "locationCode": "LOC01",
- "locationType": [
- "SellTo",
- "ShipTo",
- "InvoiceTo"
], - "name": "Central location of supercustomer 1",
- "postalCode": "862/172225",
- "priceGroups": [
- "GROUP01",
- "GROUP2"
], - "stateProvince": "LA",
- "stockReferenceCodes": [
- "warehouse_1",
- "stock_reference_code_2"
]
}
Upsert multiple locations at once. Maximum 1000 locations per request.
brandCode required | string <string> (Brand code) Brand code issued by the showroom |
required | Array of objects (Locations) list of locations to upsert |
{- "brandCode": "HAT",
- "locations": [
- {
- "addressLine1": "addrline1",
- "addressLine2": "addrline2",
- "brandCode": "HAT",
- "brandUserIds": [
- "userID1"
], - "city": "The City",
- "country": "NL",
- "currency": "DKK",
- "customerCode": "HAT5",
- "divisionCodes": [
- "d1",
- "d2"
], - "isActive": true,
- "languageCode": "en-US",
- "locationCode": "HAT141",
- "locationType": [
- "ShipTo"
], - "name": "Name loc foo",
- "postalCode": "1234AB",
- "priceGroups": [
- "1",
- "31"
], - "stateProvince": "The Province ofthe State"
}, - {
- "addressLine1": "addrline1",
- "addressLine2": "addrline2",
- "allowUIEmailUpdates": true,
- "brandCode": "HAT",
- "buyerEmails": [
- "userID1@email.com",
- "userID2@email.com"
], - "city": "The City",
- "country": "NL",
- "currency": "DKK",
- "customerCode": "HAT5",
- "divisionCodes": [
- "d1",
- "d2"
], - "isActive": true,
- "languageCode": "en-US",
- "locationCode": "HAT142",
- "locationType": [
- "ShipTo"
], - "name": "Name loc foo",
- "postalCode": "1234AB",
- "priceGroups": [
- "1",
- "31"
], - "stateProvince": "The Province of the State"
}
]
}
{- "locations": [
- {
- "addressLine1": "addrline1",
- "addressLine2": "addrline2",
- "brandCode": "HAT",
- "brandUserIds": [
- "userID1"
], - "city": "The City",
- "country": "NL",
- "currency": "DKK",
- "customerCode": "HAT5",
- "divisionCodes": [
- "d1",
- "d2"
], - "id": "LOCATION_HAT_HAT141",
- "isActive": true,
- "languageCode": "en-US",
- "locationCode": "HAT141",
- "locationType": [
- "ShipTo"
], - "name": "Name loc foo",
- "postalCode": "1234AB",
- "priceGroups": [
- "1",
- "31"
], - "stateProvince": "The Province of the State"
}, - {
- "addressLine1": "addrline1",
- "addressLine2": "addrline2",
- "brandCode": "HAT",
- "city": "The City",
- "country": "NL",
- "currency": "DKK",
- "customerCode": "HAT5",
- "divisionCodes": [
- "d1",
- "d2"
], - "id": "LOCATION_HAT_HAT142",
- "isActive": true,
- "languageCode": "en-US",
- "locationCode": "HAT142",
- "locationType": [
- "ShipTo"
], - "name": "Name loc foo",
- "postalCode": "1234AB",
- "priceGroups": [
- "1",
- "31"
], - "stateProvince": "The Province of the State"
}
]
}
Get Brand by brandCode
brandCode required | string (BrandCode is the unique code of the brand and it is used as the main identifier of the brand) |
{- "brandCode": "string"
}
{- "brandCode": "HAT",
- "divisions": {
- "DIV1": {
- "divisionCode": "DIV1",
- "name": "div name",
- "seasons": {
- "SEASON1": {
- "brandCode": "HAT",
- "divisionCode": "DIV1",
- "market": "International",
- "name": "Name 1",
- "orderEndDate": "2009-02-13T23:31:30Z",
- "orderStartDate": "2009-02-13T23:31:30Z",
- "seasonCode": "SEASON1"
}, - "SEASON3": {
- "brandCode": "HAT",
- "divisionCode": "DIV1",
- "market": "International",
- "name": "Name 3",
- "orderEndDate": "2009-02-13T23:31:30Z",
- "orderStartDate": "2009-02-13T23:31:30Z",
- "seasonCode": "SEASON3"
}
}
}, - "DIV2": {
- "divisionCode": "DIV2",
- "name": "div name",
- "seasons": {
- "SEASON2": {
- "brandCode": "HAT",
- "divisionCode": "DIV2",
- "market": "local",
- "name": "Name 2",
- "orderEndDate": "2009-02-13T23:31:30Z",
- "orderStartDate": "2009-02-13T23:31:30Z",
- "seasonCode": "SEASON2"
}
}
}
}, - "isActive": true,
- "name": "Name",
- "theme": {
- "fontFamilyBody": "font family body",
- "fontFamilyDefault": "font family default",
- "fontFamilyHeadings": "font family headings",
- "primaryColor": "#000000",
- "secondaryColor": "#111111",
- "textColor": "#222222"
}
}
UpdateSizeConfig by brandCode
brandCode required | string (BrandCode is the unique code of the brand and it is used as the main identifier of the brand) |
object (SizeConfig to set the order of sizes shown in the size tables) |
{- "brandCode": "string",
- "sizeConfig": {
- "mainSizeOrder": [
- "string"
], - "subSizeOrder": {
- "property1": {
- "order": [
- "string"
]
}, - "property2": {
- "order": [
- "string"
]
}
}
}
}
{- "mainSizeOrder": [
- "XS",
- "S",
- "M",
- "L",
- "XL"
], - "subSizeOrder": {
- "inseam": {
- "order": [
- "31",
- "32",
- "33"
]
}
}
}
Get a division of a brand by divisionCode
and brandCode
.
brandCode required | string (BrandCode that this division belongs to) |
divisionCode required | string (DivisionCode used by the brand internally, for example, in their ERP system, to uniquely identify a division) |
{- "brandCode": "string",
- "divisionCode": "string"
}
{- "divisionCode": "DIV1",
- "seasons": {
- "SEASON1": {
- "brandCode": "HAT",
- "divisionCode": "DIV1",
- "market": "International",
- "name": "Name 1",
- "orderEndDate": "2020-01-01T00:00:00Z",
- "orderStartDate": "2020-01-01T00:00:00Z",
- "seasonCode": "SEASON1"
}
}
}
Create or Update an existing division.
The uniqueness of the division is determined by divisionCode
and brandCode
.
brandCode required | string (BrandCode that this division belongs to) |
divisionCode required | string (DivisionCode used by the brand internally, for example, in their ERP system, to uniquely identify a division) |
name required | string (Name of the division, to be used in the user interface of the digital showroom) |
{- "brandCode": "string",
- "divisionCode": "string",
- "name": "string"
}
{- "divisionCode": "DIV1",
- "name": "Division 1",
- "seasons": {
- "SEASON1": {
- "brandCode": "HAT",
- "divisionCode": "DIV1",
- "market": "International",
- "name": "Name 1",
- "orderEndDate": "2009-02-13T23:31:30Z",
- "orderStartDate": "2009-02-13T23:31:30Z",
- "seasonCode": "SEASON1"
}
}
}
Get a season of a brand by seasonCode
, divisionCode
and brandCode
.
brandCode required | string (BrandCode that this season belongs to) |
divisionCode required | string (DivisionCode that this season belongs to) |
seasonCode required | string (SeasonCode used by the brand internally to uniquely identify the season) |
{- "brandCode": "string",
- "divisionCode": "string",
- "seasonCode": "string"
}
{- "brandCode": "HAT",
- "divisionCode": "DIV1",
- "market": "m",
- "name": "summer 2020",
- "orderEndDate": "2009-02-13T23:31:31Z",
- "orderStartDate": "2009-02-13T23:31:30Z",
- "seasonCode": "S1"
}
Create or Update an existing season.
The uniqueness of the season is determined by seasonCode
, divisionCode
and brandCode
.
brandCode required | string (BrandCode that this season belongs to) |
divisionCode required | string (DivisionCode that this season belongs to) |
market | string (If the products in a catalog are unique for a particular market, this should be populated) |
name required | string (Name of the season, to be used in the user interface of the digital showroom) |
orderEndDate | string (Last date on which products in the season are available for ordering
This is leading when determining whether a presentation can be created for products in a season
If there are products available in the season with a later order end date, they will not be able to be ordered
after the season has ended) |
orderStartDate required | string (Start date from which products in the season are available for ordering
This is leading when determining whether a presentation can be created for products in a season
If there are products available in the season with an earlier order start date, they will not be able to be
ordered until the season start date is reached) |
seasonCode required | string (SeasonCode used by the brand internally to uniquely identify the season) |
{- "brandCode": "string",
- "divisionCode": "string",
- "market": "string",
- "name": "string",
- "orderEndDate": "string",
- "orderStartDate": "string",
- "seasonCode": "string"
}
{- "brandCode": "HAT",
- "divisionCode": "D1",
- "market": "m",
- "name": "summer 2020",
- "orderEndDate": "2009-02-13T23:31:31Z",
- "orderStartDate": "2009-02-13T23:31:30Z",
- "seasonCode": "S1"
}
Get a delivery drops of a brand by code
brandCode required | string (The brand code assigned by the showroom) |
codes required | Array of strings (A list of delivery drop codes used during the DeliveryDrop creation) |
{- "brandCode": "string",
- "codes": [
- "string"
]
}
[- {
- "brandCode": "HAT",
- "code": "delivery_42",
- "id": "DELIVERY_DROP_DELIVERY_42",
- "index": 7,
- "isActive": true,
- "name": "Holidays",
- "seasonCodes": [
- "S1",
- "S2"
]
}, - {
- "brandCode": "HAT",
- "code": "delivery_43",
- "id": "DELIVERY_DROP_DELIVERY_43",
- "index": 2,
- "isActive": true,
- "name": "Before Holidays",
- "seasonCodes": [
- "S2"
]
}
]
Get a delivery drops of a brand by ID
brandCode required | string (The brand code assigned by the showroom) |
ids required | Array of strings (A list of Showroom unique ids) |
{- "brandCode": "string",
- "ids": [
- "string"
]
}
[- {
- "brandCode": "HAT",
- "code": "delivery_42",
- "id": "DELIVERY_DROP_DELIVERY_42",
- "index": 7,
- "isActive": true,
- "name": "Holidays",
- "seasonCodes": [
- "S1",
- "S2"
]
}, - {
- "brandCode": "HAT",
- "code": "delivery_43",
- "id": "DELIVERY_DROP_DELIVERY_43",
- "index": 2,
- "isActive": true,
- "name": "Before Holidays",
- "seasonCodes": [
- "S2"
]
}
]
Get delivery drops of a brand by season codes
brandCode required | string (The brand code assigned by the showroom) |
seasonCodes required | Array of strings (A list of season codes used during the Season creation) |
{- "brandCode": "string",
- "seasonCodes": [
- "string"
]
}
[- {
- "brandCode": "HAT",
- "code": "delivery_42",
- "id": "DELIVERY_DROP_DELIVERY_42",
- "index": 7,
- "isActive": true,
- "name": "Holidays",
- "seasonCodes": [
- "S1",
- "S2"
]
}, - {
- "brandCode": "HAT",
- "code": "delivery_43",
- "id": "DELIVERY_DROP_DELIVERY_43",
- "index": 2,
- "isActive": true,
- "name": "Before Holidays",
- "seasonCodes": [
- "S2"
]
}
]
Create or Update an existing DeliveryDrop.
brandCode required | string <string> (Brand code) Brand code issued by the showroom |
code required | string <string> (Code) A value used on the brand side to uniquely identify the delivery drop |
index | integer <integer> (Delivery Drop index) A numeric value to sort delivery drops. If 2 indexes are equal, the order is not determined. Values from |
isActive | boolean <boolean> (Is active?) Indicates whether DeliveryDrop is active. Basically a soft-delete functionality |
name required | string <string> (Delivery Name) Name of the delivery drop visible to the users |
seasonCodes required | Array of strings <string> (Season codes) A list of season codes in which this delivery drop can be used. Seasons should exist. |
{- "brandCode": "HAT",
- "code": "delivery_42",
- "index": 42,
- "isActive": true,
- "name": "Holidays",
- "seasonCodes": [
- "S1",
- "S2"
]
}
{- "brandCode": "HAT",
- "code": "delivery_42",
- "id": "DELIVERY_DROP_DELIVERY_42",
- "index": 7,
- "isActive": "true",
- "name": "Holidays",
- "seasonCodes": [
- "S1",
- "S2"
]
}
DEPRECATED: use GetByCodes in Options V2 instead
Fetch options by external code
brandCode required | string (brand identifier that the option belongs to) |
codes required | Array of strings (external code of options for fetching) |
{- "brandCode": "string",
- "codes": [
- "string"
]
}
{- "list": [
- {
- "brandCode": "HAT",
- "categories": [
- "sports-dames",
- ""
], - "colorCode": "G12",
- "colorName": "lipstick/beta",
- "deliveryDropCodes": [
- "delivery_42",
- "2020-10-14T12:33:22Z",
- "2020-11-14T12:33:22Z",
- "2020-12-14T12:33:22Z"
], - "description": "GRAPHIC SPORTSTYLE CLASSIC CREW",
- "divisionCode": "UA1",
- "fields": [
- {
- "name": "fabric weight"
}, - {
- "name": "material composition"
}, - {
- "name": "care instructions"
}
], - "gender": "MEN",
- "id": "OPTION_HAT_OPTIONCODE1",
- "imageMediaIDs": [
- "MEDIA_2e3ab1ab-dc04-4cff-b77f-123"
], - "isActive": true,
- "modifiedAt": "2020-04-06T10:37:07Z",
- "optionCode": "option123",
- "seasonCodes": [
- "FALL 2020"
], - "status": "new",
- "styleCode": "UN241D0A3",
- "videoMediaIDs": [
- "MEDIA_2e3ab1ab-dc04-4cff-b77f-555"
]
}, - {
- "brandCode": "HAT",
- "categories": [
- "damesschoenen",
- ""
], - "colorCode": "A11",
- "colorName": "white",
- "deliveryDropCodes": [
- "delivery_42",
- "2020-10-14T00:00:00Z",
- "2020-11-14T00:00:00Z",
- "2020-12-14T00:00:00Z"
], - "description": "HOVR SONIC ",
- "divisionCode": "UA1",
- "fields": [
- {
- "name": "fabric weight"
}, - {
- "name": "material composition"
}, - {
- "name": "care instructions"
}
], - "gender": "MEN",
- "id": "OPTION_HAT_OPTIONCODE2",
- "imageMediaIDs": [
- "MEDIA_2e3ab1ab-dc04-4cff-b77f-456"
], - "isActive": true,
- "modifiedAt": "2020-04-06T10:37:08Z",
- "optionCode": "option456",
- "seasonCodes": [
- "FALL 2020"
], - "status": "new",
- "styleCode": "UN241A07Q"
}
]
}
DEPRECATED: use GetByIDs in Options V2 instead
Fetch options by internal ids and optional price filters
object (Is used to filter options by the price availability) | |
ids required | Array of strings (internal ids of options for fetching) |
{- "filtersByPrice": {
- "brandCode": "string",
- "currency": "string",
- "priceGroupID": "string"
}, - "ids": [
- "string"
]
}
{- "list": [
- {
- "brandCode": "HAT",
- "categories": [
- "sports-dames",
- ""
], - "colorCode": "G12",
- "colorName": "lipstick/beta",
- "deliveryDropCodes": [
- "delivery_42",
- "2020-10-14T12:33:22Z",
- "2020-11-14T12:33:22Z",
- "2020-12-14T12:33:22Z"
], - "description": "GRAPHIC SPORTSTYLE CLASSIC CREW",
- "divisionCode": "UA1",
- "fields": [
- {
- "name": "fabric weight"
}, - {
- "name": "material composition"
}, - {
- "name": "care instructions"
}
], - "gender": "MEN",
- "id": "OPTION_HAT_OPTIONCODE1",
- "imageMediaIDs": [
- "MEDIA_2e3ab1ab-dc04-4cff-b77f-123"
], - "isActive": true,
- "modifiedAt": "2020-04-06T10:37:07Z",
- "optionCode": "option123",
- "seasonCodes": [
- "FALL 2020"
], - "sizes": [
- "XS",
- "S",
- "M",
- "L",
- "XL",
- "XXL"
], - "status": "new",
- "styleCode": "UN241D0A3",
- "videoMediaIDs": [
- "MEDIA_2e3ab1ab-dc04-4cff-b77f-555"
]
}, - {
- "brandCode": "HAT",
- "categories": [
- "damesschoenen",
- ""
], - "colorCode": "A11",
- "colorName": "white",
- "deliveryDropCodes": [
- "delivery_42",
- "2020-10-14T00:00:00Z",
- "2020-11-14T00:00:00Z",
- "2020-12-14T00:00:00Z"
], - "description": "HOVR SONIC ",
- "divisionCode": "UA1",
- "fields": [
- {
- "name": "fabric weight"
}, - {
- "name": "material composition"
}, - {
- "name": "care instructions"
}
], - "gender": "MEN",
- "id": "OPTION_HAT_OPTIONCODE2",
- "imageMediaIDs": [
- "MEDIA_2e3ab1ab-dc04-4cff-b77f-456"
], - "isActive": true,
- "modifiedAt": "2020-04-06T10:37:08Z",
- "optionCode": "option456",
- "seasonCodes": [
- "FALL 2020"
], - "sizes": [
- "38",
- "38.5",
- "40",
- "40.5",
- "41",
- "42.5"
], - "status": "new",
- "styleCode": "UN241A07Q"
}
]
}
DEPRECATED: use SetMediaByCodes in Options V2 instead
Attaches the media by their internal ids to the option by option code Multiple options/media combination can be requested under the same brandCode
Deprecated: use SetMediaByCodesV2Request instead
brandCode | string <string> (Brand Code) brand identifier that the options and media belong to |
Array of objects (Options) list of options and their media IDs |
{- "brandCode": "HAT",
- "options": [
- {
- "code": "OPTION_CODE_1",
- "imageCodes": [
- "IMAGE_CODE_1",
- "IMAGE_CODE_2"
], - "imageIDs": [
- "IMAGE_ID_1",
- "IMAGE_ID_2"
], - "media3D": [
- {
- "provider": "vntana"
}
], - "videoCodes": [
- "VIDEO_CODE_1",
- "VIDEO_CODE_2"
], - "videoIDs": [
- "VIDEO_ID_1",
- "VIDEO_ID_2"
]
}
]
}
{- "status": true
}
DEPRECATED: use Upsert in Options V2 instead
Create or Update an option by option code
brandCode required | string (brand identifier that the option belongs to) |
categories required | Array of strings (list of categories that the option belongs to) |
colorCode required | string (brand-specific color or pattern code of the option
this is the code that will shown as the code of the option color in the catalog) |
colorName required | string (brand-specific color or pattern name of the option
this is the name that will shown as the name of the option color in the catalog) |
countryOfOrigin | string (country of origin of the option) |
deliveryDates | Array of strings (Use delivery drop codes instead. List of available delivery dates of the option) Deprecated: Use |
deliveryDropCodes | Array of strings (list of available delivery drop codes of the option) |
description required | string (style description. Used as title of the option in lists and detail pages) |
divisionCode required | string division code to which this option belongs
should match an existing |
Array of objects (extra information to be attached to this option) | |
gender required | string (gender (and age) categorisation of a style) |
isActive | boolean whether the option is active or not. Active works as a soft delete where the product is no longer shown in the catalog and will not be available to order in case it is set to false. |
optionCode required | string (unique identifier for an option. For most brands this field is the combination of styleCode and colorCode) |
seasonCodes required | Array of strings (list of season codes in which the option is available for selling) |
sizes | Array of strings (list of available sizes) Deprecated: Use |
status | string (the status of the option. This may drive how the option appears in the digital showroom.
Does not affect product availability in the system) Options: |
styleCode required | string (unique identifier for a style) |
Array of objects (list of tags to describe the option) |
{- "brandCode": "string",
- "categories": [
- "string"
], - "colorCode": "string",
- "colorName": "string",
- "countryOfOrigin": "string",
- "deliveryDates": [
- "string"
], - "deliveryDropCodes": [
- "string"
], - "description": "string",
- "divisionCode": "string",
- "fields": [
- {
- "display": true,
- "name": "string",
- "value": "string"
}
], - "gender": "string",
- "isActive": true,
- "optionCode": "string",
- "seasonCodes": [
- "string"
], - "sizes": [
- "string"
], - "status": "string",
- "styleCode": "string",
- "tags": [
- {
- "name": "string",
- "value": "string"
}
]
}
{- "brandCode": "HAT",
- "categories": [
- "cat1",
- "cat2"
], - "colorCode": "011",
- "colorName": "Black",
- "countryOfOrigin": "coo valid",
- "deliveryDropCodes": [
- "delivery_42",
- "2020-10-17T17:55:43Z"
], - "description": "Lorem ipsum dolor sit amet",
- "divisionCode": "div42",
- "fields": [
- {
- "display": true,
- "name": "fname1",
- "value": "fval1"
}
], - "gender": "reptiloid",
- "id": "OPTION_HAT_OPTIONCODE",
- "isActive": true,
- "modifiedAt": "2020-09-24T14:22:23Z",
- "optionCode": "someCode",
- "seasonCodes": [
- "season1"
], - "sizes": [
- "L",
- "M",
- "whatever"
], - "status": "new",
- "styleCode": "DM0DM03810911",
- "tags": [
- {
- "name": "tname1",
- "value": "tval1"
}
]
}
Fetch options by external code
brandCode required | string (brand identifier that the option belongs to) |
codes required | Array of strings (external code of options for fetching) |
{- "brandCode": "string",
- "codes": [
- "string"
]
}
{- "list": [
- {
- "attributes": [
- {
- "name": "program",
- "value": "internaltional"
}
], - "brandCode": "HAT",
- "colorCode": "G12",
- "colorName": "lipstick/beta",
- "deliveryDropCodes": [
- "delivery_42",
- "2020-10-14T12:33:22Z",
- "2020-11-14T12:33:22Z",
- "2020-12-14T12:33:22Z"
], - "description": "GRAPHIC SPORTSTYLE CLASSIC CREW",
- "divisionCode": "UA1",
- "fields": [
- {
- "name": "fabric weight"
}, - {
- "name": "material composition"
}, - {
- "name": "care instructions"
}
], - "gender": "MEN",
- "id": "OPTION_HAT_OPTIONCODE1",
- "imageMediaIDs": [
- "MEDIA_2e3ab1ab-dc04-4cff-b77f-123"
], - "isActive": true,
- "modifiedAt": "2020-04-06T10:37:07Z",
- "optionCode": "option123",
- "productHierarchy": {
- "group": "Coats",
- "subgroup": "Rain Coats"
}, - "seasonCodes": [
- "FALL 2020"
], - "status": "new",
- "styleCode": "UN241D0A3",
- "videoMediaIDs": [
- "MEDIA_2e3ab1ab-dc04-4cff-b77f-555"
]
}, - {
- "attributes": [
- {
- "name": "program",
- "value": "internaltional"
}, - {
- "name": "firstDeliveryDate",
- "value": "July2022"
}
], - "brandCode": "HAT",
- "colorCode": "A11",
- "colorName": "white",
- "deliveryDropCodes": [
- "delivery_42",
- "2020-10-14T00:00:00Z",
- "2020-11-14T00:00:00Z",
- "2020-12-14T00:00:00Z"
], - "description": "HOVR SONIC ",
- "divisionCode": "UA1",
- "fields": [
- {
- "name": "fabric weight"
}, - {
- "name": "material composition"
}, - {
- "name": "care instructions"
}
], - "gender": "MEN",
- "id": "OPTION_HAT_OPTIONCODE2",
- "imageMediaIDs": [
- "MEDIA_2e3ab1ab-dc04-4cff-b77f-456"
], - "isActive": true,
- "modifiedAt": "2020-04-06T10:37:08Z",
- "optionCode": "option456",
- "productHierarchy": {
- "group": "Jeans",
- "subgroup": "Pants"
}, - "seasonCodes": [
- "FALL 2020"
], - "status": "new",
- "styleCode": "UN241A07Q"
}
]
}
Fetch filtered list of options
brandCode required | string ((Required) Brand code issued by Stitch - if brandCode is the only filter provided then Pagination is mandatory) |
divisionCodes | Array of strings ((Optional) list of division codes that options belong to) |
isActiveOnly | boolean ((Optional) if set to true will only return active options) |
modifiedAfter | string <date-time> ((Optional) return options that have a last modified date after the provided timestamp) |
modifiedBefore | string <date-time> ((Optional) return options that have a last modified date before the provided timestamp) |
optionCodes | Array of strings ((Optional) list of option unique identifiers) |
object (Pagination is used to paginate the stock items) | |
seasonCodes | Array of strings ((Optional) list of season codes that options belong to) |
{- "brandCode": "string",
- "divisionCodes": [
- "string"
], - "isActiveOnly": true,
- "modifiedAfter": "2019-08-24T14:15:22Z",
- "modifiedBefore": "2019-08-24T14:15:22Z",
- "optionCodes": [
- "string"
], - "pagination": {
- "limit": 100,
- "offset": 100
}, - "seasonCodes": [
- "string"
]
}
{- "list": [
- {
- "attributes": [
- {
- "name": "program",
- "value": "internaltional"
}
], - "brandCode": "HAT",
- "colorCode": "G12",
- "colorName": "lipstick/beta",
- "deliveryDropCodes": [
- "delivery_42",
- "2020-10-14T12:33:22Z",
- "2020-11-14T12:33:22Z",
- "2020-12-14T12:33:22Z"
], - "description": "GRAPHIC SPORTSTYLE CLASSIC CREW",
- "divisionCode": "UA1",
- "fields": [
- {
- "name": "fabric weight"
}, - {
- "name": "material composition"
}, - {
- "name": "care instructions"
}
], - "gender": "MEN",
- "id": "OPTION_HAT_OPTIONCODE1",
- "imageMediaIDs": [
- "MEDIA_2e3ab1ab-dc04-4cff-b77f-123"
], - "isActive": true,
- "modifiedAt": "2020-04-06T10:37:07Z",
- "optionCode": "option123",
- "productHierarchy": {
- "group": "Coats",
- "subgroup": "Rain Coats"
}, - "seasonCodes": [
- "FALL 2020"
], - "status": "new",
- "styleCode": "UN241D0A3",
- "videoMediaIDs": [
- "MEDIA_2e3ab1ab-dc04-4cff-b77f-555"
]
}, - {
- "attributes": [
- {
- "name": "program",
- "value": "internaltional"
}, - {
- "name": "firstDeliveryDate",
- "value": "July2022"
}
], - "brandCode": "HAT",
- "colorCode": "A11",
- "colorName": "white",
- "deliveryDropCodes": [
- "delivery_42",
- "2020-10-14T00:00:00Z",
- "2020-11-14T00:00:00Z",
- "2020-12-14T00:00:00Z"
], - "description": "HOVR SONIC ",
- "divisionCode": "UA1",
- "fields": [
- {
- "name": "fabric weight"
}, - {
- "name": "material composition"
}, - {
- "name": "care instructions"
}
], - "gender": "MEN",
- "id": "OPTION_HAT_OPTIONCODE2",
- "imageMediaIDs": [
- "MEDIA_2e3ab1ab-dc04-4cff-b77f-456"
], - "isActive": true,
- "modifiedAt": "2020-04-06T10:37:08Z",
- "optionCode": "option456",
- "productHierarchy": {
- "group": "Jeans",
- "subgroup": "Pants"
}, - "seasonCodes": [
- "FALL 2020"
], - "status": "new",
- "styleCode": "UN241A07Q"
}
]
}
Attaches the media by their internal ids to the option by option code Multiple options/media combination can be requested under the same brandCode
brandCode | string <string> (Brand Code) brand identifier that the options and media belong to |
Array of objects (Options) list of options and their media IDs |
{- "brandCode": "HAT",
- "options": [
- {
- "code": "OPTION_CODE_1",
- "imageCodes": [
- "IMAGE_CODE_1",
- "IMAGE_CODE_2"
], - "media3D": [
- {
- "provider": "vntana"
}
], - "videoCodes": [
- "VIDEO_CODE_1",
- "VIDEO_CODE_2"
]
}
]
}
{- "status": true
}
Create or Update an option by option code
Array of objects (list of option attributes. Attributes describe specific characteristics of the option and are used for filtering and search) | |
brandCode required | string (brand identifier that the option belongs to) |
colorCode required | string (brand-specific color or pattern code of the option
this is the code that will shown as the code of the option color in the catalog) |
colorName required | string (brand-specific color or pattern name of the option
this is the name that will shown as the name of the option color in the catalog) |
countryOfOrigin | string (country of origin of the option) |
deliveryDropCodes | Array of strings (list of available delivery drop codes of the option) |
description required | string (style description. Used as title of the option in lists and detail pages) |
divisionCode required | string division code to which this option belongs
should match an existing |
Array of objects (extra information to be attached to this option) | |
gender required | string (gender (and age) categorisation of a style) |
isActive | boolean whether the option is active or not. Active works as a soft delete where the product is no longer shown in the catalog and will not be available to order in case it is set to false. |
optionCode required | string (unique identifier for an option. For most brands this field is the combination of styleCode and colorCode) |
required | object (productHierarchy described with two levels) |
seasonCodes required | Array of strings (list of season codes in which the option is available for selling) |
status | string (the status of the option. This may drive how the option appears in the digital showroom) |
styleCode required | string (unique identifier for a style) |
{- "attributes": [
- {
- "name": "string",
- "value": "string"
}
], - "brandCode": "string",
- "colorCode": "string",
- "colorName": "string",
- "countryOfOrigin": "string",
- "deliveryDropCodes": [
- "string"
], - "description": "string",
- "divisionCode": "string",
- "fields": [
- {
- "display": true,
- "name": "string",
- "value": "string"
}
], - "gender": "string",
- "isActive": true,
- "optionCode": "string",
- "productHierarchy": {
- "group": "string",
- "subgroup": "string"
}, - "seasonCodes": [
- "string"
], - "status": "string",
- "styleCode": "string"
}
{- "attributes": [
- {
- "name": "tname1",
- "value": "tval1"
}
], - "brandCode": "HAT",
- "colorCode": "011",
- "colorName": "Black",
- "countryOfOrigin": "coo valid",
- "deliveryDropCodes": [
- "delivery_42",
- "2020-10-17T17:55:43Z"
], - "description": "Loremipsumdolor sitamet",
- "divisionCode": "div42",
- "fields": [
- {
- "display": true,
- "name": "fname1",
- "value": "fval1"
}
], - "gender": "reptiloid",
- "id": "OPTION_HAT_OPTIONCODE",
- "isActive": true,
- "modifiedAt": "2020-09-24T14:22:23Z",
- "optionCode": "someCode",
- "productHierarchy": {
- "group": "cat1",
- "subgroup": "cat2"
}, - "seasonCodes": [
- "season1"
], - "sizes": [
- "L",
- "M",
- "whatever"
], - "status": "new",
- "styleCode": "DM0DM03810911"
}
Attaches 3D links to options. Multiple options can be upserted at once. The order in which the links are sent determines the order they appear on the product detail page.
brandCode required | string <string> (Brand Code) brand identifier that the options and links belong to |
Array of objects (Options) list of options and their links |
{- "brandCode": "HAT",
- "options": [
- {
- "code": "OPTION_CODE_1",
- "links": [
- {
- "provider": "vntana"
}, - {
- "provider": "sketchfab"
}
]
}, - {
- "code": "OPTION_CODE_2",
- "links": [
- {
- "provider": "vntana"
}
]
}
]
}
{- "brandCode": "HAT",
- "options": [
- {
- "code": "OPTION_CODE_1",
- "imageCodes": [
- "IMAGE01_1"
], - "links": [
- {
- "provider": "vntana"
}, - {
- "provider": "sketchfab"
}
], - "videoCodes": [
- "VIDEO01_1"
]
}, - {
- "code": "OPTION_CODE_2",
- "imageCodes": [
- "IMAGE01_1"
], - "links": [
- {
- "provider": "vntana"
}
], - "videoCodes": [ ]
}
]
}
Attaches images to options by their media codes. Multiple options can be upserted at once. The order of which the image codes are sent determines the order they appear on the product detail page.
brandCode required | string <string> (Brand Code) brand identifier that the options and media belong to |
Array of objects (Options) list of options and their image media codes |
{- "brandCode": "HAT",
- "options": [
- {
- "code": "OPTION_CODE_1",
- "imageCodes": [
- "OPT1_IMAGE_CODE_1",
- "OPT1_IMAGE_CODE_2"
]
}, - {
- "code": "OPTION_CODE_2",
- "imageCodes": [
- "OPT2_IMAGE_CODE_1",
- "OPT2_IMAGE_CODE_2"
]
}
]
}
{- "brandCode": "HAT",
- "options": [
- {
- "code": "OPTION_CODE_1",
- "imageCodes": [
- "OPT1_IMAGE_CODE_1",
- "OPT1_IMAGE_CODE_2"
], - "links": [ ],
- "videoCodes": [
- "VIDEO01_1"
]
}, - {
- "code": "OPTION_CODE_2",
- "imageCodes": [
- "OPT2_IMAGE_CODE_1",
- "OPT2_IMAGE_CODE_2"
], - "links": [ ],
- "videoCodes": [ ]
}
]
}
Attaches videos to options by their media codes. Multiple options can be upserted at once. The order of which the video codes are sent determines the order they appear on the product detail page.
brandCode required | string <string> (Brand Code) brand identifier that the options and media belong to |
Array of objects (Options) list of options and their video media codes |
{- "brandCode": "HAT",
- "options": [
- {
- "code": "OPTION_CODE_1",
- "videoCodes": [
- "OPT1_VIDEO_CODE_1",
- "OPT1_VIDEO_CODE_2"
]
}, - {
- "code": "OPTION_CODE_2",
- "videoCodes": [
- "OPT2_VIDEO_CODE_1",
- "OPT2_VIDEO_CODE_2"
]
}
]
}
{- "brandCode": "HAT",
- "options": [
- {
- "code": "OPTION_CODE_1",
- "imageCodes": [
- "IMAGE01_1",
- "IMAGE01_2",
- "IMAGE01_3",
- "IMAGE01_4",
- "IMAGE01_5",
- "IMAGE01_6",
- "IMAGE01_7"
], - "links": [ ],
- "videoCodes": [
- "OPT1_VIDEO_CODE_1",
- "OPT1_VIDEO_CODE_2"
]
}, - {
- "code": "OPTION_CODE_2",
- "imageCodes": [
- "IMAGE01_1",
- "IMAGE01_2"
], - "links": [
- {
- "provider": "vntana"
}
], - "videoCodes": [
- "OPT2_VIDEO_CODE_1",
- "OPT2_VIDEO_CODE_2"
]
}
]
}
fetch prices of options by option ids, currency, priceGroupID for a specific brandCode
brandCode required | string (brand identifier that the option price belongs to) |
currency required | string (currency for the price group. ISO 4217 3-letter currency code) |
optionIDs required | Array of strings (list of internal option ids) |
priceGroupID required | string (unique identifier for the price group as set by the brand) |
{- "brandCode": "string",
- "currency": "string",
- "optionIDs": [
- "string"
], - "priceGroupID": "string"
}
{- "list": [
- {
- "brandCode": "HAT",
- "currency": "USD",
- "id": "PRICE_HAT_PRICE1",
- "optionCode": "OPTION1",
- "priceCode": "priceCode_1",
- "priceGroupID": "1",
- "pricePerSize": [
- {
- "discountWholesalePrice": 600,
- "retailPrice": 700,
- "sku": "priceCode_1_XS",
- "wholesalePrice": 500
}, - {
- "discountWholesalePrice": 300,
- "retailPrice": 100,
- "sku": "priceCode_1_XL",
- "wholesalePrice": 200
}
], - "styleOptionID": "OPTION_HAT_OPTION1",
- "validFrom": "1973-11-29T21:33:09Z",
- "validTo": "1973-11-29T21:33:08Z"
}, - {
- "brandCode": "HAT",
- "currency": "USD",
- "id": "PRICE_HAT_PRICE2",
- "optionCode": "OPTION2",
- "priceCode": "priceCode_2",
- "priceGroupID": "1",
- "pricePerSize": [
- {
- "discountWholesalePrice": 600,
- "retailPrice": 400,
- "sku": "priceCode_2_XS",
- "wholesalePrice": 500
}, - {
- "discountWholesalePrice": 300,
- "retailPrice": 100,
- "sku": "priceCode_2_L",
- "wholesalePrice": 200
}
], - "styleOptionID": "OPTION_HAT_OPTION2",
- "validFrom": "1973-11-29T21:33:09Z",
- "validTo": "1973-11-29T21:33:08Z"
}, - {
- "brandCode": "HAT",
- "currency": "USD",
- "id": "PRICE_HAT_PRICE3",
- "optionCode": "OPTION2",
- "priceCode": "priceCode_3",
- "priceGroupID": "2",
- "pricePerSize": [
- {
- "discountWholesalePrice": 600,
- "retailPrice": 400,
- "sku": "priceCode_3_XS",
- "wholesalePrice": 500
}, - {
- "discountWholesalePrice": 300,
- "retailPrice": 100,
- "sku": "priceCode_3_XL",
- "wholesalePrice": 200
}
], - "styleOptionID": "OPTION_HAT_OPTION2",
- "validFrom": "1973-11-29T21:33:09Z",
- "validTo": "1973-11-29T21:33:08Z"
}
]
}
Create or Update an option price by the brand priceCode identifier
brandCode required | string (brand identifier that the option price belongs to) |
currency required | string (currency for the price group. ISO 4217 3-letter currency code) |
optionCode required | string (unique identifier for an option. For most brands this field is the combination of styleCode and colorCode) |
priceCode required | string (unique identifier for the price) |
priceGroupID required | string (unique identifier for the price group as set by the brand) |
required | Array of objects (list of price details per size) |
validFrom | string (start of validity window for the price (i.e.: for a discount for a specific period, or for an
upcoming price change)
Leave empty if it is valid immediately) |
validTo | string (end of validity window for this price
Leave empty if it is valid eternally, or until further notice) |
{- "brandCode": "string",
- "currency": "string",
- "optionCode": "string",
- "priceCode": "string",
- "priceGroupID": "string",
- "pricePerSize": [
- {
- "discountWholesalePrice": 0,
- "retailPrice": 0,
- "size": "string",
- "sku": "string",
- "wholesalePrice": 0
}
], - "validFrom": "string",
- "validTo": "string"
}
{- "brandCode": "HAT",
- "currency": "USD",
- "id": "PRICE_HAT_SOMEPRICECODE",
- "optionCode": "SOMEOPTIONCODE",
- "priceCode": "somePriceCode",
- "priceGroupID": "1",
- "pricePerSize": [
- {
- "discountWholesalePrice": 200,
- "retailPrice": 500,
- "sku": "SOMEPRICECODE_L",
- "wholesalePrice": 300
}
], - "styleOptionID": "OPTION_HAT_SOMEOPTIONCODE",
- "validFrom": "2020-02-04T15:03:24Z",
- "validTo": "2021-02-03T15:03:24Z"
}
create or update an option price by the brand priceCode identifier
Bulk Upsert is limited to 1000 prices per request
brandCode required | string |
required | Array of objects (Prices) list of prices to upsert |
{- "brandCode": "string",
- "prices": [
- {
- "brandCode": "HAT",
- "currency": "USD",
- "optionCode": "SOMEOPTIONCODE",
- "priceCode": "somePriceCode",
- "priceGroupID": "1",
- "pricePerSize": [
- {
- "discountWholesalePrice": 200,
- "retailPrice": 500,
- "sku": "somePriceCode_L",
- "wholesalePrice": 300
}
], - "validFrom": "2020-02-04T15:03:24Z",
- "validTo": "2021-02-03T15:03:24Z"
}, - {
- "brandCode": "HAT",
- "currency": "USD",
- "optionCode": "SOMEOTHEROPTIONCODE",
- "priceCode": "someOtherPriceCode",
- "priceGroupID": "1",
- "pricePerSize": [
- {
- "discountWholesalePrice": 200,
- "retailPrice": 500,
- "sku": "someOtherPriceCode_L",
- "wholesalePrice": 300
}, - {
- "discountWholesalePrice": 200,
- "retailPrice": 500,
- "sku": "someOtherPriceCode_M",
- "wholesalePrice": 300
}
], - "validFrom": "2023-03-04T15:03:24Z",
- "validTo": "2024-03-03T15:03:24Z"
}
]
}
{- "list": [
- {
- "brandCode": "HAT",
- "currency": "USD",
- "id": "PRICE_HAT_SOMEPRICECODE",
- "optionCode": "SOMEOPTIONCODE",
- "priceCode": "somePriceCode",
- "priceGroupID": "1",
- "pricePerSize": [
- {
- "discountWholesalePrice": 200,
- "retailPrice": 500,
- "size": "somePriceCode_L",
- "wholesalePrice": 300
}
], - "styleOptionID": "OPTION_HAT_SOMEOPTIONCODE",
- "validFrom": "2020-02-04T15:03:24Z",
- "validTo": "2021-02-03T15:03:24Z"
}, - {
- "brandCode": "HAT",
- "currency": "USD",
- "id": "PRICE_HAT_SOMEOTHERPRICECODE",
- "optionCode": "SOMEOTHEROPTIONCODE",
- "priceCode": "someOtherPriceCode",
- "priceGroupID": "1",
- "pricePerSize": [
- {
- "discountWholesalePrice": 200,
- "retailPrice": 500,
- "sku": "someOtherPriceCode_L",
- "wholesalePrice": 300
}, - {
- "discountWholesalePrice": 200,
- "retailPrice": 500,
- "size": "someOtherPriceCode_M",
- "wholesalePrice": 300
}
], - "styleOptionID": "OPTION_HAT_SOMEOTHEROPTIONCODE",
- "validFrom": "2023-03-04T15:03:24Z",
- "validTo": "2024-03-03T15:03:24Z"
}
]
}
Fetch sizes and prepacks assigned to options by their codes
brandCode required | string <string> (Brand code) Brand code issued by the showroom |
optionCodes required | Array of strings <string> (Option codes) A list of option codes assigned during import |
{- "brandCode": "string",
- "optionCodes": [
- "string"
]
}
{- "list": [
- {
- "brandCode": "HAT",
- "constraints": {
- "minimum": "1",
- "multiplier": "2"
}, - "id": "SIZE_HAT_OPTIONCODE1.M42.30",
- "isActive": true,
- "optionCode": "OPTIONCODE1",
- "optionID": "OPTION_HAT_OPTIONCODE1",
- "size": "30",
- "sku": "OPTIONCODE1.M42.30",
- "subSizes": {
- "inseam": "32"
}
}, - {
- "brandCode": "HAT",
- "constraints": { },
- "id": "SIZE_HAT_OPTIONCODE1.M42.XXXXS",
- "isActive": true,
- "optionCode": "OPTIONCODE42",
- "optionID": "OPTION_HAT_OPTIONCODE42",
- "size": "XXXXS",
- "sku": "OPTIONCODE1.M42.XXXXS",
- "subSizes": { }
}
]
}
fetch a list of sizes and prepacks based on the provided filters
brandCode required | string ((Required) Brand code) |
isActiveOnly | boolean ((Optional) Whether to return only active sizes. Note that inactive sizes might be available via prepacks) |
modifiedAfter | string <date-time> ((Optional) Only return sizes that have been modified after the provided timestamp) |
modifiedBefore | string <date-time> ((Optional) Only return sizes that have been modified before the provided timestamp) |
optionCodes | Array of strings ((Optional) List of option codes) |
object (Pagination is used to paginate the stock items) |
{- "brandCode": "string",
- "isActiveOnly": true,
- "modifiedAfter": "2019-08-24T14:15:22Z",
- "modifiedBefore": "2019-08-24T14:15:22Z",
- "optionCodes": [
- "string"
], - "pagination": {
- "limit": 100,
- "offset": 100
}
}
{- "list": [
- {
- "brandCode": "HAT",
- "constraints": {
- "minimum": "1",
- "multiplier": "2"
}, - "id": "SIZE_HAT_OPTIONCODE1.M42.30",
- "isActive": true,
- "optionCode": "OPTIONCODE1",
- "optionID": "OPTION_HAT_OPTIONCODE1",
- "size": "30",
- "sku": "OPTIONCODE1.M42.30",
- "subSizes": {
- "inseam": "32"
}
}, - {
- "brandCode": "HAT",
- "constraints": { },
- "id": "SIZE_HAT_OPTIONCODE1.M42.XXXXS",
- "isActive": true,
- "optionCode": "OPTIONCODE42",
- "optionID": "OPTION_HAT_OPTIONCODE42",
- "size": "XXXXS",
- "sku": "OPTIONCODE1.M42.XXXXS",
- "subSizes": { }
}
]
}
create or update an option size or prepack by SKU field value
Each size represents a unique set of dimensions for a particular option.
Use Size
field to specify the main dimention and subSizes
map to add additional ones.
Combination of Size and all the subsizes should be unique as it can be shown to a user in a table view.
brandCode required | string <string> (Brand code) Brand code issued by the showroom |
object <map> (is a set of rules enforced upon the item during the draft order creation
Options: `minimum: <int>`, `multiplier: <int>`) Is a set of rules enforced upon the item during the draft order creation | |
isActive | boolean <boolean> (a field to soft-delete or disable sizes from the API) A field to soft-delete or disable sizes from the API. Even if the size is inactive, it can be available via prepacks |
optionCode required | string <string> (Option code) Code of the product option to which this size belongs |
Array of objects (catalog.PackItem) If this size is a prepack, this field will contain the items in the prepack. If this size is not a prepack, this field will be empty | |
size required | string <string> (the human-readable size name that will be displayed for the users) The human-readable size name that will be displayed for the users |
sku required | string <string> (SKU) This field can store any identifier that is unique on the client side. Can be sku/ean/internal id. The value will be used as the main identifier for the order line. |
object <map> (is useful for the multidimentional sizes like pants or bras. For example, "inseam":"32") An additional size dimensions for the main size. Is useful for the multidimentional sizes like pants or bras. Does not apply to prepacks |
{- "brandCode": "HAT",
- "constraints": {
- "minimum": "1",
- "multiplier": "2"
}, - "isActive": true,
- "optionCode": "OPTIONCODE1",
- "packItems": [
- {
- "quantity": 2,
- "sku": "OPTIONCODE1.M42.30"
}
], - "size": "30",
- "sku": "OPTIONCODE1.M42.30",
- "subSizes": {
- "inseam": "32"
}
}
{- "brandCode": "HAT",
- "constraints": {
- "minimum": "1",
- "multiplier": "2"
}, - "id": "SIZE_HAT_OPTIONCODE1.M42.30",
- "isActive": true,
- "optionCode": "OPTIONCODE1",
- "optionID": "OPTION_HAT_OPTIONCODE1",
- "size": "30",
- "sku": "OPTIONCODE1.M42.30",
- "subSizes": {
- "inseam": "32"
}
}
Bulk Upsert is a request to upsert many sizes or prepacks at once
Bulk Upsert is limited to 1000 sizes per request
brandCode required | string <string> (Brand code) Brand code issued by the showroom |
required | Array of objects (Sizes) list of sizes to upsert |
{- "brandCode": "HAT",
- "sizes": [
- {
- "brandCode": "HAT",
- "constraints": {
- "minimum": "1",
- "multiplier": "2"
}, - "optionCode": "OPTION_CODE_1",
- "size": "40",
- "sku": "OPTION_CODE_1.M40.40",
- "subSizes": {
- "inseam": "32"
}
}, - {
- "brandCode": "HAT",
- "optionCode": "OPTION_CODE_1",
- "size": "30",
- "sku": "OPTION_CODE_1.M42.30",
- "subSizes": {
- "inseam": "32"
}
}, - {
- "brandCode": "HAT",
- "optionCode": "OPTION_CODE_2",
- "size": "30",
- "sku": "OPTION_CODE_2.M42.30",
- "subSizes": {
- "inseam": "32"
}
}
]
}
{- "list": [
- {
- "brandCode": "HAT",
- "constraints": {
- "minimum": "1",
- "multiplier": "2"
}, - "id": "SIZE_HAT_OPTIONCODE1.M42.30",
- "isActive": true,
- "optionCode": "OPTIONCODE1",
- "optionID": "OPTION_HAT_OPTIONCODE1",
- "size": "30",
- "sku": "OPTIONCODE1.M42.30",
- "subSizes": {
- "inseam": "32"
}
}, - {
- "brandCode": "HAT",
- "constraints": { },
- "id": "SIZE_HAT_OPTIONCODE1.M42.XXXXS",
- "isActive": true,
- "optionCode": "OPTIONCODE42",
- "optionID": "OPTION_HAT_OPTIONCODE42",
- "size": "XXXXS",
- "sku": "OPTIONCODE1.M42.XXXXS",
- "subSizes": { }
}
]
}
Get a catalog by it's code assigned during the creation
brandCode required | string <string> (Brand code) Brand code issued by the showroom |
code required | string <string> (Code) A value used on the brand side to uniquely identify the catalog |
{- "brandCode": "HAT",
- "code": "CATALOG_42"
}
{- "availCustomerCodes": [
- "CUSTOMER_CODE1",
- "CUSTOMER_CODE2"
], - "availLocationCodes": [
- "LOCATION_CODE_1",
- "LOCATION_CODE_2"
], - "availUserCodes": [
- "USER_CODE_1",
- "USER_CODE_2"
], - "brandCode": "HAT",
- "code": "CATALOG_42",
- "createdAt": "2021-10-06T11:19:54Z",
- "id": "CATALOG_HAT_CATALOG_42",
- "isActive": true,
- "modifiedAt": "2021-10-06T11:19:54Z",
- "name": "Premium season Summer/Fall 2022",
- "selDeliverydropCodes": [
- "DELIVERY_DROP_CODE_1",
- "DELIVERY_DROP_CODE_2"
], - "selDivisionCodes": [
- "DIVISION_CODE_1",
- "DIVISION_CODE_2"
], - "selOptionCodes": [
- "OPTION_CODE_1",
- "OPTION_CODE_2"
], - "selSKUs": [
- "SKU42",
- "SKU9999999999"
], - "selSeasonCodes": [
- "SEASON_CODE_1",
- "SEASON_CODE_2"
], - "selStyleCodes": [
- "STYLE_CODE_1",
- "STYLE_CODE_2"
]
}
Find User/Custom Catalogs within a brand
brandCatalogCodes | Array of strings <string> (Code of the parent Brand Catalog) A list of brand catalog codes to filter |
brandCode required | string <string> (Brand code) Brand code issued by the showroom |
codes | Array of strings <string> (Codes) A list of user Catlaog codes to fetch upon |
userCodes | Array of strings <string> (User codes) A list of user codes codes to filter |
{- "brandCatalogCodes": [
- "PREMIUM",
- "CLASSIC"
], - "brandCode": "HAT",
- "codes": [
- "CATALOG_42",
- "CATALOG_WOOPWOOP"
], - "userCodes": [
- "DOMAIN\\USER",
- "user@org.com"
]
}
{- "userCatalogs": [
- {
- "brandCatalogCode": "PREMIUM",
- "brandCode": "HAT",
- "code": "CODE42",
- "createdAt": "2022-10-27T13:34:46Z",
- "id": "USER_CATALOG_HAT_CODE42",
- "isActive": true,
- "modifiedAt": "2022-10-27T13:34:46Z",
- "name": "Premuim Europe 2045",
- "optionCodes": [
- "opt1",
- "opt2"
], - "userCodes": [
- "user1",
- "user2"
]
}
]
}
Upsert new or existing Brand Catalog
availCustomerCodes | Array of strings <string> (List of customer codes) list of customers that can be used to create presentations with this catalog. Empty list means that all customers can be used with this catalog |
availLocationCodes | Array of strings <string> (List of location codes) list of locations that can be used to create presentations with this catalog. Empty list means that all locations can be used with this catalog |
availUserCodes | Array of strings <string> (List of user codes) list of users that can access this catalog. Empty list means that all users can use this catalog to create presentations |
brandCode required | string <string> (Brand code) Brand code issued by the showroom |
code required | string <string> (Code) A value used on the brand side to uniquely identify the catalog |
isActive | boolean <boolean> (is a toggle for the soft delete) Default: "false" A field to soft-delete or disable a catalog from the API |
name required | string <string> (Name) name of a catalog to be shown on the UI |
selDeliverydropCodes | Array of strings <list> (Selector by Delivery Drop Codes) list of delivery drop codes to filter options upon. Empty list means that all delivery drops are available within the catalog |
selDivisionCodes | Array of strings <list> (Selector by Division Codes) list of division codes to filter options upon. Empty list means that all divisions are available within the catalog |
selOptionCodes | Array of strings <list> (Selector by Option Codes) list of option codes to filter the collection upon. Empty list means that all options are available within the catalog |
selSKUs | Array of strings <list> (Selector by SKU) list of SKUs to filter options upon. Empty list means that all SKUs are available within the catalog |
selSeasonCodes | Array of strings <list> (Selector by Season Codes) list of season codes to filter options upon. Empty list means that all seasons are available within the catalog |
selStyleCodes | Array of strings <list> (Selector by Style Codes) list of stlye codes to filter options upon. Empty list means that all styles are available within the catalog |
{- "availCustomerCodes": [
- "CUSTOMER_CODE1",
- "CUSTOMER_CODE2"
], - "availLocationCodes": [
- "LOCATION_CODE_1",
- "LOCATION_CODE_2"
], - "availUserCodes": [
- "USER_CODE_1",
- "USER_CODE_2"
], - "brandCode": "HAT",
- "code": "CATALOG_42",
- "isActive": true,
- "name": "Premium season Summer/Fall 2022",
- "selDeliverydropCodes": [
- "DELIVERY_DROP_CODE_1",
- "DELIVERY_DROP_CODE_2"
], - "selDivisionCodes": [
- "DIVISION_CODE_1",
- "DIVISION_CODE_2"
], - "selOptionCodes": [
- "OPTION_CODE_1",
- "OPTION_CODE_2"
], - "selSKUs": [
- "SKU42",
- "SKU9999999999"
], - "selSeasonCodes": [
- "SEASON_CODE_1",
- "SEASON_CODE_2"
], - "selStyleCodes": [
- "STYLE_CODE_1",
- "STYLE_CODE_2"
]
}
{- "availCustomerCodes": [
- "CUSTOMER_CODE1",
- "CUSTOMER_CODE2"
], - "availLocationCodes": [
- "LOCATION_CODE_1",
- "LOCATION_CODE_2"
], - "availUserCodes": [
- "USER_CODE_1",
- "USER_CODE_2"
], - "brandCode": "HAT",
- "code": "CATALOG_42",
- "createdAt": "2021-10-06T11:19:54Z",
- "id": "CATALOG_HAT_CATALOG_42",
- "isActive": true,
- "modifiedAt": "2021-10-06T11:19:54Z",
- "name": "Premium season Summer/Fall 2022",
- "selDeliverydropCodes": [
- "DELIVERY_DROP_CODE_1",
- "DELIVERY_DROP_CODE_2"
], - "selDivisionCodes": [
- "DIVISION_CODE_1",
- "DIVISION_CODE_2"
], - "selOptionCodes": [
- "OPTION_CODE_1",
- "OPTION_CODE_2"
], - "selSKUs": [
- "SKU42",
- "SKU9999999999"
], - "selSeasonCodes": [
- "SEASON_CODE_1",
- "SEASON_CODE_2"
], - "selStyleCodes": [
- "STYLE_CODE_1",
- "STYLE_CODE_2"
]
}
Upsert new or existing User(Custom) Catalog
brandCatalogCode required | string <string> (Code of the parent Brand Catalog) The User Catalog is always a subset of a Brand Catalog |
brandCode required | string <string> (Brand code) Brand code issued by the showroom |
code required | string <string> (Code) A value used on the brand side to uniquely identify the catalog |
isActive | boolean <boolean> (is a toggle for the soft delete) Default: "false" A field to soft-delete or disable a catalog from the API |
name required | string <string> (Name) name of a catalog to be shown on the UI |
optionCodes | Array of strings <list> (Selector by Option Codes) list of option codes to filter the collection upon. Empty list means that all options are available within the catalog |
userCodes | Array of strings <string> (List of user codes) list of users that can access this catalog. Empty list means that all users can use this catalog to create presentations |
{- "brandCatalogCode": "CATALOG_42",
- "brandCode": "HAT",
- "code": "CATALOG_42",
- "isActive": true,
- "name": "Premium season Summer/Fall 2022",
- "optionCodes": [
- "OPTION_CODE_1",
- "OPTION_CODE_2"
], - "userCodes": [
- "USER_CODE_1",
- "USER_CODE_2"
]
}
{- "brandCatalogCode": "PREMIUM",
- "brandCode": "HAT",
- "code": "CODE42",
- "createdAt": "2022-10-27T13:34:46Z",
- "id": "USER_CATALOG_HAT_CODE42",
- "isActive": true,
- "modifiedAt": "2022-10-27T13:34:46Z",
- "name": "Premuim Europe 2045",
- "optionCodes": [
- "opt1",
- "opt2"
], - "userCodes": [
- "user1",
- "user2"
]
}
Fetch existing asset groups by codes
brandCode required | string <string> (Brand code) Brand code issued by the showroom |
codes required | Array of strings <list> (Codes) List of asset group codes to fetch by |
tags | Array of strings <list> (Tags) List of tags to filter by |
{- "brandCode": "HAT",
- "codes": [
- "CODE_1",
- "CODE_2"
], - "tags": [
- "sustainable",
- "ubermaterial",
- "tennis"
]
}
{- "assetGroups": [
- {
- "Assets": [
- {
- "BrandCode": "HAT",
- "Code": "CODE_1",
- "CreatedAt": "2009-02-13T23:31:30Z",
- "Description": "The long country road disappearing between the hills",
- "DivisionCodes": [
- "DIVISION_CODE_1"
], - "Fields": [
- {
- "Display": true,
- "Name": "DAY",
- "Value": "SUNNY"
}
], - "ID": "ASSET_HAT_CODE_1",
- "Index": 1,
- "IsActive": false,
- "MediaCode": "MEDIA_CODE_1",
- "ModifiedAt": "2009-02-13T23:31:30Z",
- "Name": "A Country Road",
- "OptionCodes": [
- "OPTION_CODE_1",
- "OPTION_CODE_2"
], - "SeasonCodes": [
- "SEASON_CODE_1"
], - "Tags": [
- "COUNTRY",
- "ROAD"
]
}, - {
- "BrandCode": "HAT",
- "Code": "CODE_2",
- "CreatedAt": "2009-02-13T23:31:30Z",
- "Description": "A huge hill with snow covering its top",
- "DivisionCodes": [
- "DIVISION_CODE_2"
], - "Fields": [
- {
- "Display": true,
- "Name": "top cover",
- "Value": "snow"
}
], - "ID": "ASSET_HAT_CODE_2",
- "Index": 2,
- "IsActive": false,
- "MediaCode": "MEDIA_CODE_2",
- "ModifiedAt": "2009-02-13T23:31:30Z",
- "Name": "The top of the hill",
- "OptionCodes": [
- "OPTION_CODE_3",
- "OPTION_CODE_4"
], - "SeasonCodes": [
- "SEASON_CODE_2"
], - "Tags": [
- "WEST",
- "VIRGINIA"
]
}
], - "BrandCode": "HAT",
- "Code": "CODE_1",
- "CreatedAt": "2009-02-13T23:31:30Z",
- "Description": "The Country Roads and it's culture",
- "Fields": [
- {
- "Display": true,
- "Name": "style",
- "Value": "Lumberjack"
}
], - "ID": "ASSET_GROUP_HAT_CODE_1",
- "Index": 1,
- "IsActive": false,
- "ModifiedAt": "2009-02-13T23:31:30Z",
- "Name": "Virginia",
- "Tags": [
- "sustainable",
- "ubermaterial",
- "tennis"
]
}
]
}
Fetch existing assets by codes
brandCode required | string <string> (Brand code) Brand code issued by the showroom |
codes required | Array of strings <list> (Codes) List of asset codes to fetch by |
{- "brandCode": "HAT",
- "codes": [
- "CODE_1",
- "CODE_2"
]
}
{- "assets": [
- {
- "BrandCode": "HAT",
- "Code": "CODE_1",
- "CreatedAt": "2009-02-13T23:31:30Z",
- "Description": "we all enjoy the country roads and the nearby mountains",
- "DivisionCodes": [
- "DIVISION_CODE1",
- "DIVISION_CODE_2"
], - "Fields": [
- {
- "Display": true,
- "Name": "roads",
- "Value": "beautiful"
}
], - "GroupCodes": [
- "GROUP1",
- "GROUP2"
], - "ID": "ASSET_HAT_CODE_1",
- "Index": 1,
- "IsActive": true,
- "MediaCode": "MEDIA_CODE_1",
- "ModifiedAt": "2009-02-13T23:31:30Z",
- "Name": "An asset about west virginia",
- "OptionCodes": [
- "OPTION_CODE_1",
- "OPTION_CODE_2"
], - "SeasonCodes": [
- "SEASON_CODE_1"
], - "Tags": [
- "WEST",
- "VIRGINIA"
]
}, - {
- "BrandCode": "HAT",
- "Code": "CODE_2",
- "CreatedAt": "2009-02-13T23:31:30Z",
- "Description": "we all enjoy the country roads and the nearby mountains",
- "DivisionCodes": [
- "DIVISION_CODE1",
- "DIVISION_CODE_2"
], - "Fields": [
- {
- "Display": true,
- "Name": "roads",
- "Value": "beautiful"
}
], - "GroupCodes": [
- "GROUP1",
- "GROUP2"
], - "ID": "ASSET_HAT_CODE_2",
- "Index": 2,
- "IsActive": true,
- "MediaCode": "MEDIA_CODE_2",
- "ModifiedAt": "2009-02-13T23:31:30Z",
- "Name": "An asset about east virginia",
- "OptionCodes": [
- "OPTION_CODE_1",
- "OPTION_CODE_2"
], - "SeasonCodes": [
- "SEASON_CODE_1"
], - "Tags": [
- "WEST",
- "VIRGINIA"
]
}
]
}
Search marketing assets by a number of filters, like options, codes, tags, seasonCodes and divisionCodes
brandCode required | string <string> (Brand code) Brand code issued by the showroom |
divisionCodes | Array of strings <list> (Division codes) List of division codes to search by |
groupCodes | Array of strings <list> (Group codes) List of group codes to search by |
groupIDs | Array of strings <list> (Group IDs) List of group IDs to search by |
onlyActive | boolean <boolean> (Is Active) A field to search for assets that are soft-deleted |
optionCodes | Array of strings <list> (Option codes) List of option codes to search by |
search | string <string> (Search text) text to search for in name or description of assets |
seasonCodes | Array of strings <list> (Season codes) List of season codes to search by |
tags | Array of strings <list> (Tags) List of tags to search by |
{- "brandCode": "HAT",
- "divisionCodes": [
- "DIVISION_CODE_1",
- "DIVISION_CODE_2"
], - "groupCodes": [
- "GROUP1",
- "GROUP2"
], - "groupIDs": [
- "ASSET_GROUP_HAT_GROUP_1",
- "ASSET_GROUP_HAT_GROUP_2"
], - "onlyActive": true,
- "optionCodes": [
- "OPTION_CODE_1",
- "OPTION_CODE_2"
], - "search": "An asset about west virginia",
- "seasonCodes": [
- "SEASON_CODE_1",
- "SEASON_CODE_2"
], - "tags": [
- "WEST",
- "VIRGINIA"
]
}
{- "assets": [
- {
- "BrandCode": "HAT",
- "Code": "CODE_1",
- "CreatedAt": "2009-02-13T23:31:30Z",
- "Description": "we all enjoy the country roads and the nearby mountains",
- "DivisionCodes": [
- "DIVISION_CODE1",
- "DIVISION_CODE_2"
], - "Fields": [
- {
- "Display": true,
- "Name": "roads",
- "Value": "beautiful"
}
], - "GroupCodes": [
- "GROUP1",
- "GROUP2"
], - "ID": "ASSET_HAT_CODE_1",
- "Index": 1,
- "IsActive": true,
- "MediaCode": "MEDIA_CODE_1",
- "ModifiedAt": "2009-02-13T23:31:30Z",
- "Name": "An asset about west virginia",
- "OptionCodes": [
- "OPTION_CODE_1",
- "OPTION_CODE_2"
], - "SeasonCodes": [
- "SEASON_CODE_1"
], - "Tags": [
- "WEST",
- "VIRGINIA"
]
}, - {
- "BrandCode": "HAT",
- "Code": "CODE_2",
- "CreatedAt": "2009-02-13T23:31:30Z",
- "Description": "we all enjoy the country roads and the nearby mountains",
- "DivisionCodes": [
- "DIVISION_CODE1",
- "DIVISION_CODE_2"
], - "Fields": [
- {
- "Display": true,
- "Name": "roads",
- "Value": "beautiful"
}
], - "GroupCodes": [
- "GROUP1",
- "GROUP2"
], - "ID": "ASSET_HAT_CODE_2",
- "Index": 2,
- "IsActive": true,
- "MediaCode": "MEDIA_CODE_2",
- "ModifiedAt": "2009-02-13T23:31:30Z",
- "Name": "An asset about east virginia",
- "OptionCodes": [
- "OPTION_CODE_1",
- "OPTION_CODE_2"
], - "SeasonCodes": [
- "SEASON_CODE_1"
], - "Tags": [
- "WEST",
- "VIRGINIA"
]
}
]
}
Create new or update existing asset
assetGroupCodes | Array of strings <list> (Asset Group Codes) A list of group codes which the asset should belong to |
brandCode required | string <string> (Brand code) Brand code issued by the showroom |
code required | string <string> (Code) A value used on the brand side to uniquely identify the group |
description | string <string> (Description) description of the asset to be upserted |
divisionCodes | Array of strings <list> (Division Codes) A list of division codes assigned to the asset |
Array of objects (Fields) A list of fields with extra information to be attached with the asset to be shown on the UI | |
index | string <integer> (Index) A numeric value to sort on the UI. If 2 indexes are equal, the order is not determined. Values from |
isActive | boolean <boolean> (a field to soft-delete or disable assets from the API) A field to soft-delete or disable assets from the API |
mediaCode required | string <string> (Media Code) media code of the asset. Should match one used during media upload, might be code of a video or an image |
name | string <string> (Name) name of the asset to be upserted |
optionCodes | Array of strings <list> (Option Codes) A list of options codes assigned to the asset |
seasonCodes | Array of strings <list> (Season Codes) A list of season codes assigned to the asset |
tags | Array of strings <list> (Tags) A list of tags assigned to the asset used for filtering |
{- "assetGroupCodes": [
- "GROUP1",
- "GROUP2"
], - "brandCode": "HAT",
- "code": "CODE_1",
- "description": "we all enjoy the country roads and the nearby mountains",
- "divisionCodes": [
- "DIVISION_CODE_1",
- "DIVISION_CODE_2"
], - "fields": [
- {
- "display": true,
- "name": "Key Features: ",
- "value": "Sustainable"
}
], - "index": 1,
- "isActive": true,
- "mediaCode": "MEDIA_CODE_1",
- "name": "West Virgina Mountains",
- "optionCodes": [
- "OPTION_CODE_1",
- "OPTION_CODE_2"
], - "seasonCodes": [
- "SEASON_CODE_1",
- "SEASON_CODE_2"
], - "tags": [
- "WEST",
- "VIRGINIA"
]
}
{- "BrandCode": "HAT",
- "Code": "CODE_1",
- "CreatedAt": "2009-02-13T23:31:30Z",
- "Description": "we all enjoy the country roads and the nearby mountains",
- "DivisionCodes": [
- "DIVISION_CODE1",
- "DIVISION_CODE_2"
], - "Fields": [
- {
- "Display": true,
- "Name": "roads",
- "Value": "beautiful"
}
], - "GroupCodes": [
- "GROUP1",
- "GROUP2"
], - "ID": "ASSET_HAT_CODE_1",
- "Index": 1,
- "IsActive": true,
- "MediaCode": "MEDIA_CODE_1",
- "ModifiedAt": "2009-02-13T23:31:30Z",
- "Name": "West Virgina Mountains",
- "OptionCodes": [
- "OPTION_CODE_1",
- "OPTION_CODE_2"
], - "SeasonCodes": [
- "SEASON_CODE_1"
], - "Tags": [
- "WEST",
- "VIRGINIA"
]
}
Create new or update existing asset group
brandCode required | string <string> (Brand code) Brand code issued by the showroom |
code required | string <string> (Code) A value used on the brand side to uniquely identify the group |
description required | string <string> (Description) The Country Roads and it's culture |
Array of objects (Fields) Custom brand defined fields with extra information to be shown on the UI | |
index | string <integer> (Index) A numeric value to sort groups. If 2 indexes are equal, the order is not determined. Values from |
isActive | boolean <boolean> (Is Active) A field to soft-delete or disable groups |
name required | string <string> (Name) Name of the group to be shown on the UI |
tags | Array of strings <list> (Tags) A list of tags to be assigned to the asset group |
{- "brandCode": "HAT",
- "code": "CODE_1",
- "description": "Group containing all key looks for our brand",
- "fields": [
- {
- "display": true,
- "name": "style",
- "value": "Lumberjack"
}
], - "index": 1,
- "isActive": true,
- "name": "Virginia",
- "tags": [
- "Virginia"
]
}
{- "Assets": [
- {
- "BrandCode": "HAT",
- "Code": "CODE_1",
- "CreatedAt": "2009-02-13T23:31:30Z",
- "Description": "The long country road disappearing between the hills",
- "DivisionCodes": [
- "DIVISION_CODE_1"
], - "Fields": [
- {
- "Display": true,
- "Name": "DAY",
- "Value": "SUNNY"
}
], - "ID": "ASSET_HAT_CODE_1",
- "Index": 1,
- "IsActive": false,
- "MediaCode": "MEDIA_CODE_1",
- "ModifiedAt": "2009-02-13T23:31:30Z",
- "Name": "A Country Road",
- "OptionCodes": [
- "OPTION_CODE_1",
- "OPTION_CODE_2"
], - "SeasonCodes": [
- "SEASON_CODE_1"
], - "Tags": [
- "COUNTRY",
- "ROAD"
]
}, - {
- "BrandCode": "HAT",
- "Code": "CODE_2",
- "CreatedAt": "2009-02-13T23:31:30Z",
- "Description": "A huge hill with snow covering its top",
- "DivisionCodes": [
- "DIVISION_CODE_2"
], - "Fields": [
- {
- "Display": true,
- "Name": "top cover",
- "Value": "snow"
}
], - "ID": "ASSET_HAT_CODE_2",
- "Index": 2,
- "IsActive": true,
- "MediaCode": "MEDIA_CODE_2",
- "ModifiedAt": "2009-02-13T23:31:30Z",
- "Name": "The top of the hill",
- "OptionCodes": [
- "OPTION_CODE_3",
- "OPTION_CODE_4"
], - "SeasonCodes": [
- "SEASON_CODE_2"
], - "Tags": [
- "WEST",
- "VIRGINIA"
]
}
], - "BrandCode": "HAT",
- "Code": "CODE_1",
- "CreatedAt": "2009-02-13T23:31:30Z",
- "Description": "The Country Roads and it's culture",
- "Fields": [
- {
- "Display": true,
- "Name": "style",
- "Value": "Lumberjack"
}
], - "ID": "ASSET_GROUP_HAT_CODE_1",
- "Index": 1,
- "IsActive": false,
- "ModifiedAt": "2009-02-13T23:31:30Z",
- "Name": "Virginia",
- "Tags": [
- "VIRGINIA"
]
}
GetList returns a filtered list of stock items
brandCode required | string <string> (Brand code) Brand code issued by the showroom - if brandCode is the only filter provided then pagination is mandatory |
codes | Array of strings <list> (Codes) list of stock unique identifiers |
isActiveOnly | boolean <boolean> (Is Active Only) Default: "false" if set to true will only return active stock items |
modifiedAfter | string <date-time> ((Optional) fetch stock that was modified after a certain date time) RFC3339 |
optionCodes | Array of strings <list> (Option codes) list of option codes to filter stock by |
object (Pagination is used to paginate the stock items) |
{- "brandCode": "HAT",
- "codes": [
- "123_456",
- "OPCODE_42"
], - "isActiveOnly": true,
- "modifiedAfter": "2019-08-24T14:15:22Z",
- "optionCodes": [
- "123",
- "opcode"
], - "pagination": {
- "limit": 100,
- "offset": 100
}
}
{- "list": [
- {
- "brandCode": "HAT",
- "code": "123_456",
- "deliveryDropCode": "SUMMER_2020",
- "isActive": true,
- "minQuantity": 10,
- "modifiedAt": "2020-01-01T00:00:00Z",
- "optionCode": "123",
- "quantity": 100,
- "sku": "456",
- "stock_reference_code": "WAREHOUSE_UK"
}, - {
- "brandCode": "HAT",
- "code": "OPCODE_42",
- "isActive": true,
- "modifiedAt": "2020-01-01T00:00:00Z",
- "optionCode": "opcode",
- "quantity": 50,
- "sku": "42",
- "stock_reference_code": "ALOHA"
}
]
}
Upsert multiple stock items at once
Bulk Upsert is limited to 1000 stock per request
brandCode required | string <string> (Brand code) Brand code issued by the showroom |
required | Array of objects (Stock) list of stock to upsert |
{- "brandCode": "HAT",
- "stock": [
- {
- "brandCode": "HAT",
- "code": "123_456",
- "deliveryDropCode": "SUMMER_2020",
- "isActive": true,
- "minQuantity": 10,
- "optionCode": "123",
- "quantity": 100,
- "sku": "456",
- "stockReferenceCode": "WAREHOUSE_UK"
}, - {
- "brandCode": "HAT",
- "code": "OPCODE_42",
- "deliveryDropCode": "",
- "isActive": true,
- "minQuantity": 0,
- "optionCode": "opcode",
- "quantity": 50,
- "sku": "42",
- "stockReferenceCode": "ALOHA"
}
]
}
{- "list": [
- {
- "brandCode": "HAT",
- "code": "123_456",
- "deliveryDropCode": "SUMMER_2020",
- "isActive": true,
- "minQuantity": 10,
- "modifiedAt": "2020-01-01T00:00:00Z",
- "optionCode": "123",
- "quantity": 100,
- "sku": "456",
- "stock_reference_code": "WAREHOUSE_UK"
}, - {
- "brandCode": "HAT",
- "code": "OPCODE_42",
- "isActive": true,
- "modifiedAt": "2020-01-01T00:00:00Z",
- "optionCode": "opcode",
- "quantity": 50,
- "sku": "42",
- "stock_reference_code": "ALOHA"
}
]
}
List users by brand code
brandCode required | string (BrandCode is the unique code of the brand and it is used as the main identifier of the brand) non-empty |
limit | integer <int32> (Limit is the limit to how many users the list should return) non-empty |
offset | integer <int32> (Offset is used for pagination) non-empty |
{- "brandCode": "BRAND",
- "limit": 10,
- "offset": 0
}
{- "list": [
- {
- "brandUser": [
- {
- "brandCode": "HAT",
- "brandUserID": "HAT_TEST_USER_1234",
- "id": "USER_TEST@USER.EMAIL",
- "roles": [
- "presenter",
- "contentManager"
], - "userName": "test user"
}
], - "email": "test@user.email"
}
]
}
Create or Update existing user
entity.
The uniqueness of the user is determined by the brandUserID
and brandCode
.
brandCode required | string (The main identifier of the brand) non-empty |
brandUserID required | string (Identifier used by a brand's internal systems to uniquely identify a user) non-empty |
email required | string (User's company email address) non-empty |
isActive | boolean (Defines if the user is active or not) |
name required | string (The user name to display in the system) non-empty |
roles required | Array of strings (List of the comma separated user roles) [ items non-empty ] Options: |
{- "brandCode": "BRAND",
- "brandUserID": "albert.einstein",
- "email": "albert.einstein@company.co",
- "isActive": true,
- "name": "Albert Einstein",
- "roles": [
- "presenter",
- "contentManager"
]
}
{- "brandUser": [
- {
- "brandCode": "HAT",
- "brandUserID": "HAT_TEST_USER_1234",
- "id": "USER_TEST@USER.EMAIL",
- "roles": [
- "presenter",
- "contentManager"
], - "userName": "test user"
}
], - "email": "test@user.email"
}
Implements versioned media uploads. Using this endpoint you can both create and update existing media assets.
If the media asset does not exist in the system or there is one with an older version and the same mediaCode
, the file will be downloaded and saved with overwrite. Otherwise, API will respond with the existing document immediately.
brandCode required | string (Brand identifier that the media belongs to) |
mediaCode required | string (Unique identifier for a media) |
type | string (- General: If the uploaded media is used in the digital showroom
- Library: If the uploaded media is used in the content management system) Default: "General" Enum: "General" "Library" |
url required | string (Publicly available URL of the media. The service will try to pull the asset only once and will expect `2xx`
status in the response) |
version | string <int64> Current version of the media file on the client-side. To update an asset, send a newer version than the last time. If the version is older or the same for existing media, the API will return the existing result immediately. A value of 0 can be used to reset the version, the file will always be updated when using 0 as version. Values from |
{- "brandCode": "string",
- "mediaCode": "string",
- "type": "General",
- "url": "string",
- "version": "string"
}
{- "brandCode": "HAT",
- "dimensions": {
- "height": 762,
- "width": 590
}, - "id": "MEDIA_HAT_EXTERNALCODE",
- "mediaCode": "externalcode",
- "mimeType": "image/jpeg",
- "name": "img.jpg",
- "version": 4
}
Fetch full presentation information (metadata with assortments) by presentation ids
ids required | Array of strings (list presentation IDs for fetching) |
{- "ids": [
- "PRESENTATION_55555555-5555-5555-5555-555555555555",
- "PRESENTATION_66666666-6666-6666-6666-666666666666"
]
}
{- "presentations": [
- {
- "assortments": [
- {
- "id": "some_assortment_id",
- "name": "assort1",
- "textItems": [
- {
- "content": "Hello",
- "id": "item_id_1",
- "position": {
- "scale": 1
}, - "textFormat": {
- "align": "center",
- "color": "black",
- "size": 3,
- "style": "header"
}, - "width": 10
}
]
}
], - "metadata": {
- "assetSelector": {
- "division": {
- "code": "05",
- "name": "DIV5"
}, - "gender": "WOMEN",
- "season": {
- "code": "S55",
- "name": "FALL2222"
}
}, - "brand": {
- "code": "",
- "name": "SHOWROOM"
}, - "creator": {
- "email": "hello@fashion.cloud",
- "id": "hello@fashion.cloud",
- "name": "ShowroomAPI"
}, - "customer": {
- "code": "CODE_5",
- "currency": "EUR",
- "fields": [
- {
- "display": true,
- "name": "accountNumber",
- "value": "000005555"
}, - {
- "display": false,
- "name": "buyerNumber",
- "value": "000005552"
}
], - "id": "CUSTOMER_SHOWROOM_CODE_5",
- "locations": [
- {
- "code": "LCODE1",
- "id": "location1",
- "name": "Location1"
}, - {
- "code": "LCODE2",
- "id": "location2",
- "name": "Location2"
}
], - "name": "Customerwithcode5",
- "priceGroup": "21"
}, - "id": "PRESENTATION_55555555-5555-5555-5555-555555555555",
- "name": "Testpresentation5",
- "sortedAssortments": [
- "ASSORTMENT_8cf05737-810d-4c0e-b2ae-4c90c1421a3c"
], - "welcomeMessage": "WelcometoTheShowroom"
}
}
]
}
Fetch presentation list of brand with pagination List is sorted by modifiedAt in descending order
brandCode required | string (Brand identifier that presentations belong to) |
creatorID | string (Optional filter by creatorID which is the brandUserID of the user who created the presentation -
for reference check Users_GetUsersByBrandCode) |
required | object (presentation.Pagination) |
{- "brandCode": "string",
- "creatorID": "string",
- "pagination": {
- "limit": 0,
- "offset": 0,
- "sortBy": "modifiedAt",
- "sortDescending": true
}
}
{- "presentations": [
- {
- "assetSelector": {
- "division": {
- "code": "05",
- "name": "DIV5"
}, - "gender": "WOMEN",
- "season": {
- "code": "S55",
- "name": "FALL2222"
}
}, - "brand": {
- "code": "SHOWROOM",
- "name": "Showroom"
}, - "createdAt": {
- "seconds": 1564751941
}, - "creator": {
- "email": "hello@fashion.cloud",
- "id": "hello@fashion.cloud",
- "name": "ShowroomAPI"
}, - "customer": {
- "code": "CODE_5",
- "currency": "EUR",
- "fields": [
- {
- "display": true,
- "name": "accountNumber",
- "value": "000005555"
}, - {
- "display": false,
- "name": "buyerNumber",
- "value": "000005552"
}
], - "id": "CUSTOMER_SHOWROOM_CODE_5",
- "locations": [
- {
- "code": "LCODE1",
- "id": "location1",
- "name": "Location1"
}, - {
- "code": "LCODE2",
- "id": "location2",
- "name": "Location2"
}
], - "name": "Customerwithcode5",
- "priceGroup": "21"
}, - "id": "PRESENTATION_55555555-5555-5555-5555-555555555555",
- "name": "Testpresentation5",
- "sortedAssortments": [
- "ASSORTMENT_8cf05737-810d-4c0e-b2ae-4c90c1421a3c"
], - "welcomeMessage": "WelcomeToTheShowroom"
}
]
}
Get a single order with all the order lines by order id.
Orders are never updated.
If multiple orders are created during single appointment,
it's up to you, to keep them as separate orders or update existing order, using presentationID as PK.
Contains an order line per delivery date, option and size.
brandCode required | string (Brand identifier that the order belongs to) |
id required | string (Internal order identifier) |
{- "brandCode": "BRAND",
- "id": "ORDER_871a963f-56a4-4ba4-8f2f-af6ae39a9e97"
}
{- "brandCode": "BRAND",
- "catalogCode": "CATALOG_123",
- "createdAt": "2020-01-11T16:24:52Z",
- "customerCode": "FSHN74",
- "customerLocationCode": "FSHN74_IT171931",
- "groupEventID": "123456789",
- "id": "ORDER_871a963f-56a4-4ba4-8f2f-af6ae39a9e97",
- "lines": [
- {
- "deliveryDropCode": "delivery_42",
- "divisionCode": "MW12",
- "optionCode": "4111567AB",
- "quantity": 1,
- "seasonCode": "SUMMER2020",
- "sku": "4111567AB00L"
}, - {
- "deliveryDropCode": "delivery_43",
- "divisionCode": "MW12",
- "optionCode": "4111567AB",
- "quantity": 1,
- "seasonCode": "SUMMER2020",
- "sku": "4111567AB00XL"
}, - {
- "deliveryDropCode": "252943b0-d69c-4420-92dd-79f174e4cdc3",
- "divisionCode": "MW12",
- "optionCode": "4111567AB",
- "quantity": 1,
- "seasonCode": "SUMMER2020",
- "sku": "4111567AB00M"
}, - {
- "deliveryDropCode": "2020-03-14T00:00:00Z",
- "divisionCode": "MW12",
- "optionCode": "FGFYELLOW2",
- "quantity": 1,
- "seasonCode": "SUMMER2020",
- "sku": "FGFYELLOW20042"
}, - {
- "deliveryDropCode": "2020-03-14T00:00:00Z",
- "divisionCode": "MW12",
- "optionCode": "FGFYELLOW2",
- "quantity": 1,
- "seasonCode": "SUMMER2020",
- "sku": "FGFYELLOW20041"
}
], - "orderName": "Your Selection",
- "presentationID": "PRESENTATION_d78bc7aa-0f28-4a07-8a5a-7147b99c6b97",
- "presentationName": "PRESENTATION Spring 2022",
- "selectionID": "DRAFT_123455",
- "userID": "super.name@company.com"
}
Get all orders after specified date. This list does not include order lines.
Empty response means no orders were created since createdAfter
time. Data is in sync. Try again later.
brandCode required | string (Brand identifier that the order belongs to) |
createdAfter required | string <date-time> RFC3339 Returns orders created after specified date. Orders are returned in chronological order. This field should be used as cursor. Selecting new orders, created after the latest order you received during previous call. |
limit | integer <int64> [ 1 .. 100 ] Default: "100" limits number of orders for a single request. |
presentationIDs | Array of strings Optional list of presentation IDs to filter orders by. |
selectionIDs | Array of strings Optional list of selection IDs to filter orders by. |
{- "brandCode": "BRAND",
- "createdAfter": "2019-08-24T14:15:22Z",
- "limit": 100,
- "presentationIDs": [
- "PRESENTATION_d78bc7aa-0f28-4a07-8a5a-7147b99c6b97"
], - "selectionIDs": [
- "DRAFT_123455"
]
}
[- {
- "brandCode": "BRAND",
- "catalogCode": "CATALOG_123",
- "createdAt": "2020-01-11T16:24:52Z",
- "customerCode": "FSHN74",
- "customerLocationCode": "FSHN74_IT171931",
- "groupEventID": "123456789",
- "id": "ORDER_871a963f-56a4-4ba4-8f2f-af6ae39a9e97",
- "orderName": "Your Selection",
- "presentationID": "PRESENTATION_d78bc7aa-0f28-4a07-8a5a-7147b99c6b97",
- "presentationName": "PRESENTATION Spring 2022",
- "selectionID": "DRAFT_123455",
- "userID": "super.name@company.com"
}
]
Current webhook configuration
brandCode required | string (Brand identifier that the webhook belongs to) non-empty |
{- "brandCode": "BRAND"
}
{- "brandCode": "BRAND",
- "headers": [
- {
- "name": "Authorization",
- "values": [
- "Bearer 123456"
]
}
], - "skipTLSVerify": false,
- "subscriptions": [
- {
- "name": "order:create",
- "withPayload": true
}
],
}
Upsert new webhook configuration. You can set up an HTTP(S) request and subscribe to events you want to receive.
Webhook mechanism is not meant to be reliable.
To keep data consistent, you should periodically call API to check the current state and reconcile the data.
There is no retries. Error responses are ignored.
brandCode required | string (Brand identifier that the webhook belongs to) non-empty |
Array of objects (Collection of HTTP headers) One can use this for authentication and client keys, like Additionaly you will receive | |
skipTLSVerify | boolean Default: "false" If Should not be used in production! If enabled the call will be made even with self-signed or invalid certificate. Which can lead to data breach. |
Array of objects (List of events you want to receive with additional configuration) | |
url required | string URL address to receive your push events. Do not store credentials in URL address! HTTP requests are often logged by nginx so URLs like |
{- "brandCode": "BRAND",
- "headers": [
- {
- "name": "Authorization",
- "values": [
- "Bearer 123456"
]
}
], - "skipTLSVerify": false,
- "subscriptions": [
- {
- "name": "order:create",
- "withPayload": true
}
],
}
{ }