Introduction to Multi-Storefront
Some merchants want to sell their products in different places. They may want to maintain multiple website-based eCommerce storefronts, or sell products from their store's catalog on other channels, such as Amazon, eBay, in-person POS (point-of-sale) systems, and so on.
Multi-storefront capabilities extend the reach of BigCommerce stores. Merchants are no longer relegated to selling from a single storefront website. They can maintain multiple websites, on which they can configure and customize the look, feel, pricing, and organization of the shopping experience to support multiple distinct brands or sales goals. To this end, BigCommerce's data model has evolved significantly to support these new dimensions.
We intend to provide these new features with no breaking changes to the platform so that existing single-storefront merchant stores continue to function as they did previously, and the existing APIs function as before for these stores. However, there are several additive changes to the platform. To provide the full multi-storefront, multi-channel support that merchants with complex stores expect and require, our partners must adapt.
This guide provides an overview of the core features that power multi-storefront, multi-channel stores. Our Multi-Storefront API guide and Multi-storefront app compatibility and optimization article provide guidance on how developers can modify and reimagine applications to support multi-storefront, multi-channel selling.
Channels
REST Management API channels reference
A channel is a place where a merchant's store sells products. Storefront websites, marketplaces like Amazon and eBay, point-of-sale systems, and marketing feeds are all sales channels. A custom channel may not fit into any one of these types. A merchant creates a new channel to sell in a new context. Channels can help to organize a merchant's complex business by allowing them to sell to many customers in many places from a single catalog in one BigCommerce store. In a transactional context, channel objects link together a variety of other objects that describe a particular shopper's experience on a sales channel.
A channel is defined by the following:
- A
name
, which is merchant-defined for internal convenience and not exposed to shoppers - A
type
, which may be one of the following:storefront
,marketing
,pos
,marketplace
custom
- A
platform
, which indicates the platform on which shoppers primarily use the channel
Consult the REST Management API channels reference for more information on valid combinations of type
and platform
. For example, a BigCommerce-hosted Stencil storefront has a type of storefront
and a platform of bigcommerce
.
Each BigCommerce store is provisioned with one channel out of the box, intended for its first Stencil storefront. The ID of this channel is 1
for all BigCommerce stores. This channel may also be referred to as the "default channel", and it cannot be deleted.
Backwards compatibility
In some cases when a more specific channel cannot be associated with an interaction, channel 1
may be used for backwards compatibility. For example, when an app creates an order using the V2 orders feature of the REST Management API, but does not specify a channel ID, the order will be associated with channel 1
.
To learn more about upgrading your application to support multi-channel sales, see Multi-storefront app compatibility.
Sites
REST Management API sites reference
A site is a website owned or controlled exclusively by the merchant, usually for hosting a storefront website. Every site will be tied to exactly one channel, but because not all sales channels are sites, channels are not required to have a site. Sites are mainly relevant to storefront-type channels, and they serve as containers for settings and objects that only apply to websites.
Every site must have the following properties:
- The
channel_id
of the sales channel associated with the site - A
url
, which is the public-facing URL of the site
Every Stencil storefront has a site, in addition to having a channel of type storefront
and a platform of type bigcommerce
.
The first Stencil storefront of each merchant store has an ID of 1000
and is also known as the default site. It cannot be deleted.
To learn more about upgrading your application to support multi-storefront functionality, see Multi-storefront app compatibility.
Settings & Configuration
REST Management API settings reference
The REST Management API's settings feature lets your app read and write many important elements of the store's configuration, both globally and on a per-channel basis. If your application manages settings, you can use these endpoints to enable merchants to configure different settings for different channels. You may also wish to read and respect any merchant-configured settings that control details of your application's behavior.
If your application interacts with shoppers, you may be able to use the GraphQL Storefront API instead to get the relevant settings for a given shopper in real time.
For more about managing store settings in multi-storefront implementations, see Managing store configuration.
Resources
- Multi-storefront API guide
- Multi-storefront app compatibility and optimization
- Managing store configuration
- Multi-Storefront (Help Center) (opens in a new tab)