14 July 2020
Pricing and DiscountsProduct catalogProject configuration
You can now add Product Distribution Channels to Stores. When querying ProductProjections, you can then use the query parameter 
storeProjection to remove all prices from the response payload that don't correspond to the Channels set in the Store.Setting Product Distribution Channels on Stores also affects cart line items. If a cart is bound to a store and the store has Product Distribution Channels set, then only prices from these channels (and prices not linked not any channel) are included in the product variant information of the line item. Additionally, the distributionChannel field on the cart used for the Line Item price selection can only be set to one of the channels set in the store.
To enable the configuration of product distribution channels in Stores, the following changes have been made:
- [API] Added 
distributionChannelsfield to StoreDraft - [API] Added 
distributionChannelsfield to Store - [API] Added 
setDistributionChannelsupdate action to Store - [API] Added 
addDistributionChannelupdate action to Store - [API] Added 
removeDistributionChannelupdate action to Store - [GraphQL API] Added the following types to the GraphQL schema: 
SetStoreDistributionChannels - [GraphQL API] Changed the 
StoreUpdateActiontype:- Input field 
setDistributionChannelswas added toStoreUpdateActiontype - Input field 
addDistributionChannelwas added toStoreUpdateActiontype - Input field 
removeDistributionChannelwas added toStoreUpdateActiontype 
 - Input field 
 - [GraphQL API] Changed the 
CreateStoretype:- Input field 
distributionChannelswas added toCreateStoretype 
 - Input field 
 - [GraphQL API] Changed the 
Storetype:- Added the 
distributionChannelsReffield to theStoretype. - Added the 
distributionChannelsfield to theStoretype. 
 - Added the 
 
Introduced the following changes to the GraphQL schema (in SDL format):
extend type Store {
  distributionChannels: [Channel!]!
  distributionChannelsRef: [Reference!]!
}
extend input StoreUpdateAction {
  setDistributionChannels: SetStoreDistributionChannels
  addDistributionChannel: AddStoreDistributionChannel
  removeDistributionChannel: RemoveStoreDistributionChannel
}
extend input CreateStore {
  distributionChannels: [ResourceIdentifierInput!]
}
input SetStoreDistributionChannels {
  distributionChannels: [ResourceIdentifierInput!]
}
input AddStoreDistributionChannel {
  distributionChannel: ResourceIdentifierInput!
}
input RemoveStoreDistributionChannel {
  distributionChannel: ResourceIdentifierInput!
}