Channels are a feature of Vendure which allows multiple sales channels to be represented in a single Vendure instance. A Channel allows you to:

  • Set a channel-specific currency, tax and shipping defaults
  • Assign only specific Products to the Channel (with Channel-specific prices)
  • Create Administrator roles limited to the Channel
  • Assign only specific Promotions, Collections, ShippingMethods to the Channel
  • Have Orders and Customers associated with specific Channels.

Every Vendure server always has a default Channel, which contains all entities. Subsequent channels can then contain a subset of the above entities.

Use-cases of Channels include:

  • Multi-region stores, where there is a distinct website for each territory with its own available inventory, pricing, tax and shipping rules.
  • Creating distinct rules and inventory for different sales channels such as Amazon.
  • Specialized stores offering a subset of the main inventory.

How to set the channel when using the GraphQL API

To specify which channel to use when making an API call, set the 'vendure-token' header to match the token of the desired Channel.

Multi-Tenant (Marketplace) Support

Channels can also be used to implement a multi-tenant or marketplace application. In such a setup, each merchant would have their own dedicated Channel and would be granted permissions on that Channel only.

For a detailed guide on how this would be set up, see our Multi-Tenant guide.