Document Properties
Kbid296R00
Last Modified02-Nov-2020
Added to KB03-Sep-2020
Public AccessEveryone
StatusOnline
Doc TypeReferences
ProductICM 7.10

Reference - ICM REST API - B2B Front End - Promotion 1.0.0


Product Version

7.10

Product To Version


Status

final

Download Specification 

This API specification is available for download as an Open API 3.0 YAML file: 

API Specification

Introduction

OpenAPI Version: 3.0.1
Promotion Version: 1.0.0

This is Intershop ICM REST API documentation.

This 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.
This reference is intended for developers who want to make use of an easy-to-use API when developing frontend solutions.
You can find more information at Intershop Communications. Contact our Intershop experts at Support - Intershop Communications

Introduction

This API is documented in OpenAPI format.

General API

/promotions
GET: Get a personalized list of promotions available for the store

Description

Response Resource Collection contains objects of Type LinkRO

Java Method

public javax.ws.rs.core.Response com.intershop.sellside.rest.common.capi.resource.PromotionResource.getPromotions()

Request Body

--

Request Parameters

--

Response

200 - OK

Object application/json

401 - Unauthorized

404 - Not Found

/promotions/{promotionID}
GET: Get relevant details for a promotion

Description

--

Java Method

public javax.ws.rs.core.Response com.intershop.sellside.rest.common.capi.resource.PromotionResource.getPromotionByID(java.lang.String)

Request Body

--

Request Parameters

LocationNameFormatDescription
in pathpromotionIDstringRequired

Response

200 - OK

PromotionRO application/json

401 - Unauthorized

404 - Not Found

Product API

/categories/{categoriesKey}/products/{productKey}/promotions
GET: Returns applicable promotions for a product

Description

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. In order to get also promotions specific to the customer's customer segments, use the spgid parameter.

Java Method

public com.intershop.component.rest.capi.resourceobject.ResourceCollectionRO com.intershop.sellside.rest.common.capi.resource.promotion.ProductPromotionResource.getProductPromotions()

Request Body

--

Request Parameters

LocationNameFormatDescription
in pathcategoriesKeystringRequired | The key or UUID to resolve a single item | Example: ExampleKey
in pathproductKeystringRequired | The key or UUID to resolve a single item | Example: ExampleKey

Response

200 - OK

ResourceCollectionROLinkRO application/json

401 - Unauthorized

404 - Not Found

/products/{productKey}/promotions
GET: Returns applicable promotions for a product

Description

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. In order to get also promotions specific to the customer's customer segments, use the spgid parameter.

Java Method

public com.intershop.component.rest.capi.resourceobject.ResourceCollectionRO com.intershop.sellside.rest.common.capi.resource.promotion.ProductPromotionResource.getProductPromotions()

Request Body

--

Request Parameters

LocationNameFormatDescription
in pathproductKeystringRequired | The key or UUID to resolve a single item | Example: ExampleKey

Response

200 - OK

ResourceCollectionROLinkRO application/json

401 - Unauthorized

404 - Not Found

Request and Response Object Schemata

