Configuration Run-Time Data REST APIs

Overview

Oracle CPQ exposes Configuration objects and configuration data through REST APIs and RESTful standards. The REST APIs provide a new, modern way to access Configuration information. With appropriate HTTP Basic authentication, any other third-party system can make use of these services.

The Configuration Run-Time Data endpoints expose information and perform an action for a model. All Configuration Run-Time Data REST APIs follow a required product hierarchy starting with the product family then product line followed by the model. A variable name for the product entity is required. For example, /config{prodFamVarName}.(prodLineVarName}.{modelVarName}/ is the standard Configuration Run-Time Data product path for an endpoint URL.

ClosedConfiguration REST API Hierarchy

Configuration endpoints expose definition information for the Configuration Product Families, Product Lines, Models, attributes, array sets, menu items and translations. The information for these items is organized in a hierarchical structure. The following image displays the hierarchical relationship for Configuration REST API services.

Configuration REST API Hierarchy

Configuration Product REST API query parameters are supported to include and exclude child resources in a given resource. The response for each level in the hierarchy can include the details of the sub resources based on the query parameter passed in the request.

The Configuration Product Query parameter to include sub resource is "expand". The Configuration Product Query parameter to exclude the link is "excludeLinks". For information about REST API query parameters, see Manage Collections.


Administration

The endpoint for each REST API appends onto https://{siteurl}, where {siteurl} is the base URL of the Oracle CPQ site.

ClosedAdd from Catalog (Configuration) Not supported after v7

Add from Catalog (Configuration)POST method

Description

The action is used for processing Model configuration and must be used in conjunction with the Add from Catalog API of Commerce Transaction or Transaction line.

This endpoint is not supported after v7, use the 'Configure a Model' endpoint instead.

URI Endpoint

/rest/v7/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/actions/_addFromCatalog

Endpoint Parameters

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

HTTP Method

POST

Request Body Parameters

bsId

Buyside Identifier (Required)

documentId

The unique Identifier of the Main document or Sub Document (Required)

configData

Top-level object in the payload containing the configuration data.

criteria

Top level object that captures the query definition for the current resource request.

Response Body Parameters

bsId

Buyside Identifier

configData

Top-level object in the payload containing the configuration data.

processId

The process Identifier

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.
In 19B the rest version is updated to v8. The Add from Catalog endpoint is not supported in version 8, instead the Add from Catalog flow is supported using the Configure a Model endpoint and request payload parameters.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v7/configvision.servers.ultraPowerSolutionPackage/actions/_addFromCatalog


ClosedRequest Body Sample

{ "bsId": 21223994, "documentId": 18319026, "configData": { "serverPerformance": { "value": "Mid Range", "displayValue": "Mid Range" } }, "criteria": { "state": true, "fields": ["supportLevel", "powerSupply"], "childDefs": [{ "name": "_priceInfo" }, { "name": "_recmdModels" }, { "name": "_mandatoryModels" }, { "name": "_recmdParts" }, { "name": "_mandatoryParts" }, { "name": "_bom" } ] } }


Text file iconResponse Body Sample


ClosedAdd Model to Favorites

Add Model to FavoritesPOST method

Description

This action adds the current valid model configuration to the Favorites list.

The process invocation ID defined as the target for the Favorites is used. The response includes the Favorite ID and the destination URL.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/actions/_cm_{invocation_id}

Endpoint Parameters

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

invocation_id

The process invocation ID for the Favorite list

Note: This is the Identifier of an action defined for a page in the Process Invocation metadata API.

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions. (Required)

criteria

Top level object that captures the query definition for the current resource request.

delta

This boolean parameter is used to obtain only the partial response containing the attributes that are affected by rules.

Response Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.

FavoriteId

The unique identifier for the Favorite list

destinationUrl

The source identified by the action that launched the Configuration or Transaction

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/actions/_cm_21734357


ClosedRequest Body Sample

{ "cacheInstanceId": "TyorT0UiW6H2ahn6Io2hm44KpkPZmpcwBgs8P7csERyRfXTpOWyOaOVpnv7XZvTH", "criteria": { "state": true, "childDefs": [{ "name": "_priceInfo" }, { "name": "_recmdModels" }, { "name": "_mandatoryModels" }, { "name": "_recmdParts" }, { "name": "_mandatoryParts" }, { "name": "_bom" } ] }, "delta": true }


ClosedResponse Body Sample

{ "cacheInstanceId": "8xJxmWo7cN5P0ozcMmBBu6UpMj5XVo1EBzkqhLMKOJPPzNaxrMuSABD7YgGGdGRb", "destinationUrl": "https://sitename.oracle.com/commerce/buyside/commerce_list.jsp?id=21734357", "FavoriteId": 21734357 }


ClosedAdd Row to Array Set

Add Row to Array SetPOST method

Description

This action allows addition of a new index or row for a given Array set.

The Array set attributes must contain a "_set" prefix, for example,"_setMyArrayset".

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/_set{arraySetVarName)/actions/_add

Endpoint Parameters

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

arraySetVarName

The variable name of the array set

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions. (Required)

Response Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.

items

A top-level object in the payload containing the index of the element in the array set and the array definitions.

ClosedURI Endpoint Sample adding an row in the "applicationSoftware" array set

https://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/_setapplicationSoftware/actions/_add


ClosedRequest Body Sample

{ "cacheInstanceId": "WOSeTwyqtdOO2BnrSShDZoRTTVq4oj1tSfGP3bjdSTUxJFiU4SkYcTgUuC8QZgZW" }


ClosedResponse Body Sample

{ "items": [{ "_index": 0, "softwarePackage_array": { "value": "Cloud Management", "displayValue": "Cloud Management" }, "licenses_array": 1, "maintenance_array": "Data Protection Software Maintenance", "qty_array": 1, "startDate_array": "2018-12-06", "endDate_array": "2021-12-05" }, { "_index": 1, "softwarePackage_array": { "value": "Storage Resource Management", "displayValue": "Storage Resource Management" }, "licenses_array": 1, "maintenance_array": "Storage Resource Management Software Maintenance", "qty_array": 1, "startDate_array": "2018-12-06", "endDate_array": "2018-12-06" } ], "cacheInstanceId": "WOSeTwyqtdOO2BnrSShDZoRTTVq4oj1tSfGP3bjdSTUxJFiU4SkYcTgUuC8QZgZW" }


ClosedAdd Configuration Data to Transaction

Add Configuration Data to Transaction POST method

Description

This action is used for adding the current state of latest configuration data to the Transaction. This is typically used in conjunction with the Add from Catalog API of Commerce Transaction or Transaction line.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/actions/_addToTxn

Endpoint Parameters

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions. (Required)

Response Body Parameters

bsId

Buyside Identifier

destinationUrl

For internal use only

documentId

The unique identifier of the Main document or Sub Document

processId

The process Identifier

processVarName

The variable name of the process

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/actions/_addToTxn


ClosedRequest Body Sample

{ "cacheInstanceId": "DJy4zFjQqMgkfCXYAD9OgKf3Teyqcnvi3QtQ1nJICFjs2MsvNWecrsHJYw7sLKul" }


ClosedResponse Body Sample when no errors are present in the Configuration

{ "destinationUrl": "https://sitename.oracle.com/commerce/buyside/document.jsp", "bsId": 36738986, "processId": 36244034 }


ClosedCancel (Configuration)

Cancel (Configuration)POST method

Description

This action is available during reconfiguration of the Model from Commerce Transaction. This action acts as Undo operation for reconfiguration. Upon successful execution of this action, the state of the latest configuration data is canceled or ignored and navigation returns to the Transaction.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/actions/_cancel

Endpoint Parameters

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions. (Required)

Response Body Parameters

bsId

Buyside Identifier

processId

The process Identifier

destinationUrl

The source identified by the action that launched the Configuration or Transaction

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/actions/_cancel


ClosedRequest Body Sample

{ "cacheInstanceId": "DJy4zFjQqMgkfCXYAD9OgKf3Teyqcnvi3QtQ1nJICFjs2MsvNWecrsHJYw7sLKul" }


ClosedResponse Body Sample  when source is Transaction UI

{ "destinationUrl": "https://sitename.oracle.com/commerce/buyside/document.jsp", "bsId": 36738986, "processId": 36244034 }


ClosedConfiguration Integration

Configuration Integration POST method

Description

This action supports Configuration integration, such as with Salesforce, Oracle Sales, or Oracle CX Commerce, which is set up at the Product Family. The property fromPartner must to be set to true while running this REST call.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/actions/_integration_{integrationVarName}

Endpoint Parameters

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

integrationVarName

The variable name of the integration

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions. (Required)

Response Body Parameters

destinationUrl

The source identified by the action that launched the Configuration or Transaction

integrationPayload

The payload record for the integration

ClosedURI Endpoint Sample for Add to Cart

https://sitename.oracle.com/rest/v17/configlaptop.laptopConfiguration.sku50001/actions/_integration_addToCart


ClosedRequest Body Sample

