12 July 2023
CartsOrdersGraphQL
We introduced the 
customLineItemKey field on update actions referencing Custom Line Items on Carts, Orders, and Order Edits. The customLineItemId field is now optional on the affected update actions. This ensures a consistent experience when working with external identifiers across different entity types in Composable Commerce.Changes:
- [API] Added 
customLineItemKeyand madecustomLineItemIdoptional on the following update actions on Carts:- Remove CustomLineItem, Change CustomLineItem Quantity, Set CustomLineItem TaxRate, Set CustomLineItem TaxAmount, Change CustomLineItem Price Mode, Change CustomLineItem Money, Set CustomLineItem ShippingDetails, Apply DeltaToCustomLineItemShippingDetailsTargets, Set CustomLineItem Custom Type, Set CustomLineItem CustomField.
 
 - [API] Added 
customLineItemKeyand madecustomLineItemIdoptional on the following update actions on Orders: - [API] Added 
customLineItemKeyand madecustomLineItemIdoptional on the following update actions on Order Edits: - [GraphQL API] Changed the 
RemoveStagedOrderCustomLineItemOutputtype:RemoveStagedOrderCustomLineItemOutput.customLineItemIdfield type changed fromString!toString- Added the 
customLineItemKeyfield to theRemoveStagedOrderCustomLineItemOutputtype. 
 - [GraphQL API] Changed the 
SetOrderCustomLineItemCustomFieldtype:SetOrderCustomLineItemCustomField.customLineItemIdinput field type changed fromString!toString- Input field 
customLineItemKeywas added toSetOrderCustomLineItemCustomFieldtype 
 - [GraphQL API] Changed the 
ChangeStagedOrderCustomLineItemQuantitytype:ChangeStagedOrderCustomLineItemQuantity.customLineItemIdinput field type changed fromString!toString- Input field 
customLineItemKeywas added toChangeStagedOrderCustomLineItemQuantitytype 
 - [GraphQL API] Changed the 
SetStagedOrderCustomLineItemCustomTypetype:SetStagedOrderCustomLineItemCustomType.customLineItemIdinput field type changed fromString!toString- Input field 
customLineItemKeywas added toSetStagedOrderCustomLineItemCustomTypetype 
 - [GraphQL API] Changed the 
SetOrderCustomLineItemShippingDetailstype:SetOrderCustomLineItemShippingDetails.customLineItemIdinput field type changed fromString!toString- Input field 
customLineItemKeywas added toSetOrderCustomLineItemShippingDetailstype 
 - [GraphQL API] Changed the 
ChangeCartCustomLineItemMoneytype:- Input field 
customLineItemKeywas added toChangeCartCustomLineItemMoneytype ChangeCartCustomLineItemMoney.customLineItemIdinput field type changed fromString!toString
 - Input field 
 - [GraphQL API] Changed the 
SetCartCustomLineItemCustomFieldtype:SetCartCustomLineItemCustomField.customLineItemIdinput field type changed fromString!toString- Input field 
customLineItemKeywas added toSetCartCustomLineItemCustomFieldtype 
 - [GraphQL API] Changed the 
SetStagedOrderCustomLineItemTaxAmountOutputtype:- Added the 
customLineItemKeyfield to theSetStagedOrderCustomLineItemTaxAmountOutputtype. SetStagedOrderCustomLineItemTaxAmountOutput.customLineItemIdfield type changed fromString!toString
 - Added the 
 - [GraphQL API] Changed the 
SetCartCustomLineItemTaxRatetype:SetCartCustomLineItemTaxRate.customLineItemIdinput field type changed fromString!toString- Input field 
customLineItemKeywas added toSetCartCustomLineItemTaxRatetype 
 - [GraphQL API] Changed the 
SetOrderCustomLineItemCustomTypetype:SetOrderCustomLineItemCustomType.customLineItemIdinput field type changed fromString!toString- Input field 
customLineItemKeywas added toSetOrderCustomLineItemCustomTypetype 
 - [GraphQL API] Changed the 
ChangeCartCustomLineItemPriceModetype:ChangeCartCustomLineItemPriceMode.customLineItemIdinput field type changed fromString!toString- Input field 
customLineItemKeywas added toChangeCartCustomLineItemPriceModetype 
 - [GraphQL API] Changed the 
