Stores and channels
A store is the buyer-facing commerce context. Channels connect that store to the catalog publications, prices, and inventory it can use.
Channel responsibilities
Channel flags declare where a channel can participate:
| Flag | Responsibility |
|---|---|
DISTRIBUTION | Product and variant publication and purchase availability |
PRICE | Contextual variant prices |
SUPPLY | Inventory entries and fulfillment sources |
A channel can carry more than one flag. Keep responsibilities separate when markets, price lists, or warehouses change independently. Only ACTIVE channels participate in configured commerce operations.
Store configuration
A store selects lists of distributionChannels, priceChannels, and supplyChannels. It also owns default price and tax rounding modes. Those relationships constrain which records can resolve in Storefront operations.
For example, passing a price channel that the store does not use cannot create a valid market context. Likewise, inventory in an unrelated supply channel does not make a tracked variant available through that store.
A practical market model
For one market with one catalog, price list, and warehouse:
- Create an active distribution channel.
- Create an active price channel.
- Create an active supply channel.
- Create a store and attach all three.
- Publish products and variants to the distribution channel.
- Add prices to the price channel and inventory to the supply channel.
Reuse a channel across stores only when the underlying catalog, pricing, or supply responsibility is truly shared.
For example, a Denmark store and a Sweden store can share one distribution channel while using separate DKK and SEK price channels. If both ship from the same warehouse, they can share a supply channel; if stock is fulfilled locally, give each store its own supply channel. This lets catalog publication remain shared without coupling prices or inventory.
Storefront context
Storefront product queries accept storeId, priceChannelId, priceCurrency, and priceCountry. Cart creation requires storeId and currency, and can also retain a price channel and country. Keep these values aligned from browsing through checkout; see Storefront request context.
API reference
- Store and StoreCreateInput
- Channel, ChannelFlag, and ChannelStatus