openapi: 3.0.1 info: title: Promotion description: The Intershop Promotion REST API contains operations that allow to retrieve promotion information. contact: name: Intershop Communications AG url: http://intershop.com version: 1.2.0 servers: - url: "/INTERSHOP/rest/{serverGroup}/{siteName}/{appUrl}" description: Intershop ICM Server variables: serverGroup: description: The server group default: WFS siteName: description: The site name default: inSPIRED-inTRONICS-Site appUrl: description: The application URL identifier enum: - smb-responsive - "-" default: smb-responsive tags: - name: General description: | The following operations for retrieving general promotion data are available: x-origin-class: com.intershop.sellside.rest.common.capi.resource.PromotionResource - name: Product description: | The following operations for retrieving product-specific promotions are available: x-origin-class: com.intershop.sellside.rest.common.capi.resource.promotion.ProductPromotionResource paths: /products/{productKey}/promotions{spgid}: get: tags: - Product summary: Returns applicable promotions for a product description: | This operation returns a list of all promotions which are applicable for the current product. By default only promotions assigned to the customer group "Everyone" are returned. To retrieve personalized promotions based on direct customer assignment or customer segment, use the `spgid` parameter. operationId: getProductPromotionsGETpromo_1 parameters: - $ref: '#/components/parameters/spgid' x-matrixParamPath: promotions - name: includeCodePromotions in: query description: "Determines whether code-based promotions are returned. If set\ \ to `true`, the complete list of promotions is returned. If set to `false`,\ \ only promotions that do not require a promotion code are returned (default)." schema: type: boolean description: "Determines whether code-based promotions are returned. If\ \ set to `true`, the complete list of promotions is returned. If set to\ \ `false`, only promotions that do not require a promotion code are returned\ \ (default)." example: true default: false example: "true" - name: productKey in: path description: The product ID required: true schema: type: string description: The product ID example: "201807231" example: "201807231" x-item-key: com.intershop.sellside.rest.common.capi.resource.ProductListResource responses: "200": description: OK - The applicable promotions for the given product. content: application/json: schema: $ref: '#/components/schemas/LinkROResourceCollectionRO' text/xml: schema: $ref: '#/components/schemas/LinkROResourceCollectionRO' "404": description: Not found - The promotion could not be found. "401": description: Unauthorized - The user could not be authenticated. security: - bearerAuth: [] - basicAuth: [] - authToken: [] x-origin-method: public com.intershop.component.rest.capi.resourceobject.ResourceCollectionRO com.intershop.sellside.rest.common.capi.resource.promotion.ProductPromotionResource.getProductPromotions(java.lang.Boolean) x-origin-class: com.intershop.sellside.rest.common.capi.resource.promotion.ProductPromotionResource /promotions{spgid}/{promotionID}: get: tags: - General summary: Returns details for a promotion description: | This operation returns details for a promotion. The response contains an object of Type PromotionRO. By default, only information about a promotion assigned to the customer group "Everyone" can be returned. To retrieve information about a personalized promotion based on a direct customer assignment or a customer segment, use the spgid parameter. operationId: getPromotionByID parameters: - $ref: '#/components/parameters/spgid' x-matrixParamPath: promotions - name: promotionID in: path description: The promotion ID required: true schema: type: string description: The promotion ID example: 10PercentageOffOnAudioEquipment example: 10PercentageOffOnAudioEquipment responses: "200": description: OK - The promotion with the given ID. content: application/json: schema: $ref: '#/components/schemas/PromotionRO' text/xml: schema: $ref: '#/components/schemas/PromotionRO' "404": description: Not found - The promotion could not be found. "401": description: Unauthorized - The user could not be authenticated. security: - bearerAuth: [] - basicAuth: [] - authToken: [] x-origin-method: public javax.ws.rs.core.Response com.intershop.sellside.rest.common.capi.resource.PromotionResource.getPromotionByID(java.lang.String) x-origin-class: com.intershop.sellside.rest.common.capi.resource.PromotionResource /promotions{spgid}: get: tags: - General summary: Returns a personalized list of promotions description: |- This operation returns a personalized list of available promotions for the store. The response Resource Collection contains objects of Type LinkRO. By default only promotions assigned to the customer group "Everyone" are returned. To retrieve personalized promotions based on direct customer assignment or customer segment, use the spgid parameter. operationId: getPromotions parameters: - $ref: '#/components/parameters/spgid' x-matrixParamPath: promotions - name: includeCodePromotions in: query description: "Determines whether code-based promotions are returned. If set\ \ to `true`, the complete list of promotions is returned. If set to `false`,\ \ only promotions that do not require a promotion code are returned (default)." schema: type: boolean description: "Determines whether code-based promotions are returned. If\ \ set to `true`, the complete list of promotions is returned. If set to\ \ `false`, only promotions that do not require a promotion code are returned\ \ (default)." example: true default: false example: "true" responses: "200": description: OK - The available promotions. content: application/json: schema: $ref: '#/components/schemas/LinkROResourceCollectionRO' text/xml: schema: $ref: '#/components/schemas/LinkROResourceCollectionRO' "401": description: Unauthorized - The user could not be authenticated. security: - bearerAuth: [] - basicAuth: [] - authToken: [] x-origin-method: public javax.ws.rs.core.Response com.intershop.sellside.rest.common.capi.resource.PromotionResource.getPromotions(java.lang.Boolean) x-origin-class: com.intershop.sellside.rest.common.capi.resource.PromotionResource /categories/{categoriesKey}/products/{productKey}/promotions{spgid}: get: tags: - Product summary: Returns applicable promotions for a product description: | This operation returns a list of all promotions which are applicable for the current product. By default only promotions assigned to the customer group "Everyone" are returned. To retrieve personalized promotions based on direct customer assignment or customer segment, use the `spgid` parameter. operationId: getProductPromotionsGETpromo parameters: - $ref: '#/components/parameters/spgid' x-matrixParamPath: promotions - name: includeCodePromotions in: query description: "Determines whether code-based promotions are returned. If set\ \ to `true`, the complete list of promotions is returned. If set to `false`,\ \ only promotions that do not require a promotion code are returned (default)." schema: type: boolean description: "Determines whether code-based promotions are returned. If\ \ set to `true`, the complete list of promotions is returned. If set to\ \ `false`, only promotions that do not require a promotion code are returned\ \ (default)." example: true default: false example: "true" - name: categoriesKey in: path description: The category ID required: true schema: type: string description: The category ID example: "151" example: "151" x-item-key: com.intershop.sellside.rest.common.capi.resource.category.CategoryListResource - name: productKey in: path description: The product ID required: true schema: type: string description: The product ID example: "201807231" example: "201807231" x-item-key: com.intershop.sellside.rest.common.capi.resource.ProductListResource responses: "200": description: OK - The applicable promotions for the given product. content: application/json: schema: $ref: '#/components/schemas/LinkROResourceCollectionRO' text/xml: schema: $ref: '#/components/schemas/LinkROResourceCollectionRO' "404": description: Not found - The promotion could not be found. "401": description: Unauthorized - The user could not be authenticated. security: - bearerAuth: [] - basicAuth: [] - authToken: [] x-origin-method: public com.intershop.component.rest.capi.resourceobject.ResourceCollectionRO com.intershop.sellside.rest.common.capi.resource.promotion.ProductPromotionResource.getProductPromotions(java.lang.Boolean) x-origin-class: com.intershop.sellside.rest.common.capi.resource.promotion.ProductPromotionResource components: schemas: LinkRO: title: Link type: object properties: name: type: string description: The name of the returned element xml: attribute: true type: type: string description: "This is a constant: **Link**" readOnly: true example: Link xml: attribute: true attributes: type: array description: The list of attributes xml: wrapped: true items: $ref: '#/components/schemas/ResourceAttribute' uri: type: string description: The URI relation: type: string description: The relation of the link externalDocs: description: Link Relations (www.iana.org) url: http://www.iana.org/assignments/link-relations/link-relations.xml enum: - about - alternate - appendix - archives - author - bookmark - canonical - chapter - collection - contents - copyright - create-form - current - describedby - describes - disclosure - duplicate - edit - edit-form - edit-media - enclosure - first - glossary - help - hosts - hub - icon - index - item - last - latest-version - license - lrdd - monitor - monitor-group - next - next-archive - nofollow - noreferrer - payment - predecessor-version - prefetch - prev - preview - previous - prev-archive - privacy-policy - profile - related - replies - search - section - self - service - start - stylesheet - subsection - successor-version - tag - terms-of-service - type - up - version-history - via - working-copy - working-copy-of title: type: string description: The title of the link description: type: string description: The description of the link itemId: type: string description: The ID of the linked item attribute: $ref: '#/components/schemas/ResourceAttribute' description: A Link pointing to a resource xml: name: Link LinkROResourceCollectionRO: type: object properties: pageable: type: string description: The pageable ID total: type: integer description: The pageable amount total format: int32 offset: type: integer description: The pageable offset format: int32 amount: type: integer description: The pageable amount format: int32 elements: type: array description: The list of elements xml: wrapped: true items: $ref: '#/components/schemas/LinkRO' type: type: string description: 'The type of the element. This is normally a **constant** that can be used to differentiate elements by their type. ' xml: attribute: true sortKeys: uniqueItems: true type: array description: The keys to sort for xml: wrapped: true items: type: string description: The keys to sort for xml: name: sortKey name: type: string description: The name of an element xml: attribute: true description: This resource holds a list of Link-ResourceObjects. xml: name: ResourceCollection ResourceAttribute: title: Attribute type: object properties: name: type: string description: The attribute's name xml: attribute: true type: type: string description: "This is a constant: **ResourceAttribute**" example: ResourceAttribute xml: attribute: true value: type: object description: The attribute's value. description: An attribute xml: name: ResourceAttribute ResourceCollectionROLinkRO: title: Link List type: object properties: pageable: type: string description: The pageable ID. total: type: integer description: The pageable amount total format: int32 offset: type: integer description: The pageable offset format: int32 amount: type: integer description: The pageable amount format: int32 elements: type: array description: The list of elements xml: wrapped: true items: $ref: '#/components/schemas/LinkRO' type: type: string description: "This is a constant: **ResourceCollection**" example: ResourceCollection xml: attribute: true sortKeys: uniqueItems: true type: array description: The keys to sort for xml: wrapped: true items: type: string description: The keys to sort for xml: name: sortKey name: type: string description: The name of the returned element xml: attribute: true description: A list of links xml: name: ResourceCollection AttachmentRO: type: object properties: name: type: string description: The name of an element xml: attribute: true type: type: string description: 'The type of the element. This is normally a **constant** that can be used to differentiate elements by their type. ' readOnly: true xml: attribute: true key: type: string value: type: string description: type: string uri: type: boolean description: Indicates whether the attachment is an external link (true) or an internal file (false) link: $ref: '#/components/schemas/LinkRO' xml: name: Attachment PromotionRO: title: PromotionRO type: object properties: name: type: string description: The name of an element xml: attribute: true type: type: string description: 'The type of the element. This is normally a **constant** that can be used to differentiate elements by their type. ' example: Promotion xml: attribute: true attributes: type: array description: The list of attributes xml: wrapped: true items: $ref: '#/components/schemas/ResourceAttribute' icon: type: string description: The icon of the promotion example: "\"free" currency: type: string description: The currency which the promotion is applicable to example: USD promotionID: type: string description: The promotion ID id: type: string description: The promotion ID example: FreeOledTvShipping description: type: string description: The promotion description example: For LED TVs the shipping is free. promotionType: type: string description: The type of the promotion example: ShippingPercentageOffDiscount longTitle: type: string description: The long title of the promotion example: Free shipping on orders with an LED TV. legalContentMessage: type: string description: The legal content message example: Offer valid only while supplies last (...) ruleDescription: type: string description: The rule for the promotion to apply example: Buy any LED TV and the order ships free. title: type: string description: The short title of the promotion example: free shipping! couponCodeRequired: type: boolean description: Indicates whether a coupon code is required for this promotion (true/false) example: false externalUrl: type: string description: External URL readOnly: true example: http://www.abc.de useExternalUrl: type: boolean description: "If this value is set to 'true', only the external URL is used\ \ for promotion details, if set to 'false', the external URL is used in\ \ addition to the promotion details." readOnly: true example: true disableMessages: type: boolean description: Indicates whether promotion messages are disabled (true/false) readOnly: true example: true attachments: type: array xml: wrapped: true items: $ref: '#/components/schemas/AttachmentRO' attribute: $ref: '#/components/schemas/ResourceAttribute' description: This resource describes the applied promotion. xml: name: Promotion responses: "200": description: OK "201": description: Created "202": description: Accepted "204": description: No Content "205": description: Reset Content "206": description: Partial Content "301": description: Moved Permanently "302": description: Found "303": description: See Other "304": description: Not Modified "305": description: Use Proxy "307": description: Temporary Redirect "400": description: Bad Request "401": description: Unauthorized "402": description: Payment Required "403": description: Forbidden "404": description: Not Found "405": description: Method Not Allowed "406": description: Not Acceptable "407": description: Proxy Authentication Required "408": description: Request Timeout "409": description: Conflict "410": description: Gone "411": description: Length Required "412": description: Precondition Failed "413": description: Request Entity Too Large "414": description: Request-URI Too Long "415": description: Unsupported Media Type "416": description: Requested Range Not Satisfiable "417": description: Expectation Failed "428": description: Precondition Required "429": description: Too Many Requests "431": description: Request Header Fields Too Large "500": description: Internal Server Error "501": description: Not Implemented "502": description: Bad Gateway "503": description: Service Unavailable "504": description: Gateway Timeout "505": description: HTTP Version Not Supported "511": description: Network Authentication Required parameters: loc: name: loc in: path description: "The locale ID (submitted as optional matrix parameter ```;loc=```).\ \ If omitted, the priority is as follows (from high to low): Locale ID parameter,\ \ user's default locale, site's default locale. The available locales depend\ \ on your individual Intershop Commerce Management installation. Use IANA\ \ language definitions for languages and regions and combine them using a\ \ underscore, e. g. ```en_US```." required: false style: matrix schema: type: string description: "The locale ID (submitted as optional matrix parameter ```;loc=```).\ \ If omitted, the priority is as follows (from high to low): Locale ID parameter,\ \ user's default locale, site's default locale. The available locales depend\ \ on your individual Intershop Commerce Management installation. Use IANA\ \ language definitions for languages and regions and combine them using\ \ a underscore, e. g. ```en_US```." default: en_US examples: en_US: description: English (United States) value: en_US fr_FR: description: French (France) value: fr_FR de_DE: description: German (Germany) value: de_DE x-matrixParamPath: / cur: name: cur in: path description: "The currency code (submitted as optional matrix parameter ```;cur=```).\ \ If omitted, the site's or user's default currency is used." required: false style: matrix schema: type: string description: "The currency code (submitted as optional matrix parameter ```;cur=```).\ \ If omitted, the site's or user's default currency is used." default: USD examples: FJD: description: Fiji Dollar value: FJD STD: description: São Tomé / Príncipe Dobra value: STD MXN: description: Mexican Peso value: MXN SCR: description: Seychelles Rupee value: SCR LVL: description: Latvian Lats value: LVL CDF: description: Congolese Franc value: CDF GTQ: description: Guatemalan Quetzal value: GTQ BBD: description: Barbados Dollar value: BBD CLP: description: Chilean Peso value: CLP UGX: description: Ugandan Shilling value: UGX HNL: description: Honduran Lempira value: HNL ZAR: description: South African Rand value: ZAR TND: description: Tunisian Dinar value: TND SLL: description: Sierra Leonean Leone value: SLL BSD: description: Bahamian Dollar value: BSD SDG: description: Sudanese Pound value: SDG IQD: description: Iraqi Dinar value: IQD GMD: description: Gambian Dalasi value: GMD CUP: description: Cuban Peso value: CUP TWD: description: New Taiwan Dollar value: TWD RSD: description: Serbian Dinar value: RSD ZRZ: description: Zaire value: ZRZ DOP: description: Dominican Peso value: DOP KMF: description: Comoro Franc value: KMF MYR: description: Malaysian Ringgit value: MYR FKP: description: Falkland Islands Pound value: FKP XOF: description: CFA Franc BCEAO value: XOF GEL: description: Lari value: GEL UYU: description: Uruguayan Peso value: UYU MAD: description: Moroccan Dirham value: MAD CVE: description: Cape Verde Escudo value: CVE TOP: description: Tongan Pa'anga value: TOP PGK: description: Papua New Guinean Kina value: PGK OMR: description: Omani Rial value: OMR AZN: description: Azerbaijanian Manat value: AZN SEK: description: Swedish Krona value: SEK KES: description: Kenyan Shilling value: KES UAH: description: Ukrainian Hryvnia value: UAH BTN: description: Ngultrum value: BTN GNF: description: Guinea Franc value: GNF MZN: description: Mozambican Metical value: MZN ERN: description: Nakfa value: ERN SVC: description: Salvadoran Colón value: SVC ARS: description: Argentine Peso value: ARS QAR: description: Qatari Riyal value: QAR NLG: description: Dutch Guilder value: NLG IRR: description: Iranian Rial value: IRR MRO: description: Mauritanian Ouguiya value: MRO XPF: description: CFP Franc value: XPF UZS: description: Uzbekistani Som value: UZS THB: description: Thai Baht value: THB CNY: description: Yuan Renminbi value: CNY BDT: description: Bangladeshi Taka value: BDT LYD: description: Libyan Dinar value: LYD BMD: description: Bermudian Dollar value: BMD PHP: description: Philippine Peso value: PHP KWD: description: Kuwaiti Dinar value: KWD RUB: description: Russian Ruble value: RUB PYG: description: Paraguayan Guarani value: PYG JMD: description: Jamaican Dollar value: JMD ISK: description: Iceland Krona value: ISK GWP: description: Guinea Peso value: GWP BEF: description: Belgian Franc value: BEF ESP: description: Spanish Peseta value: ESP COP: description: Colombian Peso value: COP USD: description: US Dollar value: USD MKD: description: Denar value: MKD DZD: description: Algerian Dinar value: DZD PAB: description: Panamanian Balboa value: PAB SGD: description: Singapore Dollar value: SGD ETB: description: Ethiopian Birr value: ETB VUV: description: Vanuatu Vatu value: VUV VEF: description: Venezuelan Bolivar Fuerte value: VEF SOS: description: Somali Shilling value: SOS KGS: description: Som value: KGS LAK: description: Lao Kip value: LAK ZMK: description: Zambian Kwacha value: ZMK BND: description: Brunei Dollar value: BND XAF: description: CFA Franc BEAC value: XAF LRD: description: Liberian Dollar value: LRD ITL: description: Italian Lira value: ITL HRK: description: Croatian Kuna value: HRK CHF: description: Swiss Franc value: CHF ATS: description: Austrian Schilling value: ATS DJF: description: Djibouti Franc value: DJF ALL: description: Albanian Lek value: ALL MTL: description: Maltese Lira value: MTL TZS: description: Tanzanian Shilling value: TZS VND: description: Vietnamese Dong value: VND AUD: description: Australian Dollar value: AUD ILS: description: New Israeli Sheqel value: ILS KPW: description: North Korean Won value: KPW GYD: description: Guyanese Dollar value: GYD GHS: description: Ghanaian Cedi value: GHS MDL: description: Moldovan Leu value: MDL KHR: description: Cambodian Riel value: KHR BOB: description: Boliviano value: BOB IDR: description: Indonesian Rupiah value: IDR KYD: description: Cayman Islands Dollar value: KYD AMD: description: Armenian Dram value: AMD TRY: description: Turkish Lira value: TRY SHP: description: Saint Helena Pound value: SHP BWP: description: Botswana Pula value: BWP LBP: description: Lebanese Pound value: LBP CYP: description: Cyprus Pound value: CYP TJS: description: Tajikistani Somoni value: TJS JOD: description: Jordanian Dinar value: JOD RWF: description: Rwanda Franc value: RWF HKD: description: Hong Kong Dollar value: HKD AED: description: United Arab Emirates Dirham value: AED EUR: description: Euro value: EUR LSL: description: Lesotho Loti value: LSL DKK: description: Danish Krone value: DKK CAD: description: Canadian Dollar value: CAD BGN: description: Bulgarian Lev value: BGN MMK: description: Kyat value: MMK EEK: description: Estonian Kroon value: EEK SYP: description: Syrian Pound value: SYP NOK: description: Norwegian Krone value: NOK MUR: description: Mauritian Rupee value: MUR ZWL: description: Zimbabwean Dollar value: ZWL GIP: description: Gibraltar Pound value: GIP RON: description: Romanian New Leu value: RON LKR: description: Sri Lankan Rupee value: LKR NGN: description: Nigerian Naira value: NGN IEP: description: Irish Pound value: IEP CZK: description: Czech Koruna value: CZK CRC: description: Costa Rican Colon value: CRC PKR: description: Pakistani Rupee value: PKR XCD: description: East Carribean Dollar value: XCD GRD: description: Greek Drachma value: GRD HTG: description: Haitian Gourde value: HTG ANG: description: Netherlands Antillian Guilder value: ANG SIT: description: Slovenian Tolar value: SIT BHD: description: Bahraini Dinar value: BHD PTE: description: Portuguese Escudo value: PTE BPP: description: Bonus Point Price value: BPP SZL: description: Swazi Lilangeni value: SZL SRD: description: Surinam Dollar value: SRD KZT: description: Kazakhstani Tenge value: KZT TTD: description: Trinidad and Tobago Dollar value: TTD SAR: description: Saudi Riyal value: SAR LTL: description: Lithuanian Litas value: LTL YER: description: Yemeni Rial value: YER MVR: description: Maldivian Rufiyaa value: MVR BPV: description: Bonus Point Value value: BPV AFN: description: Afghani value: AFN INR: description: Indian Rupee value: INR NPR: description: Nepalese Rupee value: NPR KRW: description: South Korean Won value: KRW AWG: description: Aruban Florin value: AWG MNT: description: Mongolian Tugrik value: MNT JPY: description: Japanese Yen value: JPY PLN: description: Polish Złoty value: PLN AOA: description: Angolan Kwanza value: AOA SBD: description: Solomon Islands Dollar value: SBD GBP: description: Pound Sterling value: GBP HUF: description: Hungarian Forint value: HUF BYR: description: Belarussian Ruble value: BYR LUF: description: Luxembourgian Franc value: LUF BIF: description: Burundi Franc value: BIF MWK: description: Malawian Kwacha value: MWK MGA: description: Malagasy Ariary value: MGA FIM: description: Finnish Mark value: FIM DEM: description: Deutsche Mark value: DEM BZD: description: Belize Dollar value: BZD BAM: description: Convertible Marks value: BAM MOP: description: Macanese Pataca value: MOP EGP: description: Egyptian Pound value: EGP NAD: description: Namibian Dollar value: NAD SKK: description: Slovakian Krona value: SKK NIO: description: Cordoba Oro value: NIO PEN: description: Peruvian Nuevo Sol value: PEN WST: description: Samoan Tala value: WST NZD: description: New Zealand Dollar value: NZD TMT: description: Turkmenistani Manat value: TMT FRF: description: French Franc value: FRF BRL: description: Brazilian Real value: BRL x-matrixParamPath: / regionals: name: regionals in: path required: false style: matrix schema: type: object properties: loc: type: string description: The locale ID example: en_US cur: type: string description: The currency code example: EUR x-matrixParamPath: / pgid: name: pgid in: path description: "The personalization group identifier, submitted as matrix parameter\ \ ```;pgid=```. Required if you want to work with customer-specific\ \ content." required: false style: matrix schema: type: string description: "The personalization group identifier, submitted as matrix parameter\ \ ```;pgid=```. Required if you want to work with customer-specific\ \ content." example: FUOGrzQ_VjORpGaN8DRGmLLE0000 example: FUOGrzQ_VjORpGaN8DRGmLLE0000 spgid: name: spgid in: path description: "The secure personalization group identifier, submitted as matrix\ \ parameter ```;spgid=```. Required if you want to work with customer-specific\ \ content." required: false style: matrix schema: type: string description: "The secure personalization group identifier, submitted as matrix\ \ parameter ```;spgid=```. Required if you want to work with customer-specific\ \ content." example: FUOGrzQ_VjORpGaN8DRGmLLE0000 example: FUOGrzQ_VjORpGaN8DRGmLLE0000 securitySchemes: basicAuth: type: http description: "Basic access authentication. In basic authentication, a request\ \ contains a header field in the form of authorization: ```Basic ```,\ \ where credentials is the Base64 encoding of ID and password joined by a\ \ single colon :." scheme: basic authToken: type: apiKey description: User authentication token to authenticate the request. The token is a string generated by the ICM server in the same header in every response of an REST endpoint. name: authentication-token in: header bearerAuth: type: http description: "Bearer token authentication. A request contains a header field\ \ in the form of authorization: ```Bearer ```, where is a string\ \ generated by an authentication service in response to a login request." scheme: bearer bearerFormat: JWT x-apiID: promotion x-origin-class: "com.intershop.component.rest.capi.resource.RootResource,com.intershop.sellside.rest.common.capi.resource.PromotionResource,com.intershop.sellside.rest.common.capi.resource.PromotionResource,com.intershop.sellside.rest.common.capi.resource.PromotionResource"