All Release Notes

Added 'lineItemKey' to Cart, Order, and Order Edit update actions

23 June 2023
Enhancement
CartsOrdersGraphQL

We introduced the lineItemKey field on update actions referencing Line Items on Carts, Orders, and Order Edits. The lineItemId 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 lineItemKey and made lineItemId optional on the following update actions on Carts:
  • [API] Added lineItemKey and made lineItemId optional on the following update actions on My Carts:
  • [API] Added lineItemKey and made lineItemId optional on the following update actions on Orders:
  • [API] Added lineItemKey and made lineItemId optional on the following update actions on Order Edits:
  • [GraphQL API] Changed the SetCartLineItemTaxAmount type:
    • SetCartLineItemTaxAmount.lineItemId input field type changed from String! to String
    • Input field lineItemKey was added to SetCartLineItemTaxAmount type
  • [GraphQL API] Changed the SetStagedOrderLineItemCustomType type:
    • Input field lineItemKey was added to SetStagedOrderLineItemCustomType type
    • SetStagedOrderLineItemCustomType.lineItemId input field type changed from String! to String
  • [GraphQL API] Changed the SetCartLineItemCustomField type:
    • Input field lineItemKey was added to SetCartLineItemCustomField type
    • SetCartLineItemCustomField.lineItemId input field type changed from String! to String
  • [GraphQL API] Changed the ChangeStagedOrderLineItemQuantity type:
    • Input field lineItemKey was added to ChangeStagedOrderLineItemQuantity type
    • ChangeStagedOrderLineItemQuantity.lineItemId input field type changed from String! to String
  • [GraphQL API] Changed the SetCartLineItemShippingDetails type:
    • SetCartLineItemShippingDetails.lineItemId input field type changed from String! to String
    • Input field lineItemKey was added to SetCartLineItemShippingDetails type
  • [GraphQL API] Changed the SetCartLineItemTotalPrice type:
    • SetCartLineItemTotalPrice.lineItemId input field type changed from String! to String
    • Input field lineItemKey was added to SetCartLineItemTotalPrice type
  • [GraphQL API] Changed the SetCartLineItemTaxRate type:
    • Input field lineItemKey was added to SetCartLineItemTaxRate type
    • SetCartLineItemTaxRate.lineItemId input field type changed from String! to String
  • [GraphQL API] Changed the SetStagedOrderLineItemShippingDetails type:
    • SetStagedOrderLineItemShippingDetails.lineItemId input field type changed from String! to String
    • Input field lineItemKey was added to SetStagedOrderLineItemShippingDetails type
  • [GraphQL API] Changed the SetStagedOrderLineItemCustomField type:
    • Input field lineItemKey was added to SetStagedOrderLineItemCustomField type
    • SetStagedOrderLineItemCustomField.lineItemId input field type changed from String! to String
  • [GraphQL API] Changed the SetStagedOrderLineItemCustomFieldOutput type:
    • SetStagedOrderLineItemCustomFieldOutput.lineItemId field type changed from String! to String
    • Added the lineItemKey field to the SetStagedOrderLineItemCustomFieldOutput type.
  • [GraphQL API] Changed the SetStagedOrderLineItemTotalPriceOutput type:
    • Added the lineItemKey field to the SetStagedOrderLineItemTotalPriceOutput type.
    • SetStagedOrderLineItemTotalPriceOutput.lineItemId field type changed from String! to String
  • [GraphQL API] Changed the SetCartLineItemCustomType type:
    • SetCartLineItemCustomType.lineItemId input field type changed from String! to String
    • Input field lineItemKey was added to SetCartLineItemCustomType type
  • [GraphQL API] Changed the SetCartLineItemDistributionChannel type:
    • Input field lineItemKey was added to SetCartLineItemDistributionChannel type
    • SetCartLineItemDistributionChannel.lineItemId input field type changed from String! to String
  • [GraphQL API] Changed the SetStagedOrderLineItemTaxAmount type:
    • Input field lineItemKey was added to SetStagedOrderLineItemTaxAmount type
    • SetStagedOrderLineItemTaxAmount.lineItemId input field type changed from String! to String
  • [GraphQL API] Changed the ApplyCartDeltaToLineItemShippingDetailsTargets type:
    • ApplyCartDeltaToLineItemShippingDetailsTargets.lineItemId input field type changed from String! to String
    • Input field lineItemKey was added to ApplyCartDeltaToLineItemShippingDetailsTargets type
  • [GraphQL API] Changed the RemoveStagedOrderLineItem type:
    • RemoveStagedOrderLineItem.lineItemId input field type changed from String! to String
    • Input field lineItemKey was added to RemoveStagedOrderLineItem type
  • [GraphQL API] Changed the SetStagedOrderLineItemTaxRateOutput type:
    • Added the lineItemKey field to the SetStagedOrderLineItemTaxRateOutput type.
    • SetStagedOrderLineItemTaxRateOutput.lineItemId field type changed from String! to String
  • [GraphQL API] Changed the SetStagedOrderLineItemPrice type:
    • SetStagedOrderLineItemPrice.lineItemId input field type changed from String! to String
    • Input field lineItemKey was added to SetStagedOrderLineItemPrice type
  • [GraphQL API] Changed the SetOrderLineItemCustomField type:
    • Input field lineItemKey was added to SetOrderLineItemCustomField type
    • SetOrderLineItemCustomField.lineItemId input field type changed from String! to String
  • [GraphQL API] Changed the SetStagedOrderLineItemDistributionChannel type:
    • Input field lineItemKey was added to SetStagedOrderLineItemDistributionChannel type
    • SetStagedOrderLineItemDistributionChannel.lineItemId input field type changed from String! to String
  • [GraphQL API] Changed the SetCartLineItemSupplyChannel type:
    • SetCartLineItemSupplyChannel.lineItemId input field type changed from String! to String
    • Input field lineItemKey was added to SetCartLineItemSupplyChannel type
  • [GraphQL API] Changed the ChangeStagedOrderLineItemQuantityOutput type:
    • Added the lineItemKey field to the ChangeStagedOrderLineItemQuantityOutput type.
    • ChangeStagedOrderLineItemQuantityOutput.lineItemId field type changed from String! to String
  • [GraphQL API] Changed the SetStagedOrderLineItemTaxAmountOutput type:
    • SetStagedOrderLineItemTaxAmountOutput.lineItemId field type changed from String! to String
    • Added the lineItemKey field to the SetStagedOrderLineItemTaxAmountOutput type.
  • [GraphQL API] Changed the SetCartLineItemInventoryMode type:
    • SetCartLineItemInventoryMode.lineItemId input field type changed from String! to String
    • Input field lineItemKey was added to SetCartLineItemInventoryMode type
  • [GraphQL API] Changed the SetStagedOrderLineItemPriceOutput type:
    • Added the lineItemKey field to the SetStagedOrderLineItemPriceOutput type.
    • SetStagedOrderLineItemPriceOutput.lineItemId field type changed from String! to String
  • [GraphQL API] Changed the RemoveStagedOrderLineItemOutput type:
    • Added the lineItemKey field to the RemoveStagedOrderLineItemOutput type.
    • RemoveStagedOrderLineItemOutput.lineItemId field type changed from String! to String
  • [GraphQL API] Changed the ChangeCartLineItemQuantity type:
    • ChangeCartLineItemQuantity.lineItemId input field type changed from String! to String
    • Input field lineItemKey was added to ChangeCartLineItemQuantity type
  • [GraphQL API] Changed the SetOrderLineItemShippingDetails type:
    • Input field lineItemKey was added to SetOrderLineItemShippingDetails type
    • SetOrderLineItemShippingDetails.lineItemId input field type changed from String! to String
  • [GraphQL API] Changed the SetStagedOrderLineItemCustomTypeOutput type:
    • Added the lineItemKey field to the SetStagedOrderLineItemCustomTypeOutput type.
    • SetStagedOrderLineItemCustomTypeOutput.lineItemId field type changed from String! to String
  • [GraphQL API] Changed the SetStagedOrderLineItemDistributionChannelOutput type:
    • Added the lineItemKey field to the SetStagedOrderLineItemDistributionChannelOutput type.
    • SetStagedOrderLineItemDistributionChannelOutput.lineItemId field type changed from String! to String
  • [GraphQL API] Changed the SetStagedOrderLineItemShippingDetailsOutput type:
    • SetStagedOrderLineItemShippingDetailsOutput.lineItemId field type changed from String! to String
    • Added the lineItemKey field to the SetStagedOrderLineItemShippingDetailsOutput type.
  • [GraphQL API] Changed the SetOrderLineItemCustomType type:
    • Input field lineItemKey was added to SetOrderLineItemCustomType type
    • SetOrderLineItemCustomType.lineItemId input field type changed from String! to String
  • [GraphQL API] Changed the SetStagedOrderLineItemTotalPrice type:
    • SetStagedOrderLineItemTotalPrice.lineItemId input field type changed from String! to String
    • Input field lineItemKey was added to SetStagedOrderLineItemTotalPrice type
  • [GraphQL API] Changed the SetCartLineItemPrice type:
    • SetCartLineItemPrice.lineItemId input field type changed from String! to String
    • Input field lineItemKey was added to SetCartLineItemPrice type
  • [GraphQL API] Changed the SetStagedOrderLineItemTaxRate type:
    • SetStagedOrderLineItemTaxRate.lineItemId input field type changed from String! to String
    • Input field lineItemKey was added to SetStagedOrderLineItemTaxRate type
  • [GraphQL API] Changed the RemoveCartLineItem type:
    • Input field lineItemKey was added to RemoveCartLineItem type
    • RemoveCartLineItem.lineItemId input field type changed from String! to String