SetStagedOrderCustomLineItemCustomTypeOutputtype:- Added the 
customLineItemKeyfield to theSetStagedOrderCustomLineItemCustomTypeOutputtype. SetStagedOrderCustomLineItemCustomTypeOutput.customLineItemIdfield type changed fromString!toString
 - Added the 
 - [GraphQL API] Changed the 
SetCartCustomLineItemCustomTypetype:- Input field 
customLineItemKeywas added toSetCartCustomLineItemCustomTypetype SetCartCustomLineItemCustomType.customLineItemIdinput field type changed fromString!toString
 - Input field 
 - [GraphQL API] Changed the 
ChangeStagedOrderCustomLineItemQuantityOutputtype:ChangeStagedOrderCustomLineItemQuantityOutput.customLineItemIdfield type changed fromString!toString- Added the 
customLineItemKeyfield to theChangeStagedOrderCustomLineItemQuantityOutputtype. 
 - [GraphQL API] Changed the 
SetStagedOrderCustomLineItemTaxAmounttype:SetStagedOrderCustomLineItemTaxAmount.customLineItemIdinput field type changed fromString!toString- Input field 
customLineItemKeywas added toSetStagedOrderCustomLineItemTaxAmounttype 
 - [GraphQL API] Changed the 
ChangeStagedOrderCustomLineItemMoneyOutputtype:ChangeStagedOrderCustomLineItemMoneyOutput.customLineItemIdfield type changed fromString!toString- Added the 
customLineItemKeyfield to theChangeStagedOrderCustomLineItemMoneyOutputtype. 
 - [GraphQL API] Changed the 
SetCartCustomLineItemShippingDetailstype:- Input field 
customLineItemKeywas added toSetCartCustomLineItemShippingDetailstype SetCartCustomLineItemShippingDetails.customLineItemIdinput field type changed fromString!toString
 - Input field 
 - [GraphQL API] Changed the 
SetCartCustomLineItemTaxAmounttype:- Input field 
customLineItemKeywas added toSetCartCustomLineItemTaxAmounttype SetCartCustomLineItemTaxAmount.customLineItemIdinput field type changed fromString!toString
 - Input field 
 - [GraphQL API] Changed the 
ChangeCartCustomLineItemQuantitytype:ChangeCartCustomLineItemQuantity.customLineItemIdinput field type changed fromString!toString- Input field 
customLineItemKeywas added toChangeCartCustomLineItemQuantitytype 
 - [GraphQL API] Changed the 
RemoveStagedOrderCustomLineItemtype:- Input field 
customLineItemKeywas added toRemoveStagedOrderCustomLineItemtype RemoveStagedOrderCustomLineItem.customLineItemIdinput field type changed fromString!toString
 - Input field 
 - [GraphQL API] Changed the 
RemoveCartCustomLineItemtype:RemoveCartCustomLineItem.customLineItemIdinput field type changed fromString!toString- Input field 
customLineItemKeywas added toRemoveCartCustomLineItemtype 
 - [GraphQL API] Changed the 
SetStagedOrderCustomLineItemCustomFieldOutputtype:SetStagedOrderCustomLineItemCustomFieldOutput.customLineItemIdfield type changed fromString!toString- Added the 
customLineItemKeyfield to theSetStagedOrderCustomLineItemCustomFieldOutputtype. 
 - [GraphQL API] Changed the 
ApplyCartDeltaToCustomLineItemShippingDetailsTargetstype:- Input field 
customLineItemKeywas added toApplyCartDeltaToCustomLineItemShippingDetailsTargetstype ApplyCartDeltaToCustomLineItemShippingDetailsTargets.customLineItemIdinput field type changed fromString!toString
 - Input field 
 - [GraphQL API] Changed the 
ChangeStagedOrderCustomLineItemMoneytype:ChangeStagedOrderCustomLineItemMoney.customLineItemIdinput field type changed fromString!toString- Input field 
customLineItemKeywas added toChangeStagedOrderCustomLineItemMoneytype 
 - [GraphQL API] Changed the 
