Reference - ICM REST API - B2C Front End - Notification 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
Notification Version: 1.0.0

Notification API

The Intershop Notification REST API contains endpoints for product price and back in stock notifications.
A price notification notifies the user when a product drops below a certain price, and a stock notification notifies a user when a product is back in stock.

Examples

Create new price notification

{
    "sku": "24601",
    "notificationMailAddress": "mail@example.com",
    "price": {
        "value": 12.4,
        "currency": "USD"
    }
}

Create new back in stock notification

{
    "sku": "24601",
    "notificationMailAddress": "mail@example.com",
}

Notifications API

/customers/{CustomerKey}/notifications
GET: Returns notifications endpoints

Description

This operation returns links to the stock and price notification endpoints of a user.

Java Method

public com.intershop.component.rest.capi.resourceobject.ResourceCollectionRO com.intershop.sellside.rest.common.capi.resource.customer.product.notification.CustomerProductNotificationsBaseResource.getNotifications()

Request Body

--

Request Parameters

LocationNameFormatDescription
in pathCustomerKeystringRequired | Customer ID
in pathCustomerKeystringRequired | The key or UUID to resolve a single item | Example: ExampleKey

Response

200 - OK

ResourceCollectionROLinkRO application/json

Price Notifications API

/customers/{CustomerKey}/notifications/price
GET: Returns price notifications

Description

This operation returns links to the price notifications of a customer.

Java Method

public com.intershop.component.rest.capi.resourceobject.ResourceCollectionRO com.intershop.sellside.rest.common.capi.resource.customer.product.notification.CustomerProductPriceNotificationsResource.getNotifications()

Request Body

--

Request Parameters

LocationNameFormatDescription
in pathCustomerKeystringRequired | Customer ID
in pathCustomerKeystringRequired | The key or UUID to resolve a single item | Example: ExampleKey

Response

200 - OK

ResourceCollectionROLinkRO application/json
ResourceCollectionROLinkRO -> elements -> [..] -> itemId can be used as {CustomerProductPriceNotificationResourceKey} in subsequent requests. Links to item of type ProductNotificationRO.
POST: Creates price notification

Description

This operation creates a new price notification.

The body must contain the sku, the price, and a notificationMailAddress to inform the user when the product price drops below this value.

Java Method

public javax.ws.rs.core.Response com.intershop.sellside.rest.common.capi.resource.customer.product.notification.CustomerProductPriceNotificationsResource.createProductNotification(com.intershop.sellside.rest.common.capi.resourceobject.product.notification.NewProductNotificationRO)

Request Body

NewProductNotificationRO application/json

Request Parameters

LocationNameFormatDescription
in pathCustomerKeystringRequired | Customer ID
in pathCustomerKeystringRequired | The key or UUID to resolve a single item | Example: ExampleKey

Response

201 - Created

400 - Bad Request

- possible values for header error-key:
- account.productnotification.invalid_fields.error
- account.productnotification.missing_fields.error
- account.productnotification.product.in_stock.error

401 - Unauthorized

404 - Not Found

- possible values for header error-key:
- account.productnotification.product.not_found.error

409 - Conflict

- A price notification for this product already exists.
/customers/{CustomerKey}/notifications/price/{CustomerProductPriceNotificationResourceKey}
GET: Returns price notification details

Description

This operation returns details about a specific price notification.

Java Method

public com.intershop.sellside.rest.common.capi.resourceobject.product.notification.ProductNotificationRO com.intershop.sellside.rest.common.capi.resource.customer.product.notification.CustomerProductPriceNotificationResource.getProductPriceNotification()

Request Body

--

Request Parameters

LocationNameFormatDescription
in pathCustomerKeystringRequired | Customer ID
in pathCustomerProductPriceNotificationResourceKeystringRequired | Price notification ID
in pathCustomerKeystringRequired | The key or UUID to resolve a single item | Example: ExampleKey
in pathCustomerProductPriceNotificationResourceKeystringRequired | The key or UUID to resolve a single item | Example: ExampleKey

Response

200 - OK

ProductNotificationRO application/json

401 - Unauthorized

404 - Not Found

PUT: Updates price notification

Description

This operation updates an existing price notification.