{ "cacheInstanceId": "8PK7Jh2fSZTgE9MjmCwLcC7yqt7w7t0VSF1GdUeavvgvkrab0wxSIuquLWManmJh", "configData": { "includeBOM": true, "processor": { "value": "sku40002", "displayValue": "Intel Pentium i3" }, "memory_HardDisk": { "value": "sku40008", "displayValue": "500GB" }, "addBOMChild": false, "addBOMGrandchild": false, "memory_RAM": { "value": "sku40007", "displayValue": "8 GB Kingston Sodimm DDR3 1600MHz" }, "graphicsCard": { "value": "sku40011", "displayValue": "Intel HD Graphics Media Accelerator 4600" }, "addBOMGreatGrandchild": false, "currencyCode": "", "_isMainModelSelected": true, "addSkus": false }, "criteria": { "state": true, "childDefs": [{ "name": "_priceInfo" }, { "name": "_recmdModels" }, { "name": "_mandatoryModels" }, { "name": "_recmdParts" }, { "name": "_mandatoryParts" }, { "name": "_bom" } ] } }


ClosedResponse Body Sample

{ "destinationUrl": "https://transactionCloud.com", "integrationPayload": "21501698" }


ClosedConfigure Model

Configure ModelPOST method

Description

This action is used to configure a Model with appropriate inputs such as configurable attributes, punch-in parameters, and flow inputs for the execution of configuration rules, and generates the configuration data.

Note:Beginning in Oracle CPQ 20C, the headlessMode property replaces the legacyMode property in v10 Configuration REST APIs. If you explicitly set the legacyMode property in your REST calls, you need to remove the legacyMode property from v10 REST calls. If the legacyMode property is not removed, you will receive an invalid parameter error.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/actions/_configure

Endpoint Parameters

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

HTTP Method

POST

Request Body Parameters

assetKey

A key that uniquely identifies an asset component for the lifetime of the asset.

This parameter is used for external integration ABO asset modification flows.

bsId

Buyside Identifier (i.e. Commerce Transaction ID)

This parameter can be used for internal ABO asset modification and follow-on order flows.

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.

configContextKey

A key to the global cache entry which contains the projected BOM and configuration. It is used to pass ABO package data between Commerce and Configuration.

This parameter is used for internal ABO asset modification and follow-on order flows.

configData

A top-level object in the payload containing the configuration data.

criteria

A top-level object that captures the query definition for the current resource request.

documentId

The unique identifier of the Commerce Main document

fromPartner

This property indicates that configure is requested from partner site. The value is true for client-side integrations.

This value is automatically set to "true" when an assetKey is provided for external integration ABO asset modification flows.

fromPunchin

This property indicates that configure is requested from punch-in.

headlessMode

This boolean parameter determines the API execution behavior.

  • false, the API honors CPQ legacy Configuration Layout Flow behavior, with the relevant attribute values to be overridden as defined in the current CPQ legacy Configuration Layout Flow. This value will provide the behavior that legacyMode value of 'true' provided in previous versions of the API.

    The default value is 'false'.

  • true, the API does NOT send UI information or honor CPQ legacy Configuration Layout Flow.

modelPunchin

A top-level object that captures the punch-in parameters and flow inputs for the Model configuration. The fromPunchin parameter must be set to true in order to use this property.

_partner_pridebook_id

This field is used to map an external price book into configuration.

rootBomItemId

The identifier for the root BOM item.

This parameter is used for internal ABO asset modification and follow-on order flows.

transactionDate

The date and time that the service request needs to be processed or fulfilled.

This parameter is used for external integration ABO asset modification flows. This field is optional when an assetKey is provided and is not allowed when an assetKey is not provided.

transactionId

The current Transaction identifier for external process integrations.

This parameter is used for external integration ABO asset modification flows.

Response Body Parameters

configData

A top-level object in the payload containing the configuration data.

_flow

A top-level object that captures the configuration flow variable name for the current request.

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.

lastDeployedDate

The configured model's last deploy date.

systemCurrentDate

The system's current date.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/actions/_configure


ClosedRequest Body Sample

{ "cacheInstanceId": "-1",
  "fromPunchin": false, "modelPunchin": { "flowInputs": { "condition1": "true" }, "parameters": { "_variable_name_punchin": "true" }, "searchResults": { "textAttr1": "value1", "textAttr2": "value2" } }, "configData": { "serverCounter": 1, "powerSupply": { "value": "600W PSU", "displayValue": "600W PSU" }, "enclosure": "Vision Blade 6000 Chassis", "howMuchDataDoYouCurrentlyManageAndStore": { "value": "1 TB - 5 TB", "displayValue": "1 TB - 5 TB" }, "ram": { "value": "4 GB RAM", "displayValue": "4 GB RAM" }, "ramConfiguration": { "value": "2 Sticks", "displayValue": "2 Sticks" }, "slimFloppyDrive": false, "serverPerformance": { "value": "Entry Level", "displayValue": "Entry Level" }, "supportLevel": { "value": "Vision Gold", "displayValue": "Vision Gold" }, "oSLicenses": 1, "overrideLowQuantity": false, "howManyEmployeesDoYouHaveNow": { "value": "26 - 100", "displayValue": "26 - 100" }, "intSSPL": { "value": 5, "displayValue": "5" }, "applicationSoftwareCounter": 4, "blades_quantity": 1, "numberOfProcessors": { "value": 2, "displayValue": "2" }, "_setsampleSet1": { "items": [{ "index": 0, "arrayTxt": "Txt", "arrayInt": 1, "arrayBool": true, "arraySSM1": { "value": "B", "displayValue": "B" } } ] }, "_recmdModels": { "items": [{ "id": "model~recommendationRules~recommendedItems", "selected": "true" } ], "selectAll": true }, "_recmdParts": { "selectAll": false, "items": [{ "id": "part~Basic Pricing 04~recommendedItems", "selected": "true" } ] } }, "criteria": { "childDefs": [{ "name": "_setsampleSet1" } ], "expand": ["_recmdParts", "_recmdModels"] } }


ClosedResponse Body Sample

{ "cacheInstanceId": "aD4GoSUktOGhWkRSZIWZ67SPKHxx5MKQuATO9fZOK3X5UyZd2XlyR7RU45JaXGfq", "configData": { "serverCounter": 1, "powerSupply": { "value": "600W PSU", "displayValue": "600W PSU" }, "enclosure": "Vision Blade 6000 Chassis", "howMuchDataDoYouCurrentlyManageAndStore": { "value": "1 TB - 5 TB", "displayValue": "1 TB - 5 TB" }, "ram": { "value": "4 GB RAM", "displayValue": "4 GB RAM" }, "ramConfiguration": { "value": "2 Sticks", "displayValue": "2 Sticks" }, "slimFloppyDrive": false, "serverPerformance": { "value": "Entry Level", "displayValue": "Entry Level" }, "supportLevel": { "value": "Vision Gold", "displayValue": "Vision Gold" }, "oSLicenses": 1, "overrideLowQuantity": false, "howManyEmployeesDoYouHaveNow": { "value": "26 - 100", "displayValue": "26 - 100" }, "intSSPL": { "value": 5, "displayValue": "5", "links": [{ "rel": "related", "href": "http://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/_pickLists/intSSPL" } ] }, "applicationSoftwareCounter": 4, "blades_quantity": 1, "numberOfProcessors": { "value": 2, "displayValue": "2" }, "_isMainModelSelected": true, "sLACounter": 1, "hardDrives": { "value": "450 GB 15k HDD", "displayValue": "450 GB 15k HDD" }, "opticalDrive": { "value": "Yes", "displayValue": "Yes" }, "floatSSPL": { "value": 1.2, "displayValue": "1.2", "links": [{ "rel": "related", "href": "http://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/_pickLists/floatSSPL" } ] }, "cloudStorage": { "value": "500 GB", "displayValue": "500 GB" }, "modifyServiceDetails": false, "processors_selector": { "value": "All Processors", "displayValue": "All Processors" }, "doYouHaveAnyStorageAppliances": { "value": "No", "displayValue": "No" }, "operatingSystem_selector": { "value": "All Operating Systems", "displayValue": "All Operating Systems" }, "servicesRequested": { "items": [{ "value": "Network Technician", "displayValue": "Network Technician" } ] }, "cloudServiceType": { "value": "Fixed", "displayValue": "Fixed" }, "formFactor_selector": { "value": "All Form Factors", "displayValue": "All Form Factors" }, "processors": { "value": "Vision E3-2470 8 Cores 2.3 Ghz", "displayValue": "Vision E3-2470 8 Cores 2.3 Ghz" }, "operatingSystem": { "value": "Oracle Linux", "displayValue": "Oracle Linux" }, "advancedSearchDirections": "<h3 class='directions_sel'>Select one or more criteria below to find servers that meet your need.</h3>", "cloudBackup": true, "serverChassis_selector": { "value": "All Systems", "displayValue": "All Systems" }, "serverChassis": { "value": "Green Server 3500", "displayValue": "Green Server 3500" }, "volumePriceInformation": "<table id=\"osVolumeTable\" cellpadding=\"10\" border=\"0\"><tbody><tr><th colspan='2'>Volume Pricing</th></tr><tr><td class=\"osVolumeText\">Price Per Unit</td><td class=\"osCurrency\">$49.95</td></tr><tr><td class=\"osVolumeText\">Next Price Break</td><td class=\"osCurrency\">5 at $47.95</td></tr></tbody></table>", "rackEnclosures": { "value": "Vision Rack I 1012RU", "displayValue": "Vision Rack I 1012RU" }, "packagedSolutions": { "value": "Custom Configuration", "displayValue": "Customize" }, "condition1": "true", "textAttr1": "value1", "textAttr2": "value2", "_setsampleSet1": { "items": [{ "index": 0, "arrayTxt": "Txt", "arrayInt": 1, "arrayBool": true, "arrayCurr": null, "arraySSM1": { "value": "B", "displayValue": "B" } }, { "index": 1, "arrayTxt": null, "arrayInt": null, "arrayBool": false, "arrayCurr": null, "arraySSM1": { "value": "A", "displayValue": "A" } } ] }, "links": [{ "rel": "child", "href": "http://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/_bom" }, { "rel": "child", "href": "http://sitename.us.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/_recmdModels" }, { "rel": "child", "href": "http://sitename.us.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/_mandatoryModels" }, { "rel": "child", "href": "http://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/_recmdParts" }, { "rel": "child", "href": "http://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/_mandatoryParts" }, { "rel": "child", "href": "http://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/_pickLists" }, { "rel": "child", "href": "http://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/arraySet/applicationSoftware" }, { "rel": "child", "href": "http://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/arraySet/serviceDetails" }, { "rel": "child", "href": "http://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/arraySet/advancedServerConfiguration" } ], "servers_quantity": { "value": 1, "displayValue": "1" }, "redundantPowerSupply": false, "bladeEnclosureImage": "<img src=\"$BASE_PATH$/Dynamic/b1.jpg\" width='200px' />", "totalEquipmentFORRULES": 1 }, "_recmdParts": { "selectAll": true, "items": [{ "id": "part~part3~performanceAdvancedAction", "selected": "true", "partNumber": "part3", "comment": "Part returned from hardcoded recommended items action returning 3 parts", "price": { "value": 3.33, "currency": "USD" }, "extendedDescription1": "Extended description 1 for part3", "description": "", "directBuy": "Direct Buy", "quantity": 3, "_part_custom_field19": "Custom Field 19, part3", "_part_custom_field18": "Custom Field 18, part3", "_part_custom_field27": "Custom Field 27, part3", "_part_custom_field26": "Custom Field 26, part3", "_part_custom_field4": "", "_part_custom_field25": "Custom Field 25, part3", "_part_custom_field24": "Custom Field 24, part3", "_part_custom_field9": { "value": "100K Parts", "displayValue": "100K Parts" }, "_part_custom_field23": "Custom Field 23, part3", "_part_custom_field8": null, "_part_custom_field22": "Custom Field 22, part3" } ] } "systemCurrentDate": "2023-09-29", "lastDeployedDate": "2023-08-03T02:48:47.000Z", "_flow": { "flow": "default", "productFamily": "vision", "productLine": "servers", "model": "ultraPowerSolutionPackage", "allPF": false, "links": [{ "rel": "self", "href": "https://sitename.oracle.com/rest/v17/productFamilies/vision/productLines/servers/models/ultraPowerSolutionPackage/layouts/default" } ] } }


