Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents




This cookbook was written using

API. Most concepts are valid, however please ensure that you refer to the latest swagger spec for the right API depicted in the flowcharts outlined in this document.

REST API is facilitated by Spring MVC where controllers are mapped to XML and JSON view resolvers. The choice of whether to use XML or JSON in request and/or response body is controlled via request headers: Content-Type for request body type and Accept for the response body type. Currently only XML and JSON modes are supported with "application/xml" and "application/json" values respectively. Request and response type in all REST API calls are independent of each other, so it is possible to send JSON request and receive XML or JSON response and send an XML request and receive XML or JSON response - it all depends on the values in "Content-Type" and "Accept" headers sent with the request.


REST API is represented by a number of controllers each of which is focused on particular functional area:


We strongly advise to refer to javadoc for controllers which show request parameters and depict example responses.


Note that updating wish list items of all types is done via cart controller command interface since some operations with wish list directly influence cart state. Use addToWishListCmd and removeFromWishListCmd commands to add and remove wish list items respectively. For more details on parameters to these commands refer to ShoppingCartCommand javadocs.

Recently viewed flow

Recently viewed interface support both authenticated and anonymous customers and allows to view product view history in current session. The tracking on the product views is automatic and is done every time product is viewed using GET /product/\{id\} interface.

Order history


Response for the search call is a single page of products results with additional information about filtered navigation, available sorting and paging options and total results count. 


This interface can be used for AJAX search suggest. Make sure that search request specifies includeNavigation=false in this case to avoid unnecessary processing.

Checkout flow


Checkout flow is all about populating the shopping cart and then placing an order.

Cart mutation processes such as adding/removing/updating products, adding/removing coupons and editing order message are all facilitated by PUT /yes-api/rest/cartcommand interface. For more details on parameters to these commands refer to ShoppingCartCommandjavadocs.

When customer is ready to checkout there are four steps that they pass through.






More in-depth articles on shop specific REST API configurations are available upon request