Store API (beta)

The ZEST Store API is a beta headless ecommerce API that allows you to integrate with ZEST storefront capabilities including:

  • Browsing / searching products
  • Configuring products (with options)
  • Adding products to a shopping cart
  • Arranging delivery
  • Placing an order
  • Retrieving receipt information for an order

Because of the beta status of this API, the interfaces provided are subject to change, and it is provided on an "as is, where is" basis. This API is primarily used internally for other Zeald software, so a lot of this documentation is internal developer focused.

Please get in touch before investing in building an app around this API.

Getting started

Make sure you read our getting started documentation to learn how to gain access to our APIs, and authenticate a request.

Working with the ZEST Store API

The Store API is a REST API, supporting a subset of the REST specification.

Various resources are provided. The supported HTTP methods vary depending on the resource.

As with the Data API, if your HTTP client cannot handle a specific HTTP method, you can pass it in as the querystring parameter eg. _method=PUT.

Session handling

REST APIs are typically stateless. So the concept of a 'session' doesn't sit too naturally with one.

However ecommerce websites require a session - especially for managing shopping carts. The Store API provides session support by returning a session token which must be passed back with each subsequent request. If a request fails to provide a session token, a new one will be issued in the response of that request.

You can learn more about session handling in the Store API here.

Schemas

The Store API does not offer or support XSD Schemas. Ideally we would be using JSON, but we're stuck with XML for now so just treat your XML like JSON.

Resources

  • CategoryList - provide a list of product categories on the website.
  • BrowseCategory - browse a category of products.
  • ProductSearch - search the product database.
  • Cart - interact with a shopping cart - viewing the cart, adding one or more items to it, replacing or emptying cart contents, viewing & managing delivery methods.
  • CartItem - interact with a single item in a shopping cart - viewing or updating it.
  • Checkout - process orders through a standard checkout process, staging & processing orders.
  • Receipt - view order details that would usually show on a receipt.
  • Enquiry - place an enquiry on a website
  • Page - render a page, and/or retrieve is underlying data