All Release Notes

Introduced My Quotes in beta

10 October 2022
Composable Commerce
HTTP API
New feature
Quotes

The My Quotes API provides access to Quotes scoped to a specific user. Using the My Quotes endpoints, Buyers can view and update Quotes that they have access to. By updating the state of the Quote, Buyers can indicate whether they accept or decline a given Quote.

Changes:

  • [API] Added My Quotes API.
  • [API] Added MyOrderFromQuoteDraft to My Orders.
  • [API] Added Create Order from Quote endpoint to My Orders.
  • [GraphQL API] Added the following types to the GraphQL schema: ChangeMyQuoteMyQuoteState, MyQuoteState, MyQuoteUpdateAction, OrderMyQuoteCommand
  • [GraphQL API] Changed the Me type:
    • Added the quote field to the Me type.
    • Added the quotes field to the Me type.
  • [GraphQL API] Changed the Mutation type:
    • Added the updateMyQuote field to the Mutation type.

The following changes were introduced in terms of GraphQL SDL:

extend type Me {
"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta"
quote(
"Queries with specified ID"
id: String,
"Queries with specified key"
key: String): Quote
"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta"
quotes(where: String, sort: [String!], limit: Int, offset: Int): QuoteQueryResult!
}
extend type Mutation {
"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta"
createMyOrderFromQuote(draft: OrderMyQuoteCommand!): Order
"Queries with specified key"
key: String): StagedQuote
updateMyQuote(version: Long!, actions: [MyQuoteUpdateAction!]!
}
input ChangeMyQuoteMyQuoteState {
quoteState: MyQuoteState!
}
input ChangeQuoteState {
quoteState: MyQuoteState!
}
enum MyQuoteState {
Accepted
Declined
}
input MyQuoteUpdateAction {
changeMyQuoteState: ChangeMyQuoteMyQuoteState
setCustomField: SetQuoteCustomField
setCustomType: SetQuoteCustomType
requestQuoteRenegotiation: RequestQuoteRenegotiation
}
input OrderMyQuoteCommand {
id: String!
version: Long!
}