ClosedReconfigure a Model Line from a Transaction

This action provides the ability to reconfigure a Model Transaction Line from a Transaction.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/commerceDocumentsOraclecpqoTransaction/38458354/actions/_reconfigure_action


ClosedRequest Body Sample

{ "documents": { "Quote Name": "Pinnacle Technologies" }, "selections": ["transactionLine/2"] }


ClosedResponse Body Sample

{ "revisionId": "4,0", "documents": { "_id": 38458354, "transactionLine": { "items": [{ "_document_number": 2 } ] }, "links": [{ "rel": "self", "href": "https://sitename.oracle.com/rest/v17/commerceDocumentsOraclecpqoTransaction/38458354" } ] }, "warnings": {}, "cacheInstanceId": "wdDhTXWSfGMQROnPf4COEycFRYD0C6XD5OSJKMgqwczvkGpK8HJIuvcPFsiQ0baD", "destinationURL": "https://sitename.oracle.com/commerce/buyside/reconfig_form.jsp?action_id=36245411&document_number=1&document_id=36244074&id=38458354&proxy_submit_url=%2Fcommerce%2Fnew_equipment%2Fproducts%2Fmodel_configs.jsp&_line_item_list=2" }


ClosedAsset-Based Ordering Support

For Asset-Based Ordering, the Configure Model action is used when modifying an asset or creating a follow-on order.

Internal Asset Modification Flows

The Configure Model REST API accepts the following request body parameters for internal asset modification flows:

  • configContextKey - a key to the global cache entry which contains the projected BOM and configuration. It is used to pass ABO package data between Commerce and Configuration.
  • rootBomItemId – The identifier for the root BOM item.

For asset modification the "configContextKey" and "rootBomItemId" parameters are retrieved from the Modify Asset response. For follow-on orders the "configContextKey" and "rootBomItemId" parameters are retrieved from the Commerce Transaction Create Follow-On Order response.

ClosedConfigure Model Request Body Sample (Internal Asset Modification Flow)

External Asset Modification Flows

For external asset modification flows the Configure Model REST API accepts the following request body parameters:

  • fromPartner - indicates that configure is requested from partner site. The value is true for client-side integrations. This value is automatically set to "true" when an assetKey is provided.
  • assetKey – a key that uniquely identifies the asset component for the lifetime of the asset.
  • transactionDate - the date and time that the service request needs to be processed or fulfilled. This field is optional when an assetKey is provided. This is not allowed when an assetKey is not provided.
  • transactionId - the current Transaction identifier for external process integrations.

ClosedConfigure Model Request Body Sample (External Asset Modification Flow)

For additional information refer to Asset-Based Ordering.


Within the Configuration Run-Time Data REST API, users can select/deselect the recommended parts/models of a Configuration. In v7, only individual item selection is supported.

Beginning in v8, a "selectAll" (boolean) property is introduced for _recmdParts and _recmdModels resource to select/deselect the items at the same time. This minimizes the number of requests and size of the payload for all endpoints which allow/accept the selection of the _recmdParts and _recmdModels.

The following criteria applies:

  • If the user enters "selectAll" as true and few individual items selection as false in the API request body, the system sets selection as false for the individual items and true for rest of the items.
  • If user enters "selectAll" as false and few individual items selection as true in the API request body, the system sets selection as true for the individual items and false for rest of the items.
  • If user enters only "selectAll" value (and no individual items selection) in the API request body , the system considers "selectAll" value is applied to all the items.
In v8 the Configure Model REST API supports search result and search flow input parameters to allow search results to be presented on the Model Configuration page. To support this, administrators create search flows and adds scripts to return search results based on search criteria. When a user searches for a product, the results display with model configuration links. When the model configuration link is selected, all search flow input attributes and search result attributes are forwarded to the Configuration page.

In v8 when the attribute Auto Lock property is enabled, support for the user to set the lock value to true or false in the Configuration Run-Time Data REST API is available, as follows:

  • The locked property is provided in the response or is read from the request based on the Set Type property defined at attribute/layout level. Set Type should be "Set".
  • When an attribute Auto Lock is set to on via the Attribute Definition page or layout setting and the user does not pass any value for the lock property in the request, then the lock value is set to true.
  • When Auto Lock is set to off via the Attribute Definition page or layout setting, then the user must pass the lock value as true explicitly to honor this value over the recommendation rule value.
  • If there is no Set Type and Auto Lock defined at the attribute/layout-level and a recommendation rule is acting on an attribute, then Auto Lock is implicitly turned on internally and the lock is set to true.

For more information, refer to Recommendation Rules - Auto Lock.


ClosedConfiguration Model in System

The system navigation panel also allows users to switch between different models within the system configuration. Beginning in Oracle CPQ 19C the following Configuration Run-Time Data REST API service endpoint supports system configuration navigation in the JET Configuration UI.

Configure Model in System POST method

Description

This action is used to navigate to and configure a model within a system configuration.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/actions/_configureInSystem

Endpoint Parameters

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of the target Model

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.

targetModelPath

Path to the model to navigate to.

Response Body Parameters

configData

Configuration data for the target model.

ClosedURI Endpoint Sample

ClosedSample Request Body

ClosedSample Response Body


ClosedDelete Row from an Array Set

Delete Row from an Array SetPOST method

Description

This action deletes a specified index or row in a payload from the given Array set.

The Array set attributes must contain a "_set" prefix, for example,"_setMyArrayset".

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/_set{arraySetVarName}/actions/_delete

Endpoint Parameters

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

arraySetVarName

The variable name of the array set

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions. (Required)

removeIndex

Index which has to be removed from the array set

Response Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.

items

A top-level object containing the array set rows identified by indices. Each row contains the array attributes defined in a given set.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/_setapplicationSoftware/actions/_delete


Remove a row based on indices

ClosedRequest Body Sample

{ "cacheInstanceId": "WOSeTwyqtdOO2BnrSShDZoRTTVq4oj1tSfGP3bjdSTUxJFiU4SkYcTgUuC8QZgZW", "removeIndex": 1 }


ClosedResponse Body Sample

{ "items": [{ "_index": 0, "softwarePackage_array": { "value": "Cloud Management", "displayValue": "Cloud Management" }, "licenses_array": 1, "maintenance_array": "Data Protection Software Maintenance", "qty_array": 1, "startDate_array": "2018-12-06", "endDate_array": "2021-12-05" } ], "cacheInstanceId": "WOSeTwyqtdOO2BnrSShDZoRTTVq4oj1tSfGP3bjdSTUxJFiU4SkYcTgUuC8QZgZW" }


