openapi: 3.0.1 info: title: Recommendation description: "This is Intershop ICM REST API documentation. \n\nThis reference lists\ \ the REST API for storefront development. The REST API covers features of both,\ \ the B2C (SMB - Small and Medium-sized businesses) and the B2B storefront development.\ \ \nThis reference is intended for developers who want to make use of an easy-to-use\ \ API when developing frontend solutions.\nYou can find more information at [Intershop\ \ Communications](https://www.intershop.com). Contact our Intershop experts at\ \ [Support - Intershop Communications](https://www.intershop.com/en/support) \ \ \n\n# Introduction\nThis API is documented in **OpenAPI format**.\n\n" version: 1.0.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 paths: /recommendationcontexts: post: tags: - Recommendation summary: Creates a new Recommendation Context description: The call is not mandatory - any other alpha-numeric string can be used instead operationId: createContext responses: "201": description: Created content: '*/*': schema: $ref: '#/components/schemas/ResourceCollectionRO' "401": description: Unauthorized security: - bearerAuth: [] - basicAuth: [] - authToken: [] x-origin-method: public javax.ws.rs.core.Response com.intershop.component.recommendation.capi.rest.resource.RecommendationContextListResource.createContext() x-origin-class: com.intershop.component.recommendation.capi.rest.resource.RecommendationContextListResource /recommendationcontexts/{RecommendationContextKey}/basketrecommendations: get: tags: - Recommendation Request summary: Get recommended Products for the basket with the given basketID description: "If a recommendation service is configured, this call returns a\ \ list of recommended products for the given basket. The resulting list strongly\ \ depends on the configuration of the recommendation engine and on the back\ \ office preferences in 'Channel preferences / Recommendation Engines'. If\ \ the request type BasketRecommendationRequest is not activated then an empty\ \ list is returned. The used can be any alpha-numeric string.\ \ It will be used to distinguish between different users/customers." operationId: getBasketRecommendations parameters: - name: basketID in: query schema: type: string - name: RecommendationContextKey in: path description: The key or UUID to resolve a single item required: true schema: type: string example: ExampleKey x-item-key: com.intershop.component.recommendation.capi.rest.resource.RecommendationContextListResource responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ResourceCollectionRO' text/xml: schema: $ref: '#/components/schemas/ResourceCollectionRO' "400": description: Bad request "404": description: Not found "401": description: Unauthorized security: - bearerAuth: [] - basicAuth: [] - authToken: [] x-origin-method: public javax.ws.rs.core.Response com.intershop.component.recommendation.capi.rest.resource.BasketRequestRecommendationsListResource.getBasketRecommendations(java.lang.String) x-origin-class: com.intershop.component.recommendation.capi.rest.resource.BasketRequestRecommendationsListResource /recommendationcontexts/{RecommendationContextKey}/events: post: tags: - Recommendation Event summary: Sends an event to the recommendation engine description: "If a recommendation service is configured this sends one of the\ \ following events to the recommendation engine:\n - ProductViewRecommendationEvent\ \ - The product with given ID [SKU] that has been viewed.\n - BasketRecommendationEvent\ \ - The items that have been added to the basket. \n - OrderRecommendationEvent\ \ - The items that have been ordered or the order with the given order number\ \ which were submitted.\n - SearchRecommendationEvent - A search with given\ \ search term has been processed\n - UserToSessionRecommendationEvent - Connects\ \ the current recommendation context with the given userid (after login).\ \ This event may affect the results of the recommendation requests.\n \n The\ \ event can only be dispatched successfully if the installed Recommendation\ \ Engines support the event type and if the corresponding back office preference\ \ in 'Channel preferences / Recommendation Engines' is activated for the given\ \ event type. The used can be any alpha-numeric string. It will\ \ be used to distinguish between different users/customers." operationId: sendEvent parameters: - name: RecommendationContextKey in: path description: The key or UUID to resolve a single item required: true schema: type: string example: ExampleKey x-item-key: com.intershop.component.recommendation.capi.rest.resource.RecommendationContextListResource requestBody: content: application/json: schema: $ref: '#/components/schemas/RecommendationEventRO' text/xml: schema: $ref: '#/components/schemas/RecommendationEventRO' responses: "204": description: No content "400": description: Bad request "403": description: FORBIDDEN "404": description: Not found "401": description: Unauthorized security: - bearerAuth: [] - basicAuth: [] - authToken: [] x-origin-method: public javax.ws.rs.core.Response com.intershop.component.recommendation.capi.rest.resource.EventRecommendationsListResource.sendEvent(com.intershop.component.recommendation.capi.rest.resourceobject.RecommendationEventRO) x-origin-class: com.intershop.component.recommendation.capi.rest.resource.EventRecommendationsListResource /recommendationcontexts/{RecommendationContextKey}/productrecommendations: get: tags: - Recommendation Request summary: Get recommended products for the given produkt(sku) description: If a recommendation service is configured this call returns a list of recommended products for the given product ID (SKU). The result list strongly depends on the configuration of the recommendation engine and on the back office preferences in 'Channel preferences / Recommendation Engines'. If the request type ProductRecommendationRequest is not activated then an empty list is returned.The used can be any alpha-numeric string. It will be used to distinguish between different users/customers. operationId: getProductRecommendationsProductRequest parameters: - name: productID in: query schema: type: string - name: RecommendationContextKey in: path description: The key or UUID to resolve a single item required: true schema: type: string example: ExampleKey x-item-key: com.intershop.component.recommendation.capi.rest.resource.RecommendationContextListResource responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ResourceCollectionRO' text/xml: schema: $ref: '#/components/schemas/ResourceCollectionRO' "400": description: Bad request(when missing query parameter) "401": description: Unauthorized security: - bearerAuth: [] - basicAuth: [] - authToken: [] x-origin-method: public javax.ws.rs.core.Response com.intershop.component.recommendation.capi.rest.resource.ProductRequestRecommendationsListResource.getProductRecommendations(java.lang.String) x-origin-class: com.intershop.component.recommendation.capi.rest.resource.ProductRequestRecommendationsListResource /recommendationcontexts/{RecommendationContextKey}/searchrecommendations: get: tags: - Recommendation Request summary: Get recommended products for the given search term description: If a recommendation service is configured this call returns a list of recommended products for the given search term. The result list strongly depends on the configuration of the recommendation engine and on the back office preferences in 'Channel preferences / Recommendation Engines'. If the request type SearchRecommendationRequest is not activated then an empty list is returned. The used can be any alpha-numeric string. It will be used to distinguish between different users/customers. operationId: getProductRecommendationsSearchRequest parameters: - name: searchTerm in: query schema: type: string - name: RecommendationContextKey in: path description: The key or UUID to resolve a single item required: true schema: type: string example: ExampleKey x-item-key: com.intershop.component.recommendation.capi.rest.resource.RecommendationContextListResource responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ResourceCollectionRO' text/xml: schema: $ref: '#/components/schemas/ResourceCollectionRO' "400": description: Bad request(when missing query parameter searchTerm) "401": description: Unauthorized security: - bearerAuth: [] - basicAuth: [] - authToken: [] x-origin-method: public javax.ws.rs.core.Response com.intershop.component.recommendation.capi.rest.resource.SearchRequestRecommendationsListResource.getProductRecommendations(java.lang.String) x-origin-class: com.intershop.component.recommendation.capi.rest.resource.SearchRequestRecommendationsListResource /recommendationcontexts/{RecommendationContextKey}/topsellerrecommendations: get: tags: - Recommendation Request summary: Get recommended global topseller products description: If a recommendation service is configured this call returns a list of recommended global top-seller products. The result list strongly depends on the configuration of the recommendation engine and on the back office preferences in 'Channel preferences / Recommendation Engines'. If the request type TopsellerRecommendationRequest is not activated then an empty list is returned. The used can be any alpha-numeric string. It will be used to distinguish between different users/customers. operationId: getProductRecommendationsTopsellerRequest parameters: - name: RecommendationContextKey in: path description: The key or UUID to resolve a single item required: true schema: type: string example: ExampleKey x-item-key: com.intershop.component.recommendation.capi.rest.resource.RecommendationContextListResource responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ResourceCollectionRO' text/xml: schema: $ref: '#/components/schemas/ResourceCollectionRO' "401": description: Unauthorized security: - bearerAuth: [] - basicAuth: [] - authToken: [] x-origin-method: public javax.ws.rs.core.Response com.intershop.component.recommendation.capi.rest.resource.TopsellerRequestRecommendationsListResource.getProductRecommendations() x-origin-class: com.intershop.component.recommendation.capi.rest.resource.TopsellerRequestRecommendationsListResource /recommendationcontexts/{RecommendationContextKey}/userrecommendations: get: tags: - Recommendation Request summary: Get recommended products for the assigned user description: If a recommendation service is configured this call returns a list of recommended products for the assigned user. The assignment of an user to the context-ID has to be done before with a separate REST Call (see UserToSessionRecommendationEvent at REST API - Recommendation events). The result list strongly depends on the configuration of the recommendation engine and on the back office preferences in 'Channel preferences / Recommendation Engines'. If the request type UserRecommendationRequest is not activated then an empty list is returned. The used can be any alpha-numeric string. It will be used to distinguish between different users/customers. operationId: getProductRecommendationsUserRequest parameters: - name: RecommendationContextKey in: path description: The key or UUID to resolve a single item required: true schema: type: string example: ExampleKey x-item-key: com.intershop.component.recommendation.capi.rest.resource.RecommendationContextListResource responses: "200": description: OK content: application/json: schema: $ref: '#/components/schemas/ResourceCollectionRO' text/xml: schema: $ref: '#/components/schemas/ResourceCollectionRO' "401": description: Unauthorized security: - bearerAuth: [] - basicAuth: [] - authToken: [] x-origin-method: public javax.ws.rs.core.Response com.intershop.component.recommendation.capi.rest.resource.UserRequestRecommendationsListResource.getProductRecommendations() x-origin-class: com.intershop.component.recommendation.capi.rest.resource.UserRequestRecommendationsListResource components: schemas: AbstractResourceObject: title: Object 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 description: The list of elements ResourceCollectionRO: 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/AbstractResourceObject' 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: A list of ResourceObjects xml: name: ResourceCollection RecommendationEventRO: 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 xml: name: RecommendationEvent discriminator: propertyName: type 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: recommendation x-origin-class: "com.intershop.component.rest.capi.resource.RootResource,com.intershop.component.recommendation.capi.rest.resource.RecommendationContextListResource"