Skip to main content

Channel

Channel​

A Channel represents a distinct sales channel and configures defaults for that channel.

  • Set a channel-specific currency, language, 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 StockLocations, Assets, Facets, Collections, Promotions, ShippingMethods & PaymentMethods to the Channel
  • Have Orders and Customers associated with specific Channels.

In Vendure, Channels have a number of different uses, such as:

  • 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.
  • Implementing multi-vendor marketplace applications.
Signature
class Channel extends VendureEntity {
constructor(input?: DeepPartial<Channel>)
@Column({ unique: true })
code: string;
@Column({ unique: true })
token: string;
@Column({ default: '', nullable: true })
description: string;
@Index()
@ManyToOne(type => Seller)
seller?: Seller;
@EntityId({ nullable: true })
sellerId?: ID;
@Column('varchar') defaultLanguageCode: LanguageCode;
@Column({ type: 'simple-array', nullable: true })
availableLanguageCodes: LanguageCode[];
@Index()
@ManyToOne(type => Zone)
defaultTaxZone: Zone;
@Index()
@ManyToOne(type => Zone)
defaultShippingZone: Zone;
@Column('varchar')
defaultCurrencyCode: CurrencyCode;
@Column({ type: 'simple-array', nullable: true })
availableCurrencyCodes: CurrencyCode[];
@Column({ default: true })
trackInventory: boolean;
@Column({ default: 0 })
outOfStockThreshold: number;
@Column(type => CustomChannelFields)
customFields: CustomChannelFields;
@Column() pricesIncludeTax: boolean;
}

constructor​

method
(input?: DeepPartial<Channel>) => Channel

code​

property
string

The name of the Channel. For example "US Webstore" or "German Webstore".

token​

property
string

A unique token (string) used to identify the Channel in the vendure-token header of the GraphQL API requests.

description​

property
string

seller​

property

sellerId​

property

defaultLanguageCode​

property

availableLanguageCodes​

property

defaultTaxZone​

property

defaultShippingZone​

property

defaultCurrencyCode​

property

availableCurrencyCodes​

property

trackInventory​

property
boolean

Specifies the default value for inventory tracking for ProductVariants. Can be overridden per ProductVariant, but this value determines the default if not otherwise specified.

outOfStockThreshold​

property
number

Specifies the value of stockOnHand at which a given ProductVariant is considered out of stock.

customFields​

property
CustomChannelFields

pricesIncludeTax​

property
boolean