Remove a row based on removeKey

ClosedRequest Body Sample

{ "cacheInstanceId":"N6RpdipMCftpiBuGIYDaiG1PMNb8nkF5xdzpjT4whaOUj1RRNb6CIuIgOfh1CuxO", "removeKey":"a5f5dbc2-1f02-4096-b63a-babc26492c7a", "delta": true }


ClosedResponse Body Sample

{ "items": [{ "_index": 0, "_rowKey": "6f0b3424-463c-422c-8798-4b232065d67a" }, { "_index": 1, "_rowKey": "d3c316e9-eb51-43fa-bab8-e7555b85c2c6" } ], "cacheInstanceId": "N6RpdipMCftpiBuGIYDaiG1PMNb8nkF5xdzpjT4whaOUj1RRNb6CIuIgOfh1CuxO" }


ClosedDrop Cache (Configuration)

Drop Cache (Configuration)POST method

Description

This operation eliminates the cache configuration data created by Configuration REST services. Drop Cache can improve site performance by removing cached objects that would otherwise remain in memory for the duration of the timeout specified in administration.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/actions/_dropCache

Endpoint Parameters

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.(Required)

Response Body Parameters

HTTP 204 - Success

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvarioTablets.tablets.customTablet/actions/_dropCache


ClosedRequest Body Sample

{ "cacheInstanceId": "y4ZJbMg6wxjnb6xdm33VPvtmtCx2WBBufU0naDHe75u4OBF4zCLOFPNs2dOtHEfr" }


ClosedGet All Pick List Options

Get All Pick List OptionsPOST method

Description

This action provides the dynamic values for all the Pick List attributes in a given configuration available through the domain such as a Data Table or an Array. This endpoint retrieves a collection of pick lists and returns appropriate values in the response.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/_pickLists/actions/getOptions

Endpoint Parameters

 

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.(Required)

Response Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.

items

A collection of all pick list attributes in a given configuration containing menu items.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvision.laptops.ultra/_pickLists/actions/getOptions


ClosedSample Request Body

{ "cacheInstanceId": "Uxs6rmxWky7QRMKEHxUK5IKv5GLTm2EeohummhWiiFFE76kxiYvil1tJfcTEbrjv" }


ClosedSample Response Body

{ "cacheInstanceId": "Uxs6rmxWky7QRMKEHxUK5IKv5GLTm2EeohummhWiiFFE76kxiYvil1tJfcTEbrjv", "items": [{ "variableName": "cloudBackupSSPL", "items": [{ "value": "1 TB", "displayValue": "1 TB" }, { "value": "1 TB", "displayValue": "1 TB" }, { "value": "2 TB", "displayValue": "2 TB" }, { "value": "2 TB", "displayValue": "2 TB" }, { "value": "250 GB", "displayValue": "250 GB" }, { "value": "250 GB", "displayValue": "250 GB" }, { "value": "500 GB", "displayValue": "500 GB" }, { "value": "500 GB", "displayValue": "500 GB" } ], "links": [{ "rel": "related", "href": "https://sitename.oracle.com/rest/v17/configvision.laptops.ultra/_pickLists/cloudBackupSSPL" } ] }, { "variableName": "hardDrives", "items": [{ "value": "1 TB 10k HDD", "displayValue": "1 TB 10k HDD" }, { "value": "1 TB 7200 HDD", "displayValue": "1 TB 7200 HDD" }, { "value": "120 GB SSD", "displayValue": "120 GB SSD" }, { "value": "146 GB 15k HDD", "displayValue": "146 GB 15k HDD" }, { "value": "2 TB 7200 HDD", "displayValue": "2 TB 7200 HDD" }, { "value": "240 GB SSD", "displayValue": "240 GB SSD" }, { "value": "4 TB 7200 HDD", "displayValue": "4 TB 7200 HDD" }, { "value": "450 GB 15k HDD", "displayValue": "450 GB 15k HDD" }, { "value": "480 GB SSD", "displayValue": "480 GB SSD" }, { "value": "500 GB 10k HDD", "displayValue": "500 GB 10k HDD" } ], "links": [{ "rel": "related", "href": "https://sitename.oracle.com/rest/v17/configvision.laptops.ultra/_pickLists/hardDrives" } ] } ], "links": [{ "rel": "related", "href": "https://sitename.oracle.com/rest/v17/configvision.laptops.ultra/_pickLists" } ] }


ClosedGet BOM Items (Configuration)

Get BOM Items (Configuration)POST method

Description

This action retrieves the BOM Items of the configuration. This action does not run BOM Mapping rules.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/_bom/actions/getBomItems

Endpoint Parameters

 

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.(Required)

Response Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.

items

A top-level array object in the payload containing the parts within a BOM.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvarioTablets.tablets.customTablet/bom/actions/getBomItems


ClosedSample Request Body

{ "cacheInstanceId": "gsg21bMZ5kpGUWxDIZeGWQCLKbaad33Un1X8huVuDm0K3gAKMeXPbzeQcFsFBAzJ" }


Text file iconResponse Body Sample


ClosedGet Mandatory Models

Get Mandatory Models POST method

Description

This action retrieves the mandatory Models of the configuration. This action does not run recommended items rules.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/_mandatoryModels/actions/getMandatoryModels

Endpoint Parameters

 

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.(Required)

Response Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.

items

A top-level object in the payload containing the array definitions for the Model.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvarioTablets.tablets.customTablet/_mandatoryModels/actions/getMandatoryModels


ClosedSample Request Body

{ "cacheInstanceId": "hzLOQoY2hFvGJccRd43b2mQQfYeQZizF0yp5JBnglukKILuFROAGzEWkCV8K0XrN" }


ClosedSample Response Body

{ "cacheInstanceId": "hzLOQoY2hFvGJccRd43b2mQQfYeQZizF0yp5JBnglukKILuFROAGzEWkCV8K0XrN", "items": [{ "modelName": "Tablet Support Services", "comment": "System recommended item", "price": { "value": "200", "currency": "USD" }, "modelVariableName": "tabletSupportServices", "quantity": 1, "description": "Tablet Support Services" } ] }


ClosedGet Mandatory Parts

Get Mandatory PartsPOST method

Description

This action retrieves the mandatory parts of the configuration. This action does not run recommended items rules.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/_mandatoryParts/actions/getMandatoryParts

Endpoint Parameters

 

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.(Required)

Response Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.

items

A top-level object in the payload containing the array definitions for the mandatory parts within the configuration.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvarioTablets.tablets.customTablet/_mandatoryModels/actions/getMandatoryParts


ClosedSample Request Body

{ "cacheInstanceId": "gsg21bMZ5kpGUWxDIZeGWQCLKbaad33Un1X8huVuDm0K3gAKMeXPbzeQcFsFBAzJ" }


ClosedSample Response Body

{ "cacheInstanceId": "gsg21bMZ5kpGUWxDIZeGWQCLKbaad33Un1X8huVuDm0K3gAKMeXPbzeQcFsFBAzJ", "items": [{ "leadTime": -1, "comment": "System recommended item", "price": { "value": "25.00", "currency": "USD" }, "partNumber": "Tablet-CloudBackupService", "description": "", "units": "", "directBuy": "Direct Buy", "quantity": 1, "_part_custom_field5": 0, "partDisplayNumber": "Tablet-CloudBackupService", "companyAssociations": "" }, { "leadTime": -1, "comment": "System recommended item", "price": { "value": "100.00", "currency": "USD" }, "partNumber": "Tablet-Warranty-2yrs", "description": "", "units": "", "directBuy": "Direct Buy", "quantity": 1, "_part_custom_field5": 0, "partDisplayNumber": "Tablet-Warranty-2yrs", "companyAssociations": "" }, { "leadTime": -1, "comment": "System recommended item", "price": { "value": "40.00", "currency": "USD" }, "partNumber": "MEM-100M-4", "description": "4GB Memory", "units": "", "directBuy": "Direct Buy", "quantity": 1, "_part_custom_field8": { "value": "One Time", "displayValue": "One Time" }, "_part_custom_field5": 20, "partDisplayNumber": "4GB Memory", "companyAssociations": "" } ] }


ClosedGet Pick List Options

Get Pick List OptionsPOST method

Description

This action provides the dynamic values for the Pick List attribute available through a domain such as a Data Table or an Array. This endpoint consumes the filter value of the Pick List attribute and returns appropriate values in the response.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/_pickLists/{pickListVarName}/actions/getOptions

Endpoint Parameters

 

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

pickListVarName

The variable name of a pick list

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.(Required)

Response Body Parameters

variableName

The unique pick list Identifier

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.

items

A collection of all pick list attributes in a given configuration containing menu items.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvision.laptops.ultra/_pickLists/cloudBackupSSPL/actions/getOptions


ClosedSample Request Body

{ "cacheInstanceId": "u0yaJyAJ3qAzSBtYde9XKNFLyN2D5SZtvILBLwYMTK0JSBwBHihPGLoMrOn4xo7e" }


ClosedSample Response Body

