Retrieve Multiple Product Details (POST)

Use the Bulk Product Details API to provide customers with details of multiple products for comparing features and prices side by side. The API gets the details of multiple products at once based on the product IDs provided. The API takes multiple product IDs as a request and provides the details of all products as per the requested resource.
Resource
1/connect/consumer/products/bulk
Resource example
1https://yourInstance.salesforce.com/services/data/v66.0/connect/consumer/products/bulk
Available version
66.0
HTTP methods
POST
Request body for POST
JSON example
1"bulkProductSpecificationsRequest": {
2  "productData": [
3    {
4      "productId": "01txx0000006ivJAAQ",
5      "productSellingModelId": "0jPxx000000009hEAA"
6    },
7    {
8      "productId": "01txx0000006ivLAAQ",
9      "productSellingModelId": "0jPxx000000009iEAABB"
10    }
11  ],
12  "correlationId": "de9a674c-1807-438c-ac78-2c96f4655325",
13  "priceBookId" : "01sxx0000005qxxAAA",
14  "userContext": {
15      "accountId": "001xx0000000001AAA",
16      "contactId": "003xx00000000D7AAI"
17  }
18}
This example shows a sample request with proration policy details requested through the additionalFields property.
1{
2  "additionalFields": {
3    "ProductSellingModelOption": {
4      "additionalFields": {
5        "ProrationPolicy": {
6          "fields": [
7            "ArePartialPeriodsAllowed",
8            "ProrationPolicyType"
9          ]
10        }
11      }
12    }
13  },
14  "productData": [
15    {
16      "productId": "01txx0000006ivJAAQ",
17      "productSellingModelId": "0jPxx000000009hEAA"
18    },
19    {
20      "productId": "01txx0000006ivLAAQ",
21      "productSellingModelId": "0jPxx000000009iEAABB"
22    }
23  ],
24  "correlationId": "de9a674c-1807-438c-ac78-2c96f4655325",
25  "priceBookId": "01sxx0000005qxxAAA",
26  "userContext": {
27    "accountId": "001xx0000000001AAA",
28    "contactId": "003xx00000000D7AAI"
29  }
30}
Properties
Name Type Description Required or Optional Available Version
additional​ContextData Context Data Input[] Additional nodes to add to the custom or default context definition. This data is appended to the context input and sent for hydration and qualification. The maximum limit of supported nodes is 10. Optional 61.0
additional​Fields Map<String, Additional Fields Input>

Additional standard or custom fields of the Product2 object to include in the response. The field values are returned in the response for each of the products.

In API version 66.0 and later, you can request proration policy details in the response for each product selling model option through this property.

Optional 61.0
context​Definition String Name of the custom context definition that’s sent for the context creation. If unspecified, the default context definition is used. Optional 61.0
context​Mapping String

Context mapping details from the context definition. If specified, the API validates if the context mapping belongs to the specified context definition and considers the mapping for hydration.

If unspecified, the default context mapping of the context definition is used.

Optional 61.0
correlation​Id String Unique token to track and associate related events or transactions across different components of the application. If unspecified, a Universally Unique Identifier (UUID) is generated. Optional 61.0
currency​Code String Currency code to consider for pricing and filtering. Optional 61.0
enable​Pricing Boolean Indicates whether to enable pricing for the products (true) or not (false). The default value is true.

The Pricing Procedure toggle from the Product Discovery Settings page from Setup overrides this property. For example, if the Pricing Procedure toggle is disabled, then setting the enablePricing property to true has no effect and the prices property in the API response is returned empty.

Optional 61.0
enable​Qualification Boolean Indicates whether to enable qualification rules for the products (true) or not (false). The default value is true.

The Qualification Procedure toggle from the Product Discovery Settings page from Setup overrides this property. For example, if the Qualification Procedure toggle is disabled, then setting the enableQualification property to true has no effect and the qualificationContext property in the API response isn’t returned.

Optional 61.0
price​BookId String ID of the price book to fetch the prices from. Optional 61.0
pricing​Procedure String Name of the custom pricing procedure to send for processing. If unspecified, the default pricing procedure is executed. Optional 61.0
product​Data Product Data Input[] List of maps that contain product IDs and product selling model IDs. Required 61.0
qualification​Procedure String Name of the custom qualification procedure to send for processing. If unspecified, the default qualification procedure is executed. Optional 61.0
user​Context User Context Input[] User context details. For example, account ID or contact ID. Optional 61.0
Response body for POST
Bulk Product Details