5 August 2022
Composable Commerce
HTTP API
Enhancement
QuotesGraphQL

You can now set States reflecting custom business logic on QuoteRequests, StagedQuotes, and Quotes.

Changes:

  • [API] Added optional field state to QuoteRequest, StagedQuote and Quote.

  • [API] Added optional field state to QuoteRequestDraft, StagedQuoteDraft and QuoteDraft.

  • [API] Added Transition State update action to QuoteRequest, StagedQuote and Quote.

  • [API] Added QuoteRequestStateTransition Message, StagedQuoteStateTransition Message and QuoteStateTransition Message.

  • [GraphQL API] Added the following types to the GraphQL schema: TransitionQuoteRequestState, TransitionQuoteState and TransitionStagedQuoteState.

  • [GraphQL API] Changed the QuoteRequestDraft type:

    • Input field state was added to QuoteRequestDraft type
  • [GraphQL API] Changed the StagedQuoteUpdateAction type:

    • Input field transitionState was added to StagedQuoteUpdateAction type
  • [GraphQL API] Changed the QuoteRequestUpdateAction type:

    • Input field transitionState was added to QuoteRequestUpdateAction type
  • [GraphQL API] Changed the StateType type:

    • Enum value QuoteRequestState was added to enum StateType
    • Enum value QuoteState was added to enum StateType
    • Enum value StagedQuoteState was added to enum StateType
  • [GraphQL API] Changed the QuoteUpdateAction type:

    • Input field transitionState was added to QuoteUpdateAction type
  • [GraphQL API] Changed the QuoteRequest type:

    • Added the state field to the QuoteRequest type.
    • Added the stateRef field to the QuoteRequest type.
  • [GraphQL API] Changed the StagedQuoteDraft type:

    • Input field state was added to StagedQuoteDraft type
  • [GraphQL API] Changed the StagedQuote type:

    • Added the state field to the StagedQuote type.
    • Added the stateRef field to the StagedQuote type.
  • [GraphQL API] Changed the QuoteDraft type:

    • Input field state was added to QuoteDraft type
  • [GraphQL API] Changed the Quote type:

    • Added the state field to the Quote type.
    • Added the stateRef field to the Quote type.

The following changes were introduced in terms of GraphQL SDL:

extend type StagedQuote {
  state: State
  stateRef: Reference
}

extend type Quote {
  state: State
  stateRef: Reference
}

extend type QuoteRequest {
  state: State
  stateRef: Reference
}

extend input QuoteRequestDraft {
  state: ReferenceInput
}

extend input StagedQuoteUpdateAction {
  transitionState: TransitionStagedQuoteState
}

extend input QuoteRequestUpdateAction {
  transitionState: TransitionQuoteRequestState
}

extend input StagedQuoteDraft {
  state: ReferenceInput
}

extend input QuoteDraft {
  state: ReferenceInput
}

extend input QuoteUpdateAction {
  transitionState: TransitionQuoteState
}

extend enum StateType {
  QuoteRequestState
  QuoteState
  StagedQuoteState
}

input TransitionQuoteRequestState {
  state: ResourceIdentifierInput!
  force: Boolean = false
}

input TransitionQuoteState {
  state: ResourceIdentifierInput!
  force: Boolean = false
}

input TransitionStagedQuoteState {
  state: ResourceIdentifierInput!
  force: Boolean = false
}