{ "cacheInstanceId": "u0yaJyAJ3qAzSBtYde9XKNFLyN2D5SZtvILBLwYMTK0JSBwBHihPGLoMrOn4xo7e", "variableName": "cloudBackupSSPL", "items": [{ "value": "1 TB", "displayValue": "1 TB" }, { "value": "1 TB", "displayValue": "1 TB" }, { "value": "2 TB", "displayValue": "2 TB" }, { "value": "2 TB", "displayValue": "2 TB" }, { "value": "250 GB", "displayValue": "250 GB" }, { "value": "250 GB", "displayValue": "250 GB" }, { "value": "500 GB", "displayValue": "500 GB" }, { "value": "500 GB", "displayValue": "500 GB" } ], "links": [{ "rel": "related", "href": "https://sitename.oracle.com/rest/v17/configvision.laptops.ultra/_pickLists/cloudBackupSSPL" } ] }


ClosedGet Price Books (Configuration)

Get Price Books (Configuration)POST method

Description

This action provides the list of values for the Price Books within the configuration.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/_priceBooks/actions/getPriceBooks

Endpoint Parameters

 

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.(Required)

Response Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.

items

A top-level object in the payload containing the array definitions for the parts within the configuration.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvarioTablets.tablets.customTablet/_priceBooks/actions/getPriceBooks


ClosedSample Request Body

{ "cacheInstanceId": "HkcV5PiEEKTTl5aGmivM08ScumV5KFhDO7CHJQASzCLNnWisp4SEyXz0vfgKI62P" }


ClosedSample Response Body

{ "cacheInstanceId": "HkcV5PiEEKTTl5aGmivM08ScumV5KFhDO7CHJQASzCLNnWisp4SEyXz0vfgKI62P", "items": [{ "value": "_default_price_book", "displayValue": "Base Price" }, { "value": "pricebook1", "displayValue": "Pricebook 1: Multiplier of Base Price (2.0x)" }, { "value": "pricebook2", "displayValue": "Pricebook 2: Multiplier of Base Price (0.5x)" }, { "value": "pricebook3", "displayValue": "Pricebook 3: Custom, All Currencies" }, { "value": "pricebook4", "displayValue": "Pricebook 4: Custom, Exchange Rates" }, { "value": "pricebook5", "displayValue": "Pricebook 5: Multiplier of Pricebook 3 (10.0x)" } ], "links": [{ "rel": "related", "href": "https://sitename.oracle.com/rest/v17/configvarioTablets.tablets.customTablet/_priceBooks" } ] }


ClosedGet Recommended Models

Get Recommended Models POST method

Description

This action retrieves the recommended Models of the configuration. This action does not run recommended items rules.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/_recmdModels/actions/getRecmdModels

Endpoint Parameters

 

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.(Required)

Response Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.

items

A top-level object in the payload containing the array definitions for the recommended Model

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvarioTablets.tablets.customTablet/recmdModels/actions/getRecmdModels


ClosedSample Request Body

{ "cacheInstanceId": "gsg21bMZ5kpGUWxDIZeGWQCLKbaad33Un1X8huVuDm0K3gAKMeXPbzeQcFsFBAzJ" }


ClosedSample Response Body

{ "cacheInstanceId": "gsg21bMZ5kpGUWxDIZeGWQCLKbaad33Un1X8huVuDm0K3gAKMeXPbzeQcFsFBAzJ", "items": [{ "id": "model~samsungPhablet~recommendedModelPhablet", "selected": "true", "modelName": "Samsung Phablet", "comment": "System recommended item", "price": { "value": "300", "currency": "USD" }, "modelVariableName": "samsungPhablet", "quantity": 1, "description": "Samsung phablet" }, { "id": "model~tabletSupportServices~recommendedModelTabletSupportServices", "selected": "true", "modelName": "Tablet Support Services", "comment": "System recommended item", "price": { "value": "200", "currency": "USD" }, "modelVariableName": "tabletSupportServices", "quantity": 1, "description": "Tablet Support Services" } ] }


ClosedGet Recommended Parts

Get Recommended PartsPOST method

Description

This action retrieves the recommended parts of the configuration. This action does not run recommended items rules.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/}/_recmdParts/actions/getRecmdParts

Endpoint Parameters

 

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.(Required)

Response Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.

items

A top-level object in the payload containing the array definitions for the recommended parts within the configuration.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvarioTablets.tablets.customTablet/_recmdParts/actions/getRecmdParts


ClosedSample Request Body

{ "cacheInstanceId": "gsg21bMZ5kpGUWxDIZeGWQCLKbaad33Un1X8huVuDm0K3gAKMeXPbzeQcFsFBAzJ" }


ClosedSample Response Body

{ "cacheInstanceId": "gsg21bMZ5kpGUWxDIZeGWQCLKbaad33Un1X8huVuDm0K3gAKMeXPbzeQcFsFBAzJ", "items": [{ "id": "part~BATT-0380M-5200~battery5200mAH", "selected": "true", "leadTime": -1, "comment": "System recommended item", "price": { "value": "40.00", "currency": "USD" }, "partNumber": "BATT-0380M-5200", "description": "Battery 3.8V / 5200mAh", "units": "", "directBuy": "Direct Buy", "quantity": 1, "_part_custom_field8": { "value": "One Time", "displayValue": "One Time" }, "_part_custom_field5": 20, "partDisplayNumber": "Battery 3.8V / 5200mAh", "companyAssociations": "" } ] }


ClosedInteract (Configuration)

Interact (Configuration)POST method

Description

This action modifies configurable attribute values and triggers only ajax-based configuration rules, such as hiding and constraint rules, on the latest configuration data from the configuration cache. This action saves the configuration to the pending configuration list.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/actions/_interact

Endpoint Parameters

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions. (Required)

configData

A top-level object in the payload containing the configuration data.

criteria

A top-level object that captures the query definition for the current resource request.

delta

This boolean parameter is used to obtain only the partial response containing the attributes that are affected by rules.

Response Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.

configData

A top-level object in the payload containing the configuration data.

In v8 when the attribute Auto Lock property is enabled, support for the user to set the lock value to true or false in the Configuration Run-Time Data REST API is available, as follows:

  • The locked property is provided in the response or is read from the request based on the Set Type property defined at attribute/layout level. Set Type should be "Set".
  • When an attribute Auto Lock is set to on via the Attribute Definition page or layout setting and the user does not pass any value for the lock property in the request, then the lock value is set to true.
  • When Auto Lock is set to off via the Attribute Definition page or layout setting, then the user must pass the lock value as true explicitly to honor this value over the recommendation rule value.
  • If there is no Set Type and Auto Lock defined at the attribute/layout-level and a recommendation rule is acting on an attribute, then Auto Lock is implicitly turned on internally and the lock is set to true.

For more information, refer to Recommendation Rules - Auto Lock.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/actions/_interact


ClosedRequest Body Sample

{ "cacheInstanceId": "WNVD55lJoYR7Q3QQTGqcw0KiK2iM19fmSCRrRkXG4lOKjwDKD3MLLOFdrn61eOhu", "configData": { "operatingSystem": { "value": "Ubuntu Server Edition", "displayValue": "Ubuntu Server Edition" }, "serverPerformance": { "value": "Mid Range", "displayValue": "Mid Range" }, "textFieldSetTypeAutolockAttribute": { "value": "user value", "locked": "false" } }, "criteria": { "state": true, "fields": ["supportLevel", "powerSupply"], "childDefs": [{ "name": "_priceInfo" }, { "name": "_recmdModels" }, { "name": "_mandatoryModels" }, { "name": "_recmdParts" }, { "name": "_mandatoryParts" }, { "name": "_bom" } ] } }


Text file iconResponse Body Sample


ClosedLoad Array Set Data

Load Array Set DataPOST method

Description

This action reads the configuration data from a particular array set. This endpoint will not run the rules but rather loads that configuration data of the array set.

The cache instance ID is used as the input parameter in the request body.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/_set{arraySetVarName}/actions/_loadData

Endpoint Parameters

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

arrySetVarName

The variable name of the array set

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions. (Required)

criteria

A top-level object that captures the query definition for the current resource request.

Response Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.

items

A top-level object in the payload containing the configuration data.

systemCurrentDate

The date of the REST call for the configuration data.

_flow

A top-level object in the payload containing the index of the element in the array set and the array definitions.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/_setapplicationSoftware/actions/_loadData


ClosedRequest Body Sample

{ "cacheInstanceId": "ZGQn3ciig5QBSvvvzZnin1IpAEUyC0wTv22guTBLnzGWnjgG6ekKPa7JvNrQubs3", "criteria": { "state": true, "fields": ["arrayTextField1"] } }


ClosedResponse Body Sample

{ "_state": { "insertable": true, "sortable": false, "deletable": true, "defaultRowState": { "updatable": true, "hasError": false, "messages": [], "attributes": { "arrayTextField1": { "updatable": true, "hasError": false, "hasWarning": false, "messages": [], "visible": true, "hasConstraintViolation": false } } }, "actions": { "_delete": { "enabled": true, "visible": true }, "_add": { "enabled": true, "visible": true } }, "attributes": { "arrayTextField1": { "visible": true } } }, "items": [{ "index": 0, "_rowKey": "6d5eb9ef-393c-43aa-9528-925489f8767d", "arrayTextField1": "test0", "_state": { "hasError": false, "messages": [] } }, { "index": 1, "_rowKey": "d8da0d00-92d3-48bb-af02-1bf72c80fd81", "arrayTextField1": "", "_state": { "hasError": false, "messages": [] } }, { "index": 2, "_rowKey": "bb3102d3-a83e-47ef-a38d-0abe9f31508e", "arrayTextField1": "", "_state": { "hasError": false, "messages": [] } } ], "cacheInstanceId": "ZGQn3ciig5QBSvvvzZnin1IpAEUyC0wTv22guTBLnzGWnjgG6ekKPa7JvNrQubs3" }