The body must contain a price and a notificationMailAddress to inform the user when the product price drops below this value.

Java Method

public com.intershop.component.rest.capi.resourceobject.AbstractResourceObject com.intershop.sellside.rest.common.capi.resource.customer.product.notification.CustomerProductPriceNotificationResource.updateProductPriceNotification(com.intershop.sellside.rest.common.capi.resourceobject.product.notification.ProductNotificationRO)

Request Body

ProductNotificationRO application/json

Request Parameters

LocationNameFormatDescription
in pathCustomerKeystringRequired | Customer ID
in pathCustomerProductPriceNotificationResourceKeystringRequired | Price notification ID
in pathCustomerKeystringRequired | The key or UUID to resolve a single item | Example: ExampleKey
in pathCustomerProductPriceNotificationResourceKeystringRequired | The key or UUID to resolve a single item | Example: ExampleKey

Response

200 - OK

AbstractResourceObject application/json

400 - Bad Request

possible values for header error-key:
- account.productnotification.invalid_fields.error
- account.productnotification.missing_fields.error

401 - Unauthorized

403 - Forbidden

404 - Not Found

DELETE: Deletes a price notification

Description

This operation deletes an existing price notification.

Java Method

public javax.ws.rs.core.Response com.intershop.sellside.rest.common.capi.resource.customer.product.notification.CustomerProductPriceNotificationResource.deleteProductPriceNotification()

Request Body

--

Request Parameters

LocationNameFormatDescription
in pathCustomerKeystringRequired | Customer ID
in pathCustomerProductPriceNotificationResourceKeystringRequired | Price notification ID
in pathCustomerKeystringRequired | The key or UUID to resolve a single item | Example: ExampleKey
in pathCustomerProductPriceNotificationResourceKeystringRequired | The key or UUID to resolve a single item | Example: ExampleKey

Response

204 - No Content

401 - Unauthorized

403 - Forbidden

404 - Not Found

Stock Notifications API

/customers/{CustomerKey}/notifications/stock
GET: Returns stock notifications

Description

This operation returns links to the back in stock notifications of a customer.

Java Method

public com.intershop.component.rest.capi.resourceobject.ResourceCollectionRO com.intershop.sellside.rest.common.capi.resource.customer.product.notification.CustomerProductStockNotificationsResource.getNotifications()

Request Body

--

Request Parameters

LocationNameFormatDescription
in pathCustomerKeystringRequired | Customer ID
in pathCustomerKeystringRequired | The key or UUID to resolve a single item | Example: ExampleKey

Response

200 - OK

ResourceCollectionROLinkRO application/json
ResourceCollectionROLinkRO -> elements -> [..] -> itemId can be used as {CustomerProductStockNotificationResourceKey} in subsequent requests. Links to item of type ProductNotificationRO.
POST: Creates stock notification

Description

This operation creates a new back in stock notification.

The body must contain the sku and a notificationMailAddress which is used to inform the user when the product is in stock again.

Java Method

public javax.ws.rs.core.Response com.intershop.sellside.rest.common.capi.resource.customer.product.notification.CustomerProductStockNotificationsResource.createProductNotification(com.intershop.sellside.rest.common.capi.resourceobject.product.notification.NewProductNotificationRO)

Request Body

NewProductNotificationRO application/json

Request Parameters

LocationNameFormatDescription
in pathCustomerKeystringRequired | Customer ID
in pathCustomerKeystringRequired | The key or UUID to resolve a single item | Example: ExampleKey

Response

201 - Created

400 - Bad Request

- possible values for header error-key:
- account.productnotification.invalid_fields.error
- account.productnotification.missing_fields.error
- account.productnotification.product.in_stock.error

401 - Unauthorized

404 - Not Found

- possible values for header error-key:
- account.productnotification.product.not_found.error

409 - Conflict

- A stock notification for this product already exists.
/customers/{CustomerKey}/notifications/stock/{CustomerProductStockNotificationResourceKey}
GET: Returns stock notification details

Description

This operation returns details of a specific back in stock notification.

Java Method

public com.intershop.sellside.rest.common.capi.resourceobject.product.notification.ProductNotificationRO com.intershop.sellside.rest.common.capi.resource.customer.product.notification.CustomerProductStockNotificationResource.getProductStockNotification()