SetStagedOrderCustomLineItemCustomFieldtype:SetStagedOrderCustomLineItemCustomField.customLineItemIdinput field type changed fromString!toString- Input field 
customLineItemKeywas added toSetStagedOrderCustomLineItemCustomFieldtype 
 - [GraphQL API] Changed the 
SetStagedOrderCustomLineItemTaxRatetype:- Input field 
customLineItemKeywas added toSetStagedOrderCustomLineItemTaxRatetype SetStagedOrderCustomLineItemTaxRate.customLineItemIdinput field type changed fromString!toString
 - Input field 
 - [GraphQL API] Changed the 
SetStagedOrderCustomLineItemTaxRateOutputtype:SetStagedOrderCustomLineItemTaxRateOutput.customLineItemIdfield type changed fromString!toString- Added the 
customLineItemKeyfield to theSetStagedOrderCustomLineItemTaxRateOutputtype. 
 - [GraphQL API] Changed the 
SetStagedOrderCustomLineItemShippingDetailstype:SetStagedOrderCustomLineItemShippingDetails.customLineItemIdinput field type changed fromString!toString- Input field 
customLineItemKeywas added toSetStagedOrderCustomLineItemShippingDetailstype 
 - [GraphQL API] Changed the 
SetStagedOrderCustomLineItemShippingDetailsOutputtype:- Added the 
customLineItemKeyfield to theSetStagedOrderCustomLineItemShippingDetailsOutputtype. SetStagedOrderCustomLineItemShippingDetailsOutput.customLineItemIdfield type changed fromString!toString
 - Added the 
 
The following changes were introduced in terms of GraphQL SDL:
extend type RemoveStagedOrderCustomLineItemOutput {
  customLineItemKey: String
}
extend type ChangeStagedOrderCustomLineItemMoneyOutput {
  customLineItemKey: String
}
extend type SetStagedOrderCustomLineItemCustomFieldOutput {
  customLineItemKey: String
}
extend type SetStagedOrderCustomLineItemTaxRateOutput {
  customLineItemKey: String
}
extend type SetStagedOrderCustomLineItemShippingDetailsOutput {
  customLineItemKey: String
}
extend type SetStagedOrderCustomLineItemTaxAmountOutput {
  customLineItemKey: String
}
extend type SetStagedOrderCustomLineItemCustomTypeOutput {
  customLineItemKey: String
}
extend type ChangeStagedOrderCustomLineItemQuantityOutput {
  customLineItemKey: String
}
extend input SetCartCustomLineItemCustomType {
  customLineItemKey: String
}
extend input SetOrderCustomLineItemCustomField {
  customLineItemKey: String
}
extend input SetStagedOrderCustomLineItemTaxAmount {
  customLineItemKey: String
}
extend input ChangeStagedOrderCustomLineItemQuantity {
  customLineItemKey: String
}
extend input SetStagedOrderCustomLineItemCustomType {
  customLineItemKey: String
}
extend input RemoveCartCustomLineItem {
  customLineItemKey: String
}
extend input SetOrderCustomLineItemShippingDetails {
  customLineItemKey: String
}
extend input ApplyCartDeltaToCustomLineItemShippingDetailsTargets {
  customLineItemKey: String
}
extend input ChangeCartCustomLineItemMoney {
  customLineItemKey: String
}
extend input ChangeStagedOrderCustomLineItemMoney {
  customLineItemKey: String
}
extend input SetStagedOrderCustomLineItemCustomField {
  customLineItemKey: String
}
extend input SetStagedOrderCustomLineItemShippingDetails {
  customLineItemKey: String
}
extend input SetCartCustomLineItemCustomField {
  customLineItemKey: String
}
extend input SetCartCustomLineItemTaxRate {
  customLineItemKey: String
}
extend input SetOrderCustomLineItemCustomType {
  customLineItemKey: String
}
extend input ChangeCartCustomLineItemPriceMode {
  customLineItemKey: String
}
extend input SetCartCustomLineItemShippingDetails {
  customLineItemKey: String
}
extend input SetCartCustomLineItemTaxAmount {
  customLineItemKey: String
}
extend input ChangeCartCustomLineItemQuantity {
  customLineItemKey: String
}
extend input RemoveStagedOrderCustomLineItem {
  customLineItemKey: String
}
extend input SetStagedOrderCustomLineItemTaxRate {
  customLineItemKey: String
}