Introduced Product Selection of type Individual Exclusion in Beta
We introduced the Individual Exclusion Product Selection type that lets you model the availability of your Products in different Stores by excluding individual Products explicitly. Before, we supported the Individual type only in which you include individual Products explicitly. We also added Messages triggered when Product Selections of that new type are created, deleted, or updated.
Changes:
[API] Added
individualExclusion
value to ProductSelectionTypeEnum.[API] Added IndividualExclusionProductSelectionType.
[API] Added Exclude Product update action for Product Selections.
[API] Added Set Variant Exclusion update action for Product Selections.
[API] Added ProductSelectionProductExcluded and ProductSelectionVariantExclusionChanged Message.
[GraphQL API] Added the following types to the GraphQL schema:
ExcludeProductSelectionProduct
,IndividualExclusionProductSelectionCreatedPayload
,ProductSelectionProductExcluded
,ProductSelectionType
,ProductSelectionVariantExclusionChanged
,ProductVariantExclusion
,ProductVariantExclusionDraft
,SetProductSelectionVariantExclusion
.[GraphQL API] Added the
type
field to theProductSelection
type.[GraphQL API] Added the
type
input field to theCreateProductSelectionDraft
type.[GraphQL API] Added the
excludeProduct
input field toProductSelectionUpdateAction
type.[GraphQL API] Added the
setVariantExclusion
input field toProductSelectionUpdateAction
type.[GraphQL API] Added the
staged
field to theProductVariantDeleted
type.
The following changes were introduced in terms of GraphQL SDL:
extend type ProductSelection {type: ProductSelectionType!}extend input ProductSelectionUpdateAction {excludeProduct: ExcludeProductSelectionProductsetVariantExclusion: SetProductSelectionVariantExclusion}extend input CreateProductSelectionDraft {type: String}input ExcludeProductSelectionProduct {product: ResourceIdentifierInput!variantExclusion: ProductVariantExclusionDraft}"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta"type IndividualExclusionProductSelectionCreatedPayload implements ProductSelectionCreatedPayload {custom: CustomFieldsTypename("String is defined for different locales. This argument specifies the desired locale."locale: Locale,"List of languages the client is able to understand, and which locale variant is preferred."acceptLanguage: [Locale!]): StringnameAllLocales: [LocalizedString!]!type: String!}"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta"type ProductSelectionProductExcluded implements MessagePayload {variantExclusion: ProductVariantExclusionproduct: ProductproductRef: Reference!type: String!}enum ProductSelectionType {"Type of Product Selection used to include a specific list of individual Products"individual"Type of Product Selection used to exclude a specific list of individual Products"individualExclusion}"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta"type ProductSelectionVariantExclusionChanged implements MessagePayload {oldVariantExclusion: ProductVariantExclusionnewVariantExclusion: ProductVariantExclusionproduct: ProductproductRef: Reference!type: String!}"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta"type ProductVariantExclusion {skus: [String!]!}"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta"input ProductVariantExclusionDraft {skus: [String!]}input SetProductSelectionVariantExclusion {product: ResourceIdentifierInput!variantExclusion: ProductVariantExclusionDraft}