17 April 2019
Enhancement
CartsGraphQLOrdersSecurityStores

Stores BETA let you model the context your customers shop in, for example physical retail locations, brand stores, or country-specific stores. Currently, a store holds carts and orders. During the Beta phase, we plan to let the store define what subset of resources within a project is available in the context of the store. For example, which products are sold at what price, and which currency or shipping methods can be used.

Additionally, a store can be used for permissions. With an OAuth scope like manage_orders:acme-inc:luxury-brand, an API client can only work with carts and orders inside the luxury-brand store, but not within the budget-brand store. See the GraphQL section for more details. Coming soon to the Merchant Center, a team can be given permission to only work with orders from one store.

  • [API] Added the new resource Store.
  • [API] Added the type KeyReference.
  • [API] Cart and Order have a new field store.
  • [API] When creating a Cart, the store can be referenced by its ID or key.
  • [API] New OAuth scopes manage_stores:{projectKey} and view_stores:{projectKey}.
  • [API] New store-based OAuth scopes manage_orders:{projectKey}:{storeKey} and view_orders:{projectKey}:{storeKey}.
  • [GraphQL API] Added Stores, and the store fields on the types Cart, CartDraft and Order.
  • [GraphQL API] Added the query fields inStore and inStores, as well as a storeKey argument to cart and order mutations. These can be used with the new store-based OAuth scopes.