For all disqualified promotions or products, get a message about which rule conditions failed. Return information about why a product or promotion was disqualified.
GET /v2/cpq/carts/{cart_ID}/products/{pricebook_entry_ID}?include=qualifications&ruleType=Qualification
or
GET v2/cpq/carts/{cart_ID}/promotions/{promotion_ID}?include=qualifications&ruleType=Qualification
This API supports the guest user enhancements that Salesforce introduced with the Winter ‘21 release. To encrypt and decrypt data for guest users, use the UserSecurity class with this API. See Guest User Technical Details.
For additional information, see UserSecurity Class and CPQ and Digital Commerce Changes for Guest Users.
Remote Method
getRuleMessages
REST Handler
APIProductsCartsCpqV2
Apex Remote Service
CpqAppHandler
Apex Remote Input Map
{
methodName: getRuleMessages
ruleEvaluationInput: null
ruleType: Qualification
include: qualifications
id: <pricebookentryId/promotionId>
cartId:<cartId>
}
Package
Communications (vlocity_cmt)
API Parameters and Response Format
For API parameter names and descriptions, see Cart-Based API Swagger Reference.
Resource Information
| Response Format | JSON |
|---|---|
| Resource URL | /services/apexrest/{namespace}/v2/cpq/carts/801f4000000kCNPAA2/products/01uf4000000sMtjAAE?include=qualifications&ruleType=Qualification |
| Resource URL | /services/apexrest/{namespace}/v2/cpq/carts/801f4000000kCNPAA2/promotions/a2ff4000000LUCDAA4?include=qualifications&ruleType=Qualification |
Example Request
GET
/services/apexrest/vlocity_cmt/v2/cpq/carts/801f4000000kCNPAA2/products/01uf4000000sMtjAAE?include=qualifications&ruleType=Qualification
Example Response
{
"totalSize": 1,
"messages": [],
"records": [{
"messages": [],
"displaySequence": -1,
"id": "01uf4000000sMtjAAE",
"name": "TestProd-2",
"product2id": "01tf4000000YyZyAAK",
"product2.description": "TestProd-2",
"qualifications": {
"totalSize": 1,
"messages": [],
"records": [{
"messages": [{
"severity": "WARN",
"messageId": null,
"message": "ruleset: accName is not acc-4",
"code": "207",
"bundleId": null,
"actions": {}
}],
"displaySequence": -1,
"name": "Ruleset-5",
"type": "ruleset",
"qualifications": {
"totalSize": 1,
"messages": [],
"records": [{
"messages": [{
"severity": "WARN",
"messageId": null,
"message": "accountName is not acc-4",
"code": "207",
"bundleId": null,
"actions": {}
}],
"displaySequence": -1,
"name": "accountName is acc-4",
"code": "accountName is acc-4",
"type": "rule",
"qualifications": {
"totalSize": 2,
"messages": [],
"records": [{
"messages": [{
"severity": "WARN",
"messageId": null,
"message": "rsCond: accName is not acc-4",
"code": "301",
"bundleId": null,
"actions": {}
}],
"displaySequence": -1,
"code": "accountName is acc-4-con-1",
"type": "rulecondition"
}, {
"messages": [{
"severity": "WARN",
"messageId": null,
"message": "channel is not web",
"code": "301",
"bundleId": null,
"actions": {}
}],
"displaySequence": -1,
"code": "cod-2-1-1",
"type": "rulecondition"
}]
}
}]
}
}]
}
}]
}