CpqConfigurationType
A live product configuration session. Every call that touches it answers the whole re-evaluated state, so replace what is held rather than merging into it.
type CpqConfigurationType {
configurationId: String!
expiresAt: DateTimeOffset!
isValid: Boolean!
articleNumber: String
quantity: Decimal!
unitPrice: PriceType
discountPercent: Decimal
weightPerUnit: Decimal
templateId: String
templateVersion: String
messages: [CpqMessageType]
sections: [CpqSectionType]
}
Fields
configurationId ● String! non-null scalar required
The session id. Every later call on this configuration takes it.
expiresAt ● DateTimeOffset! non-null scalar required
When the session stops answering and the shopper has to start a new one. Push it out with renewConfiguration.
isValid ● Boolean! non-null scalar required
'true' when the configuration is complete enough to be committed and ordered
articleNumber ● String scalar
The article number of the product being configured
quantity ● Decimal! non-null scalar required
How many of the configured product are being ordered
unitPrice ● PriceType object
What one configured product costs according to the ERP. cpq reports net only, so the inc-VAT side is worked out here from the article's VAT rate in this market, and equals the net where no Geins product carries one. 'regularPrice' and 'isDiscounted' reconstruct 'discountPercent'.
discountPercent ● Decimal scalar
The discount the ERP applied, in percent
weightPerUnit ● Decimal scalar
The weight of one configured product, in the ERP's own unit
templateId ● String scalar
The provider template this configuration was opened from
templateVersion ● String scalar
The version of the provider template this configuration was opened from
messages ● [CpqMessageType] list object
Messages about the configuration as a whole
sections ● [CpqSectionType] list object
The configuration's top level sections
Returned By
apply mutation ● create mutation ● get query ● reopen mutation