All Release Notes

Added support for updating a Customer on Quotes and Quote Requests

26 May 2023
Composable Commerce
HTTP API
Enhancement
GraphQLB2BQuotes

We introduced functionality to enable the reassignment of B2B Quotes and Quote Requests. This enhancement ensures that the Customer on a Quote or Quote Request can be updated in the event that they leave their Business Unit. The new Change Customer update action is available on Quote and Quote Request.

The new ReassignMyQuotes and ReassignOthersQuotes Permissions determine the ability to reassign a Quote within the context of a Business Unit. To enhance visibility and tracking, we have introduced two new Messages: QuoteRequestCustomerChanged and QuoteCustomerChanged. These Messages are triggered whenever a Quote or Quote Request's Customer is modified.

These enhancements improve the management of B2B Quotes within Composable Commerce, ensuring that Quotes and Quote Requests remain connected to the appropriate Associates even during organizational changes.

Changes:

  • [API] Added the Change Customer update action to Quote.
  • [API] Added the Change Customer update action to Quote Requests.
  • [API] Added ReassignMyQuotes and ReassignOthersQuotes Permissions.
  • [API] Added QuoteRequestCustomerChanged and QuoteCustomerChanged Messages.
  • [GraphQL API] Added the following types to the GraphQL schema: ChangeQuoteCustomer, ChangeQuoteRequestCustomer.
  • [GraphQL API] Changed the Permission type:
    • Enum value ReassignOthersQuotes was added to enum Permission
    • Enum value ReassignMyQuotes was added to enum Permission
  • [GraphQL API] Changed the QuoteRequestUpdateAction type:
    • Input field changeCustomer was added to QuoteRequestUpdateAction type
  • [GraphQL API] Changed the QuoteUpdateAction type:
    • Input field changeCustomer was added to QuoteUpdateAction type

The following changes were introduced in terms of GraphQL SDL:

extend input QuoteRequestUpdateAction {
changeCustomer: ChangeQuoteRequestCustomer
}
extend input QuoteUpdateAction {
changeCustomer: ChangeQuoteCustomer
}
extend enum Permission {
ReassignMyQuotes
ReassignOthersQuotes
}
input ChangeQuoteCustomer @ignoreDraftConventionValidation {
customer: ResourceIdentifierInput!
}
input ChangeQuoteRequestCustomer @ignoreDraftConventionValidation {
customer: ResourceIdentifierInput!
}