Request Body

--

Request Parameters

LocationNameFormatDescription
in pathCustomerKeystringRequired | Customer ID
in pathCustomerProductStockNotificationResourceKeystringRequired | Stock notification ID
in pathCustomerKeystringRequired | The key or UUID to resolve a single item | Example: ExampleKey
in pathCustomerProductStockNotificationResourceKeystringRequired | The key or UUID to resolve a single item | Example: ExampleKey

Response

200 - OK

ProductNotificationRO application/json

401 - Unauthorized

404 - Not Found

PUT: Updates stock notification

Description

This operation updates an existing back in stock notification.

The body must contain a notificationMailAddress which is used to inform the user when the product is in stock again.

Java Method

public com.intershop.component.rest.capi.resourceobject.AbstractResourceObject com.intershop.sellside.rest.common.capi.resource.customer.product.notification.CustomerProductStockNotificationResource.updateProductStockNotification(com.intershop.sellside.rest.common.capi.resourceobject.product.notification.ProductNotificationRO)

Request Body

ProductNotificationRO application/json

Request Parameters

LocationNameFormatDescription
in pathCustomerKeystringRequired | Customer ID
in pathCustomerProductStockNotificationResourceKeystringRequired | Stock notification ID
in pathCustomerKeystringRequired | The key or UUID to resolve a single item | Example: ExampleKey
in pathCustomerProductStockNotificationResourceKeystringRequired | The key or UUID to resolve a single item | Example: ExampleKey

Response

200 - OK

AbstractResourceObject application/json

400 - Bad Request

possible values for headere error-key:
- account.productnotification.invalid_fields.error
- account.productnotification.missing_fields.error

401 - Unauthorized

403 - Forbidden

404 - Not Found

DELETE: Deletes a stock notification

Description

This operation deletes an existing back in stock notification.

Java Method

public javax.ws.rs.core.Response com.intershop.sellside.rest.common.capi.resource.customer.product.notification.CustomerProductStockNotificationResource.deleteProductStockNotification()

Request Body

--

Request Parameters

LocationNameFormatDescription
in pathCustomerKeystringRequired | Customer ID
in pathCustomerProductStockNotificationResourceKeystringRequired | Stock notification ID
in pathCustomerKeystringRequired | The key or UUID to resolve a single item | Example: ExampleKey
in pathCustomerProductStockNotificationResourceKeystringRequired | The key or UUID to resolve a single item | Example: ExampleKey

Response

204 - No Content

401 - Unauthorized

403 - Forbidden

404 - Not Found

Request and Response Object Schemata

AbstractResourceObject application/json{
  • "name":
    string
    The name of an element.
  • "type":
    string
    Readonly | The type of the object. This is normally a constant that can be used to differentiate objects by their type.
}
NewProductNotificationRO application/json{
  • "name":
    string
    The name of an element.
  • "sku":
    string
    the sku of the product for this notification | Example: 10809311
  • "price":
    object
    A MoneyRO object. Money combines a currency and a money amount.
    {
    • "name":
      string
      The name of an element.
    • "type":
      string
      Readonly | This is a constant: Money | Example: Money
    • "value":
      number
      The monetary value. | Example: 10.99
    • "currencyMnemonic":
      string
      Deprecated
    • "currency":
      string
      Three-letter currency code (ISO 4217) of the monetary value. | Example: USD
    }
  • "notificationMailAddress":
    string
    the notification e-mail address for this notification | Example: pmiller@test.intershop.de
}
ProductNotificationRO 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: ProductNotification
  • "sku":
    string
    the sku of the product for this notification | Example: 10809311
  • "price":
    object
    A MoneyRO object. Money combines a currency and a money amount.
    {
    • "name":
      string
      The name of an element.
    • "type":
      string
      Readonly | This is a constant: Money | Example: Money
    • "value":
      number
      The monetary value. | Example: 10.99
    • "currencyMnemonic":
      string
      Deprecated
    • "currency":
      string
      Three-letter currency code (ISO 4217) of the monetary value. | Example: USD
    }
  • "notificationMailAddress":
    string
    the notification e-mail address for this notification | Example: pmiller@test.intershop.de
}
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
}

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