Product Recommendations (POST)

Get a list of recommended products based on your underlying business rules.

This API returns a list of products based on the current quote or order and applicable constraint rules, along with the recommendation reasons and compatibility indicators. This enables sales reps to define accurate and complete, quoting process, minimizing both manual effort and errors.

Resource 

1/revenue/product-discovery/products/recommendations

Resource Example 

1https://{yourInstance}.salesforce.com/services/data/v67.0/revenue/product-discovery/products/recommendations

Available Version 

67.0

HTTP Methods 

POST

Request Body for POST 

JSON Example

1{
2  "currencyCode": "USD",
3  "enablePricing": true,
4  "enableQualification": true,
5  "filter": {
6    "criteria": [
7      {
8        "property": "isActive",
9        "operator": "eq",
10        "value": true
11      },
12      {
13        "property": "isQualified",
14        "operator": "eq",
15        "value": true
16      }
17    ]
18  },
19  "limit": 12,
20  "priceBookId": "01sSG00000DQCjhYAH",
21  "transactionId": "0Q0SG0000014Ui50AE"
22}

Properties

NameTypeDescriptionRequired or OptionalAvailable Version
additionalContextDataContext Data Input[]Additional nodes that are added to the custom or default context definition. The maximum number of supported nodes is 10.Optional67.0
additionalFieldsMap<String, AdditionalFieldsInputRepresentation>Additional standard or custom fields of the Product2 object to include in the response. If the requested fields are invalid or access to fields isn’t available, then the API throws an error.Optional67.0
catalogIdStringID of the catalog to fetch the recommended products from.Optional67.0
contextDefinitionStringAPI name of the custom context definition that’s sent for context creation. If you don’t specify this property, then the default context definition is used.Optional67.0
contextMappingStringDefault context mapping of the context definition. If you specify a context mapping, then the API checks whether the mapping belongs to the specified context definition to process the details for hydration.Optional67.0
currencyCodeStringCurrency code that’s considered for pricing and filtering request. If multiple currencies are enabled in the org, then the currencyCode property is required. If you don’t specify a currency code, then the value is fetched from the account.Optional67.0
cursorStringUnique ID to represent the position of each product in the data set.Optional67.0
enablePricingBooleanIndicates whether to enable pricing for products in orgs where Salesforce Pricing is enabled (true) or not (false). Set the value to false to skip the execution of Salesforce Pricing. In orgs where Salesforce Pricing is disabled, you can’t override this value to true. The default value is true.Optional67.0
enableQualificationBooleanIndicates whether to enable qualification rules for products in orgs where Qualification Procedure is enabled (true) or not (false). Set the value to false to skip the execution of Business Rules Engine qualification rules. In orgs where Qualification Procedure is disabled, you can’t override this value to true. The default value is true.Optional67.0
filterFilter Input[]Filters records based on supported criteria. The supported property is name. The supported operators are eq, in, or contains—This value isn’t applicable if the Use Indexed Data For Product Listing and Search toggle from the Product Discovery Settings page from Setup is enabled. If you specify multiple criteria, then the resultant criteria are combined by using the and operator.Optional67.0
limitIntegerNumber of recommended products to include in the response. The default value is 10.Optional67.0
priceBookIdStringID of the price book to get prices from. If you don’t specify a price book ID, then prices from the standard price book are fetched.Optional67.0
pricingProcedureStringAPI name of the custom pricing procedure that’s used for the pricing process. If you don’t specify this property, then the default pricing procedure is executed.Optional67.0
qualificationProcedureStringAPI name of the custom qualification procedure that’s used for the product qualification process. If you don’t specify this property, then the default qualification procedure is executed.Optional67.0
transactionContextIdStringID of the sales transaction context instance.Optional67.0
transactionIdStringID of the quote or order.Optional67.0
usePromotionsBooleanIndicates whether to fetch applicable promotions from Global Promotion Management (GPM) for the guided selection (true) or not (false). The default value is false.Optional67.0
userContextUser Context Input[]User context details. For example, account ID or contact ID.Optional67.0

Response Body for POST 

Product Recommendations