The following changes were introduced in terms of GraphQL SDL:

extend type SetStagedOrderLineItemTaxRateOutput {
lineItemKey: String
}
extend type SetStagedOrderLineItemPriceOutput {
lineItemKey: String
}
extend type RemoveStagedOrderLineItemOutput {
lineItemKey: String
}
extend type SetStagedOrderLineItemCustomTypeOutput {
lineItemKey: String
}
extend type SetStagedOrderLineItemCustomFieldOutput {
lineItemKey: String
}
extend type SetStagedOrderLineItemTotalPriceOutput {
lineItemKey: String
}
extend type ChangeStagedOrderLineItemQuantityOutput {
lineItemKey: String
}
extend type SetStagedOrderLineItemTaxAmountOutput {
lineItemKey: String
}
extend type SetStagedOrderLineItemDistributionChannelOutput {
lineItemKey: String
}
extend type SetStagedOrderLineItemShippingDetailsOutput {
lineItemKey: String
}
extend input RemoveStagedOrderLineItem {
lineItemKey: String
}
extend input SetCartLineItemTaxAmount {
lineItemKey: String
}
extend input SetStagedOrderLineItemCustomType {
lineItemKey: String
}
extend input SetCartLineItemInventoryMode {
lineItemKey: String
}
extend input SetCartLineItemCustomField {
lineItemKey: String
}
extend input ChangeCartLineItemQuantity {
lineItemKey: String
}
extend input SetOrderLineItemShippingDetails {
lineItemKey: String
}
extend input ChangeStagedOrderLineItemQuantity {
lineItemKey: String
}
extend input SetCartLineItemShippingDetails {
lineItemKey: String
}
extend input SetCartLineItemTotalPrice {
lineItemKey: String
}
extend input SetCartLineItemTaxRate {
lineItemKey: String
}
extend input SetStagedOrderLineItemShippingDetails {
lineItemKey: String
}
extend input SetStagedOrderLineItemCustomField {
lineItemKey: String
}
extend input SetCartLineItemCustomType {
lineItemKey: String
}
extend input SetCartLineItemDistributionChannel {
lineItemKey: String
}
extend input SetCartShippingMethodTaxRate {
shippingKey: String
}
extend input SetStagedOrderLineItemTaxAmount {
lineItemKey: String
}
extend input ApplyCartDeltaToLineItemShippingDetailsTargets {
lineItemKey: String
}
extend input SetStagedOrderLineItemPrice {
lineItemKey: String
}
extend input SetOrderLineItemCustomField {
lineItemKey: String
}
extend input SetStagedOrderLineItemDistributionChannel {
lineItemKey: String
}
extend input SetCartLineItemSupplyChannel {
lineItemKey: String
}
extend input SetOrderLineItemCustomType {
lineItemKey: String
}
extend input SetStagedOrderLineItemTotalPrice {
lineItemKey: String
}
extend input SetCartLineItemPrice {
lineItemKey: String
}
extend input SetCartShippingMethodTaxAmount {
shippingKey: String
}
extend input SetStagedOrderLineItemTaxRate {
lineItemKey: String
}
extend input RemoveCartLineItem {
lineItemKey: String
}