ClosedLoad Configuration Data

Load Configuration DataPOST method

Description

This action reads the configuration data from a particular cache instance. This endpoint will not run the rules but rather loads that configuration data.

The cache instance ID is used as the input parameter in the request body.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/actions/_loadData

Endpoint Parameters

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions. (Required)

criteria

A top-level object that captures the query definition for the current resource request.

Response Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.

configData

A top-level object in the payload containing the configuration data.

systemCurrentDate

The date of the REST call for the configuration data.

_flow

A top-level object that captures the configuration flow variable name for the current request.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/actions/_loadData


ClosedRequest Body Sample

{ "cacheInstanceId": "TyorT0UiW6H2ahn6Io2hm44KpkPZmpcwBgs8P7csERyRfXTpOWyOaOVpnv7XZvTH", "criteria": { "state": true, "childDefs": [{ "name": "_setNormalArray" }, { "name": "_setSSPLArray" } ] } }


Text file iconResponse Body Sample


ClosedNext Configuration Node

Next Configuration NodePOST method

Description

This action is available in the configure API response when the Model configuration is spanned across multiple nodes/configuration flow layouts. This action is used to move to next configuration node during the Model configuration.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/actions/_next

Endpoint Parameters

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions. (Required)

configData

A top-level object in the payload containing the configuration data.

criteria

A top-level object that captures the query definition for the current resource request.

delta

This boolean parameter is used to obtain only the partial response containing the attributes that are affected by rules.

Response Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.

configData

A top-level object in the payload containing the configuration data.

_flow

A top-level object that captures the configuration flow variable name for the current request.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/actions/_next


ClosedRequest Body Sample

{ "cacheInstanceId": "TyorT0UiW6H2ahn6Io2hm44KpkPZmpcwBgs8P7csERyRfXTpOWyOaOVpnv7XZvTH",
  "criteria": { "state": true, "childDefs": [{ "name": "_priceInfo" }, { "name": "_recmdModels" }, { "name": "_mandatoryModels" }, { "name": "_recmdParts" }, { "name": "_mandatoryParts" }, { "name": "_bom" } ] }, "delta": true }


Text file iconResponse Body Sample


ClosedPrevious Configuration Node

Previous Configuration NodePOST method

Description

This action is available in the configure API response when the Model configuration is spanned across multiple nodes/configuration flow layouts. This action is used to move to previous configuration node during the Model configuration.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/actions/_previous

Endpoint Parameters

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions. (Required)

configData

A top-level object in the payload containing the configuration data.

criteria

A top-level object that captures the query definition for the current resource request.

delta

This boolean parameter is used to obtain only the partial response containing the attributes that are affected by rules.

Response Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.

configData

A top-level object in the payload containing the configuration data.

_flow

A top-level object that captures the configuration flow variable name for the current request.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/actions/_previous


ClosedRequest Body Sample

{ "cacheInstanceId": "DJy4zFjQqMgkfCXYAD9OgKf3Teyqcnvi3QtQ1nJICFjs2MsvNWecrsHJYw7sLKul",
  "configData": { "operatingSystem": { "value": "Ubuntu Server Edition", "displayValue": "Ubuntu Server Edition" }, "serverPerformance": { "value": "Mid Range", "displayValue": "Mid Range" } }, "criteria": { "state": true, "fields": ["supportLevel", "powerSupply"], "childDefs": [{ "name": "_priceInfo" }, { "name": "_recmdModels" }, { "name": "_mandatoryModels" }, { "name": "_recmdParts" }, { "name": "_mandatoryParts" }, { "name": "_bom" } ] } }


Text file iconResponse Body Sample


ClosedProcess Invocation

Process Invocation POST method

Description

This action invokes the process invocation action identified by the invocation ID for the configuration.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/actions/_cm_{invocation_id}

Endpoint Parameters

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

invocation_id

The id number of the process invocation

This is the Identifier of an action defined for a page in the Process Invocation metadata API.

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions. (Required)

configData

A top-level object in the payload containing the configuration data.

Response Body Parameters

bsId

Buyside Identifier

processId

The process Identifier

processVarName

The variable name of the process

destinationUrl

The source identified by the action that launched the configuration or Transaction
When invocation_id is an addToCart action, the response does not contain bsId and processVarName. The processId is the cart identifier. When invocation_id is a createTxn action, the response generates new Transaction identified by bsId for the process identified by processVarName and processId.

ClosedURI Endpoint Sample to allow the user to add a Model to the Transaction. This creates a new Transaction if one does not exist.

https://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/actions/_cm_36292358


ClosedRequest Body Sample

{ "cacheInstanceId": "OpAJgNZlA2jzhI8YWDwpQ2OQxh0RiudBrSyIVUaL2v5Xz9GkXGMUwKaR0U5ePyOB", "configData": { "serverPerformance": { "value": "Mid Range", "displayValue": "Mid Range" } } }


ClosedResponse Body Sample

{ "destinationUrl": "https://sitename.oracle.com/commerce/buyside/document.jsp", "bsId": 36701659, "processId": 36244034, "processVarName": "oraclecpqo" }


ClosedReconfigure from Favorites

Reconfigure from FavoritesPOST method

Description

This action reconfigures the Model configuration from the Favorite detail page and returns the configuration data stored in the Favorite in the response. Users can also update and save the configuration. The Favorite ID is used as the input parameter in the request body.

Note:Beginning in Oracle CPQ 20C, the headlessMode property replaces the legacyMode property in v10 Configuration REST APIs. If you explicitly set the legacyMode property in your REST calls, you need to remove the legacyMode property from v10 REST calls. If the legacyMode property is not removed, you will receive an invalid parameter error.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/actions/_reconfigureFav

Endpoint Parameters

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

HTTP Method

POST

Request Body Parameters

criteria

A top-level object that captures the query definition for the current resource request.

FavoriteId

The unique Identifier for the Favorite list

headlessMode

This boolean parameter determines the API execution behavior.

  • false, the API honors CPQ legacy Configuration Layout Flow behavior, with the relevant attribute values to be overridden as defined in the current CPQ legacy Configuration Layout Flow. This value will provide the behavior that legacyMode value of 'true' provided in previous versions of the API.

    The default value is 'false'.

  • true, the API does NOT send UI information or honor CPQ legacy Configuration Layout Flow.

Response Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.

configData

A top-level object in the payload containing the configuration data.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/actions/_reconfigureFav


ClosedRequest Body Sample

{ "cacheInstanceId": "TyorT0UiW6H2ahn6Io2hm44KpkPZmpcwBgs8P7csERyRfXTpOWyOaOVpnv7XZvTH", "criteria": { "state": true, "childDefs": [{ "name": "_priceInfo" }, { "name": "_recmdModels" }, { "name": "_mandatoryModels" }, { "name": "_recmdParts" }, { "name": "_mandatoryParts" }, { "name": "_bom" } ] }, "FavoriteId": 21734357 }


Text file iconResponse Body Sample


ClosedReconfigure Model

Reconfigure ModelPOST method

Description

This action is used for Model reconfiguration from the Transaction or Transaction line to execute the configuration rules in order to retain the previous selection and configuration data. This must be used in conjunction with the Reconfigure API of Commerce Transaction or Transaction line.

Note:Beginning in Oracle CPQ 20C, the headlessMode property replaces the legacyMode property in v10 Configuration REST APIs. If you explicitly set the legacyMode property in your REST calls, you need to remove the legacyMode property from v10 REST calls. If the legacyMode property is not removed, you will receive an invalid parameter error.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/actions/_reconfigureTxn

Endpoint Parameters

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

HTTP Method

POST

Request Body Parameters

bsId

Buyside Identifier (Required)

configContextKey

A key to the global cache entry which contains the projected BOM and configuration. It is used to pass ABO package data between Commerce and Configuration. This parameter is used for internal ABO reconfiguration flows.

documentId

The unique Identifier of the Main document (Required)

documentNumber

The Model Line Document Number that must be specified for reconfiguration (Required)

mainDocAction

This boolean parameter identifies if the action call is made from Main document or Sub-document.

headlessMode

This boolean parameter determines the API execution behavior.

  • false, the API honors CPQ legacy Configuration Layout Flow behavior, with the relevant attribute values to be overridden as defined in the current CPQ legacy Configuration Layout Flow. This value will provide the behavior that legacyMode value of 'true' provided in previous versions of the API.

    The default value is 'false'.

  • true, the API does NOT send UI information or honor CPQ legacy Configuration Layout Flow.

criteria

A top-level object that captures the query definition for the current resource request.

Response Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.

configData

A top-level object in the payload containing the configuration data.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/actions/_reconfigureTxn


ClosedRequest Body Sample