PromotionRO application/json{
  • "name":
    string
    The name of an element.
  • "type":
    string
    The type of the object. This is normally a constant that can be used to differentiate objects by their type. | Example: Promotion
  • "attributes":
    array
    An array of ResourceAttribute objects. the list of attributes
    [
    ResourceAttribute: An attribute
    {
    • "name":
      string
      The attribute's name
    • "type":
      string
      This is a constant: ResourceAttribute | Example: ResourceAttribute
    • "value":
      object
      The attribute's value.
    }
    ]
  • "icon":
    string
    The icon of the promotion | Example: free shipping!
  • "currency":
    string
    The currency which the promotion is applicable to | Example: USD
  • "promotionID":
    string
    The promotion ID
  • "id":
    string
    The promotion ID
  • "description":
    string
    The promotion description | Example: For LED TVs the shipping is free.
  • "promotionType":
    string
    The type of the promotion | Example: ShippingPercentageOffDiscount
  • "longTitle":
    string
    The long title of the promotion | Example: Free shipping on orders with an LED TV.
  • "legalContentMessage":
    string
    The legal content message | Example: Offer valid only while supplies last and not applicable to canceled orders due to out-of-stock merchandise. Discount not applicable with returned merchandise; total discount will be deducted from the value of any returned item to which the discount applied. This offer is not valid on previous purchases. This promotional offer may be modified or terminated at any time without notice. We reserve the right to cancel any order due to unauthorized, altered, or ineligible use of a discount.
  • "ruleDescription":
    string
    The rule for the promotion to apply | Example: Buy any LED TV and the order ships free.
  • "title":
    string
    The short title of the promotion | Example: free shipping!
  • "couponCodeRequired":
    boolean
    true if a coupon code is required for this promotion | Example: false
  • "externalUrl":
    string
    Readonly | External url. | Example: http://www.abc.de
  • "useExternalUrl":
    boolean
    Readonly | Use external url. | Example: true
  • "disableMessages":
    boolean
    Readonly | Disable messages. | Example: true
  • "attribute":
    object
    A ResourceAttribute object. An attribute
    {
    • "name":
      string
      The attribute's name
    • "type":
      string
      This is a constant: ResourceAttribute | Example: ResourceAttribute
    • "value":
      object
      The attribute's value.
    }
}
ResourceCollectionROLinkRO application/json{
  • "pageable":
    string
    the pageable ID
  • "total":
    integer
    the pageable amount total | Format: int32
  • "offset":
    integer
    the pageable offset | Format: int32
  • "amount":
    integer
    the pageable amount | Format: int32
  • "elements":
    array
    An array of LinkRO objects. the list of elements
    [
    LinkRO: A Link pointing to a resource
    {
    • "name":
      string
      the name of the returned element
    • "type":
      string
      Readonly | This is a constant: Link | Example: Link
    • "attributes":
      array
      An array of ResourceAttribute objects. the list of attributes
      [
      ResourceAttribute: An attribute
      {
      • "name":
        string
        The attribute's name
      • "type":
        string
        This is a constant: ResourceAttribute | Example: ResourceAttribute
      • "value":
        object
        The attribute's value.
      }
      ]
    • "uri":
      string
      The uri
    • "relation":
      string
      The relation of the link | Documentation: Link Relations (www.iana.org) | Possible Values: aboutalternateappendixarchivesauthorbookmarkcanonicalchaptercollectioncontentscopyrightcreate-formcurrentdescribedbydescribesdisclosureduplicateeditedit-formedit-mediaenclosurefirstglossaryhelphostshubiconindexitemlastlatest-versionlicenselrddmonitormonitor-groupnextnext-archivenofollownoreferrerpaymentpredecessor-versionprefetchprevpreviewpreviousprev-archiveprivacy-policyprofilerelatedrepliessearchsectionselfservicestartstylesheetsubsectionsuccessor-versiontagterms-of-servicetypeupversion-historyviaworking-copyworking-copy-of
    • "title":
      string
      The title of the link
    • "description":
      string
      The description of the link
    • "itemId":
      string
      the Id of the linked item
    • "attribute":
      object
      A ResourceAttribute object. An attribute
      {
      • "name":
        string
        The attribute's name
      • "type":
        string
        This is a constant: ResourceAttribute | Example: ResourceAttribute
      • "value":
        object
        The attribute's value.
      }
    }
    ]
  • "type":
    string
    This is a constant: ResourceCollection | Example: ResourceCollection
  • "sortKeys":
    array
    An array of string literals. the keys to sort for
  • "name":
    string
    the name of the returned element
}
Object application/json{
  • "links":
    array
    An array of object literals.
    [
    {
    • "uri":
      string
      Format: uri
    • "title":
      string
    • "uriBuilder":
      object
    • "rel":
      string
    • "rels":
      array
      An array of string literals.
    • "params":
      object
    • "type":
      string
    }
    ]
  • "statusInfo":
    object
    {
    • "reasonPhrase":
      string
    • "statusCode":
      integer
      Format: int32
    • "family":
      string
      Possible Values: INFORMATIONALSUCCESSFULREDIRECTIONCLIENT_ERRORSERVER_ERROROTHER
    }
  • "allowedMethods":
    array
    An array of string literals.
  • "stringHeaders":
    object
    {
    • "empty":
      boolean
    }
  • "mediaType":
    object
    {
    • "type":
      string
    • "subtype":
      string
    • "parameters":
      object
    • "wildcardType":
      boolean
    • "wildcardSubtype":
      boolean
    }
  • "entityTag":
    object
    {
    • "value":
      string
    • "weak":
      boolean
    }
  • "metadata":
    object
    {
    • "empty":
      boolean
    }
  • "entity":
    object
  • "lastModified":
    string
    Format: date-time
  • "date":
    string
    Format: date-time
  • "headers":
    object
    {
    • "empty":
      boolean
    }
  • "cookies":
    object
  • "status":
    integer
    Format: int32
  • "length":
    integer
    Format: int32
  • "language":
    object
    {
    • "language":
      string
    • "script":
      string
    • "country":
      string
    • "variant":
      string
    • "extensionKeys":
      array
      An array of string literals.
    • "unicodeLocaleAttributes":
      array
      An array of string literals.
    • "unicodeLocaleKeys":
      array
      An array of string literals.
    • "iso3Language":
      string
    • "iso3Country":
      string
    • "displayLanguage":
      string
    • "displayScript":
      string
    • "displayCountry":
      string
    • "displayVariant":
      string
    • "displayName":
      string
    }
  • "location":
    string
    Format: uri
}

Disclaimer

The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.

Customer Support
Knowledge Base
Product Resources
Tickets