All Release Notes

Product Selections can now be extended with Custom Fields

22 February 2022
Composable Commerce
HTTP API
Enhancement
Product catalogExtensibilityGraphQL

You can now extend the ProductSelection resource with Custom Fields. With this, you can add meta-information to your Product Selection in case it is required for your business logic.

Changes:

  • [API] Added optional custom field to ProductSelection and ProductSelectionDraft.
  • [API] Added Set Custom Type and Set CustomField update actions to Product Selections.
  • [GraphQL API] Added the following types to the GraphQL schema: SetProductSelectionCustomField, SetProductSelectionCustomType.
  • [GraphQL API] Changed the ProductSelection type:
    • Added the custom field to the ProductSelection type.
  • [GraphQL API] Changed the ProductSelectionCreatedPayload type:
    • Added the custom field to the ProductSelectionCreatedPayload type.
  • [GraphQL API] Changed the IndividualProductSelectionCreatedPayload type:
    • Added the custom field to the IndividualProductSelectionCreatedPayload type.
  • [GraphQL API] Changed the ProductSelectionUpdateAction type:
    • Input field setCustomField was added to ProductSelectionUpdateAction type
    • Input field setCustomType was added to ProductSelectionUpdateAction type
  • [GraphQL API] Changed the CreateProductSelectionDraft type:
    • Input field custom was added to CreateProductSelectionDraft type

The following changes were introduced in terms of GraphQL SDL:

extend interface ProductSelectionCreatedPayload {
custom: CustomFieldsType
}
extend type IndividualProductSelectionCreatedPayload {
custom: CustomFieldsType
}
extend input ProductSelectionUpdateAction {
setCustomField: SetProductSelectionCustomField
setCustomType: SetProductSelectionCustomType
}
extend input CreateProductSelectionDraft {
custom: CustomFieldsDraft
}
input SetProductSelectionCustomField {
name: String!
value: String
}
input SetProductSelectionCustomType {
fields: [CustomFieldInput!]
type: ResourceIdentifierInput
typeKey: String
typeId: String
}