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