{ "bsId": 38458354, "documentNumber": 2, "documentId": 18319026, "criteria": { "state": true, "childDefs": [{ "name": "_priceInfo" }, { "name": "_recmdModels" }, { "name": "_mandatoryModels" }, { "name": "_recmdParts" }, { "name": "_mandatoryParts" }, { "name": "_bom" } ] } }


ClosedResponse Body Sample

{ "cacheInstanceId": "DJy4zFjQqMgkfCXYAD9OgKf3Teyqcnvi3QtQ1nJICFjs2MsvNWecrsHJYw7sLKul", "configData": { "supportLevel": { "value": "Vision Gold", "displayValue": "Vision Gold" }, "_mandatoryParts": { "items": [{ "leadTime": -1, "comment": "Support Level", "price": { "value": "On Request", "currency": "USD" }, "partNumber": "WR11519", "description": "Vision Gold Service Plan", "units": "", "directBuy": "Direct Buy", "quantity": 1, "_part_custom_field1": "Service", "_part_custom_field3": "21", "_part_custom_field8": { "value": "Recurring", "displayValue": "Recurring" }, "_part_custom_field5": 0, "companyAssociations": "" }, { "leadTime": -1, "comment": "Power Supply", "price": { "value": "69.95", "currency": "USD" }, "partNumber": "CM53064", "description": "600W Power Supply", "units": "", "directBuy": "Direct Buy", "quantity": 1, "_part_custom_field1": "Hardware", "_part_custom_field3": "17", "_part_custom_field8": { "value": "One Time", "displayValue": "One Time" }, "_part_custom_field5": 41.97, "companyAssociations": "" } ] }, "_isMainModelSelected": true, "_bom": {}, "powerSupply": { "value": "600W PSU", "displayValue": "600W PSU" }, "_priceInfo": { "items": [{ "category": { "code": "GENERAL", "displayName": "Price" }, "_others": [{ "name": "Base Price", "variableName": "_basePrice", "price": { "value": 15131.67, "currency": "USD" } }, { "name": "Total Configured Price of Model", "variableName": "_totalConfiguredPrice", "price": { "value": 15131.67, "currency": "USD" } } ] } ], "name": "Price" }, "_recmdParts": { "items": [{ "id": "part~CM53064~redundantPSUSuggested", "selected": "true", "leadTime": -1, "comment": "Redundant Power Supply", "price": { "value": "69.95", "currency": "USD" }, "partNumber": "CM53064", "description": "600W Power Supply", "units": "", "directBuy": "Direct Buy", "quantity": 1, "_part_custom_field1": "Hardware", "_part_custom_field3": "17", "_part_custom_field8": { "value": "One Time", "displayValue": "One Time" }, "_part_custom_field5": 41.97, "companyAssociations": "" }, { "id": "part~AS00117~recommendCloudSoftware", "selected": "true", "leadTime": -1, "comment": "Cloud Backup Add-on", "price": { "value": "99.99", "currency": "USD" }, "partNumber": "AS00117", "description": "Vision Cloud Management Software", "units": "", "directBuy": "Direct Buy", "quantity": 1, "_part_custom_field1": "Software", "_part_custom_field3": "19", "_part_custom_field8": { "value": "Recurring", "displayValue": "Recurring" }, "_part_custom_field5": 19.99, "companyAssociations": "" } ] }, "_mandatoryModels": {} }, "_flow": { "flow": "serverSolutionsProduct", "productFamily": "vision", "productLine": "servers", "links": [{ "rel": "self", "href": "https://sitename.oracle.com/rest/v17/productFamilies/vision/productLines/servers/layouts/serverSolutionsProduct" } ] } }


Reconfigure a Model Line from Transaction

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/commerceDocumentsOraclecpqoTransaction/38458354/actions/_reconfigure_action


ClosedRequest Body Sample

{ "documents": { "Quote Name": "Pinnacle Technologies" }, "selections": ["transactionLine/2"] }


ClosedResponse Body Sample

{ "revisionId": "4,0", "documents": { "_id": 38458354, "transactionLine": { "items": [{ "_document_number": 2 } ] }, "links": [{ "rel": "self", "href": "https://sitename.oracle.com/rest/v9/commerceDocumentsOraclecpqoTransaction/38458354" } ] }, "warnings": {}, "cacheInstanceId": "wdDhTXWSfGMQROnPf4COEycFRYD0C6XD5OSJKMgqwczvkGpK8HJIuvcPFsiQ0baD", "destinationURL": "https://sitename.oracle.com/commerce/buyside/reconfig_form.jsp?action_id=36245411&document_number=1&document_id=36244074&id=38458354&proxy_submit_url=%2Fcommerce%2Fnew_equipment%2Fproducts%2Fmodel_configs.jsp&_line_item_list=2" }


Reconfigure a Model Line from Transaction Line

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/commerceDocumentsOraclecpqoTransaction/38458354/transactionLine/2/actions/_reconfigure_action


ClosedRequest Body Sample

{ "documents": { "Quote Name": "Pinnacle Technologies" } }


ClosedResponse Body Sample

{ "revisionId": "4,0", "documents": { "_id": 38458354, "transactionLine": { "items": [{ "_document_number": 2 } ] }, "links": [{ "rel": "self", "href": "https://sitename.com/rest/v17/commerceDocumentsOraclecpqoTransaction/38458354" } ] }, "warnings": {}, "cacheInstanceId": "wdDhTXWSfGMQROnPf4COEycFRYD0C6XD5OSJKMgqwczvkGpK8HJIuvcPFsiQ0baD", "destinationURL": "https://sitename.oracle.com/commerce/buyside/reconfig_form.jsp?action_id=36245411&document_number=1&document_id=36244074&id=38458354&proxy_submit_url=%2Fcommerce%2Fnew_equipment%2Fproducts%2Fmodel_configs.jsp&_line_item_list=2" }


 

ClosedAsset-Based Ordering Support

For Asset-Based Ordering, the Reconfigure Model action is used when reconfiguring an asset for internal applications.

  • Beginning in 19C, the Reconfigure Model REST API accepts the "configContextKey" request body parameter.
  • For asset reconfiguration the "configContextKey" parameter is retrieved from the Reconfigure Asset response.
  • For external asset flows, the Reconfigure Model from Partner REST API provides support for ABO flows when using the JET Configuration UI.

ClosedReconfigure Model Request Body Sample (Internal Asset Modification Flow)

For additional information refer to Asset-Based Ordering.


ClosedReconfigure Model from Partner

Reconfigure Model from PartnerPOST method

Description

This action returns configuration data for the reconfigured item from a client, such as Oracle CX Commerce. This action supports reconfiguration of the data that gets generated as a result of an integration action. It consumes configID obtained from the response of an integration action (value of integrationPayload property). It also generates a new cacheInstanceId that can be used for further updates on configuration data.

Note:Beginning in Oracle CPQ 20C, the headlessMode property replaces the legacyMode property in v10 Configuration REST APIs. If you explicitly set the legacyMode property in your REST calls, you need to remove the legacyMode property from v10 REST calls. If the legacyMode property is not removed, you will receive an invalid parameter error.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/actions/_reconfigureClient

Endpoint Parameters

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

HTTP Method

POST

Request Body Parameters

configId

Configuration Identifier (Required)

This can be obtained from the response of an integration action (value of integrationPayload property).

headlessMode

This boolean parameter determines the API execution behavior.

  • false, the API honors CPQ legacy Configuration Layout Flow behavior, with the relevant attribute values to be overridden as defined in the current CPQ legacy Configuration Layout Flow. This value will provide the behavior that legacyMode value of 'true' provided in previous versions of the API.

    The default value is 'false'.

  • true, the API does NOT send UI information or honor CPQ legacy Configuration Layout Flow.

Response Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.

configData

A top-level object in the payload containing the configuration data.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configlaptop.laptopConfiguration.sku50001/actions/_reconfigureClient


ClosedRequest Body Sample

{ "configId": 21736276 }


ClosedResponse Body Sample

{ "cacheInstanceId": "Qaqq65ERxw1IJlvWZy1iDfk4O615zaQ8KeRyuhClsOiTGLkCmAodXBXL9ufY4bEs", "configData": { "includeBOM": true, "processor": { "value": "sku40002", "displayValue": "Intel Pentium i3" }, "memory_HardDisk": { "value": "sku40008", "displayValue": "500GB" }, "addBOMChild": false, "addBOMGrandchild": false, "bOMHelp": "The selections on the left determine whether certain BOM items will be added as part of the product:<br /><br /><ul><li><strong>includeBOM</strong>: If false, the product will have no BOM items at all.</li><li><strong>Add BOM Child</strong>: If false, removes "part2" and all of its children (regardless of their individual settings).</li><li><strong>Add BOM Grandchild:</strong> If false, removes "part22" and all of its children.</li><li><strong>Add BOM Great Grandchild:</strong> If false, removes "part222".</li><li><strong>Add Skus:</strong> If false, removes sku240202 and sku240203</li></ul>", "memory_RAM": { "value": "sku40007", "displayValue": "8 GB Kingston Sodimm DDR3 1600MHz" }, "graphicsCard": { "value": "sku40011", "displayValue": "Intel HD Graphics Media Accelerator 4600" }, "links": [{ "rel": "child", "href": "https://sitename.us.oracle.com/rest/v17/configlaptop.laptopConfiguration.sku50001/_bom" }, { "rel": "child", "href": "https://sitename.us.oracle.com/rest/v17/configlaptop.laptopConfiguration.sku50001/_recmdModels" }, { "rel": "child", "href": "https://sitename.us.oracle.com/rest/v17/configlaptop.laptopConfiguration.sku50001/_mandatoryModels" }, { "rel": "child", "href": "https://sitename.us.oracle.com/rest/v17/configlaptop.laptopConfiguration.sku50001/_recmdParts" }, { "rel": "child", "href": "https://sitename.us.oracle.com/rest/v17/configlaptop.laptopConfiguration.sku50001/_mandatoryParts" }, { "rel": "child", "href": "https://sitename.us.oracle.com/rest/v17/configlaptop.laptopConfiguration.sku50001/_pickLists" } ], "addBOMGreatGrandchild": false, "currencyCode": "", "_isMainModelSelected": true, "addSkus": false } }


ClosedResume Configuration

Resume ConfigurationPOST method

Description

This action is used to resume the Model configuration from the pending Configuration list.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/actions/_resumeConfig

Endpoint Parameters

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

HTTP Method

POST

Request Body Parameters

draftId

This property uniquely identifies the pending configuration. (Required)

criteria

A top-level object that captures the query definition for the current resource request.

Response Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.

configData

A top-level object in the payload containing the configuration data.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/actions/_resumeConfig


ClosedRequest Body Sample

{ "draftId": 36701771, "criteria": { "fields": ["supportLevel", "powerSupply"], "childDefs": [{ "name": "_priceInfo" }, { "name": "_recmdModels" }, { "name": "_mandatoryModels" }, { "name": "_recmdParts" }, { "name": "_mandatoryParts" }, { "name": "_bom" } ] } }


Text file iconResponse Body Sample


ClosedSave Reconfiguration

Save ReconfigurationPOST method

Description

This action is available during reconfiguration of the Model from a Commerce Transaction.

Note: Reconfiguration updates are not automatically applied to Commerce when invoking the Reconfiguration or Save Reconfiguration REST APIs. The Reconfigure Inbound REST API should be invoked to save reconfiguration updates to Commerce.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/actions/_save

Endpoint Parameters

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions. (Required)

configData

A top-level object in the payload containing the configuration data.

Response Body Parameters

bsId

Buyside Identifier

destinationUrl

The source identified by the action that launched the Configuration or Transaction

documentId

The unique Identifier of the Main document or Sub Document

processId

The identifier for the process

processVarName

The variable name of the Commerce process

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/actions/_save


ClosedRequest Body Sample

{ "cacheInstanceId": "ojYqVKeaW6Vr1EGoV9wa0mFn1iohE6Azc5gExHJzFkySLvKLqTxBUzIW7uNiT4cb", "configData": { "serverPerformance": { "value": "Mid Range", "displayValue": "Mid Range" } } }


ClosedResponse Body Sample

{ "destinationUrl": "https://sitename.oracle.com/commerce/buyside/document.jsp", "bsId": 21221021, "processVarName": "oraclecpqo", "processId": 36244034, "documentId": 4356122 }


ClosedStart Over

Start OverPOST method

Description

The action is used when a user wants to start the configuration again from scratch. The destinationUrl returned in the response could be a home page or specified destination.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/actions/_startOver

Endpoint Parameters

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions. (Required)

Response Body Parameters

destinationUrl

The source identified by the action that launched the Configuration or Transaction

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/actions/_startOver


ClosedRequest Body Sample

{ "cacheInstanceId": "agu0yDbIYDBmKcRuVqkyw6K8ALcd5bax95BFBTqFQITChTpjEqeZyQUknHMuLDfW" }


ClosedResponse Body Sample

{ "destinationUrl": "https://sitename.oracle.com/commerce/display_company_profile.jsp" }


ClosedUpdate (Configuration)

Update (Configuration)POST method

Description

This action executes all the configuration rules on the current Model and returns the configuration data in the response.

URI Endpoint

/rest/v17/config{prodFamVarName}.{prodLineVarName}.{modelVarName}/actions/_update

Endpoint Parameters

prodFamVarName

The variable name of a Product Family

prodLineVarName

The variable name of a Product Line

modelVarName

The variable name of a Model

HTTP Method

POST

Request Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions. (Required)

configData

A top-level object in the payload containing the configuration data.

criteria

A top-level object that captures the query definition for the current resource request.

delta

This boolean parameter is used to obtain only the partial response containing the attributes that are affected by rules.

Response Body Parameters

cacheInstanceId

The unique identifier for the entry of configuration data stored in the cache. This is obtained from actions that launch configuration and passed along in subsequent actions.

configData

A top-level object in the payload containing the configuration data.

_flow

A top-level object that captures the configuration flow variable name for the current request.

Within the Configuration Run-Time Data REST API, users can select/deselect the recommended parts/models of a Configuration. In v7, only individual item selection is supported.

Beginning in v8, a "selectAll" (boolean) property is introduced for _recmdParts and _recmdModels resource to select/deselect the items at the same time. This minimizes the number of requests and size of the payload for all endpoints which allow/accept the selection of the _recmdParts and _recmdModels.

The following criteria applies:

  • If the user enters "selectAll" as true and few individual items selection as false in the API request body, the system sets selection as false for the individual items and true for rest of the items.
  • If user enters "selectAll" as false and few individual items selection as true in the API request body, the system sets selection as true for the individual items and false for rest of the items.
  • If user enters only "selectAll" value (and no individual items selection) in the API request body , the system considers "selectAll" value is applied to all the items.

In v8 when the attribute Auto Lock property is enabled, support for the user to set the lock value to true or false in the Configuration Run-Time Data REST API is available, as follows:

  • The locked property is provided in the response or is read from the request based on the Set Type property defined at attribute/layout level. Set Type should be "Set".
  • When an attribute Auto Lock is set to on via the Attribute Definition page or layout setting and the user does not pass any value for the lock property in the request, then the lock value is set to true.
  • When Auto Lock is set to off via the Attribute Definition page or layout setting, then the user must pass the lock value as true explicitly to honor this value over the recommendation rule value.
  • If there is no Set Type and Auto Lock defined at the attribute/layout-level and a recommendation rule is acting on an attribute, then Auto Lock is implicitly turned on internally and the lock is set to true.

For more information, refer to Recommendation Rules - Auto Lock.

ClosedURI Endpoint Sample

https://sitename.oracle.com/rest/v17/configvision.servers.ultraPowerSolutionPackage/actions/_update


ClosedRequest Body Sample

{ "cacheInstanceId": "lrtYGUDQ0bfcH8n49b0lrhtP0yOQm1YQBhzFIt5AxE98LystQC3UOfkbMJ1DHyiK", "configData": { "operatingSystem": { "value": "Ubuntu Server Edition", "displayValue": "Ubuntu Server Edition" }, "serverPerformance": { "value": "Mid Range", "displayValue": "Mid Range" } }, "criteria": { "fields": ["supportLevel", "powerSupply"], "childDefs": [{ "name": "_priceInfo" }, { "name": "_recmdModels" }, { "name": "_mandatoryModels" }, { "name": "_recmdParts" }, { "name": "_mandatoryParts" }, { "name": "_bom" } ] } }


Text file iconResponse Body Sample


Additional Support Information

ClosedSystem Configuration

System configurations have a system navigation panel that contains model and part icons to show the hierarchy of a system and status icons to identify models requiring user action.

System Navigation Status Object

The information for the system navigation panel is stored within the "_sysNavigationInfo" resource in the Configuration Run-Time Data REST APIs. Oracle CPQ 19C adds a new "_status" object within the "_sysNavigationInfo" resource. The "_status" object is a set of Boolean objects that give all the possible states of configuration for the items in the system.

The following table lists the items within the "_status" object.

Name

Title

Description

hasWarning

Warning

The model configuration contains items that should be reviewed.

hasConstraintViolation

Constraint Violation

The model configuration has a constraint violation.

hasMissingMandatory

Missing Mandatory

The model configuration is missing mandatory items.

hasEmptyRequiredAttribute

Empty Required Attribute

The model configuration has empty required attributes.

hasError

Error

The model configuration has constrained values, missing mandatory items, or empty required attributes.

hasFailedBomReverseMapping

Failed BOM Reverse Mapping

The model configuration failed BOM reverse mapping

hasRecommendedItemChanged

Recommended Item Changed

The recommended items list changed on invocation.

hasStarted

Started

The model configuration is configured.

isIncomplete

Incomplete

The model configuration has multiple nodes and the configuration hasn't progressed to the end node

isInvalid

Invalid

The model configuration is invalid. This could be the result of invalid BOM Mapping rules or a missing configuration flow.

ClosedSample Response Body


For additional information refer to System Configuration.


Notes

Configuration Run-Time Data APIs are not exposed inside Oracle CPQ REST Adapter in OIC/ICS.

Additionally, complete parity with the Legacy UI is not fully achieved yet. This will be addressed in the next few releases. Configuration REST APIs for the following features are not available:

  • Guided Selling/Search flow scenarios
  • Pipeline Viewer
  • Attribute calculators
The Configuration cache must be enabled for the Configuration Run-Time Data REST APIs to run. A warning error displays if the cache is not enabled.

Related Topics

Related Topics Link IconSee Also