Revision History

This document will continue to evolve as existing sections change and new information is added. All updates are logged below, with the most recent updates at the top.

Date

What's Changed

Notes

22 MAR 2017

Pre-Upgrade Considerations

Note added

22 MAR 2017

Mobile UI Enhancements

Minor Revisions

14 DEC 2016

Initial Document Creation

Overview

This guide outlines information about new or improved functionality in Oracle Configure, Price, and Quote (CPQ) Cloud 2016 Release 2 (2016 R2). Each section includes a brief description of the feature, the steps you need to take to enable or begin using the feature, any tips or considerations to keep in mind, and the resources available to help you.

Give Us Feedback

We welcome your comments and suggestions to help us improve this document. Send your feedback to CPQ_Cloud_documentation_us_grp@oracle.com.

Release Feature Summary

Some of the new CPQ Cloud 2016 Release 2 features are automatically available to users after the upgrade and some require action from the company administrator or Oracle.

The following table offers a quick view of the actions required to enable each of the features.

Feature

Action Required to Enable Feature

Automatically
Available

Administrator
Action Required

Oracle Service Request Required

Modern Selling Experience

Mobile UI Enhancements

Enterprise Platform

Enhancements for Rest APIs

Transaction REST APIs

External Configurator REST API

SOAP API Enhancements

Performance Enhancements

Integration Suite

Commerce Cloud Integration

External Configurator Integration

Other Enhancements

Modern Selling Experience

Leverage the rich interface and interactive capabilities available in CPQ Cloud to provide a smarter selling experience.

The following enhancements are available in CPQ Cloud 2016 R2:

Mobile UI Enhancements

CPQ Cloud 2016 R2 introduces Mobile UI enhancements that allow customers to use CPQ Cloud on a mobile phone and provides improved usability on both phones and tablets. In previous releases, the CPQ Cloud Mobile UI was optimized for only landscape orientation on tablet devices. With this release, screen use is dynamically optimized for both landscape and portrait orientations and introduces an improved, modernized user experience.

Reinforcing Oracle’s commitment to supporting integration with Salesforce, these Mobile UI enhancements also apply to the integration of the CPQ Cloud Mobile UI with the Salesforce1 Mobile UI. Stylistic improvements on each CPQ Cloud mobile page provide a seamless user experience directly aligning the CPQ Mobile UI with the Salesforce1 Mobile UI.

The 2016 R2 Mobile UI Enhancements are described below:

Use CPQ Cloud on a Mobile Phone or Tablet Device

CPQ Cloud 2016 R2 extends the modern selling capabilities of CPQ Cloud through support of CPQ Cloud on mobile phones. Customers can now use the CPQ Cloud Mobile UI on either a mobile phone or a tablet device.

To support this enhancement, several stylistic changes are included on CPQ Cloud mobile pages to provide a more modern and user friendly mobile experience.

Figure 1: CPQ Cloud on a Mobile Phone

View CPQ Cloud in Portrait or Landscape Orientation

CPQ Cloud 2016 R2 provides the ability to view the CPQ Cloud Mobile UI in portrait orientation. Since landscape orientation was supported in prior releases, customers now have the option of viewing the CPQ Cloud mobile UI in either portrait or landscape orientation.

Figure 2: Recommended Items Table in Portrait Orientation

Figure 3: Recommended Items Table in Landscape Orientation

NOTE: The number of buttons that display is based on the width of the screen in the current orientation. Use the button to access the action buttons not shown in the footer.

Show Columns in the Transaction Line Grid

A menu is now available in the upper-right corner of the Transaction Line Grid. This menu allows customers to show specific columns in the Transaction Line Grid.

To implement this enhancement, the attribute strip available in the previous mobile Commerce layout was removed.

NOTE: When the quote page is re-loaded from the server, the settings are lost. Customers must return to the menu in the upper-right corner of the Transaction Line Grid to re-apply their settings.

Figure 4: Show Columns in the Transaction Line Grid

Steps to Enable

Mobile UI enhancements are automatically available in the CPQ Cloud 2016 R2 mobile UI.

Tips and Considerations

Consider the following tips when using the 2016 R2 Mobile UI enhancements:

Key Resources

Refer to the following resources for additional information:

Enterprise Platform

Oracle is continually upgrading the functionality of CPQ Cloud to allow customers to build an open and flexible platform that creates value and drives results for companies.

The following Enterprise Platform features and enhancements are available in CPQ Cloud 2016 R2:

Enhancements for REST APIs

In 2016 R2, CPQ provides several REST API enhancements. These updates include additional request path parameters, request body parameters, and response data.

Request Path Enhancement

In 2016 R2, CPQ Cloud provides the Exclude Field Types request path query to limit returned filed types. Refer to CPQ Cloud Online Help - REST APIs for additional request path query parameters.

Exclude Field Types

When making REST API calls for CPQ transaction data, the system returns transaction data including all attribute types. This can create performance issues when the transaction is large and includes attributes containing HTML contents. Valid field types include boolean, currency, date, fileAttachment, float, history, integer, language, menu, readOnlyTextOrHtml, richText, secureText, summation, text, textArea, composite, customerId, sequenceNumber, and system.

To limit returned fields, append the "?excludeFieldType=<field type(s)>" query parameter to the end of the request path.

Request Body Enhancements

In 2016 R2, CPQ Cloud provides enhancements that allow request body inputs for selection, criteria queries, and user cache interaction. These requests are only available for REST APIs with POST methods.

NOTE: Request body inputs must be written in JSON and adhere to standard JSON syntax.

Line Selection Parameter

This enhancement supports using the REST call request body to select transaction lines. This service can be used for transaction and line level actions that support line selection.

Line Selection Sample

{"selections": ["transactionLine/2", "transactionLine/3"]}

Criteria Parameter Queries

An additional "criteria" object is now available when invoking a REST call on a resource action. Administrators can provide criteria parameters in the request body to retrieve specific content and limit the size of the response.

Criteria Query Parameters

Parameter

Description / Example

Actions

An array of action names, whose state is requested in the state object response.

"actions": ["save", "print"]

ChildDefs

An array of child query definitions that specifies query requests for child resources.

childDef
Parameters

name

The alias name of the child resource for this query

recursive

This Boolean parameter specifies whether the child resource is recursively expanded.

queryDef

An array of query definitions for the child resource

exclude
FieldTypes

This parameter allows exclusion of specified attribute types from the response.

Note: "excludeFieldTypes" and "fields" parameters cannot be used together in the same request body.

"excludefieldTypes": ["fieldtype1", "fieldtype2"]

Expand

An array of child resource names to be expanded and returned with the parent in the same request.

"expand": ["transactionLines", "accounts"]

expandedDomains

An array of field names that returns expanded domains in the state object response. The field's domain object will be expanded to include an "availableElements" array.

"expandedDomains": ["menuAttr1", "menuAttr2"]

fields

An array of field names to be returned. The "fields" array values determine the "attributes" in the response's state object.

"fields": ["field1", "field2"]

groups

An array of group names, whose state is requested in the state object response.

"groups": ["tab_123", "tab_234"]

orderBy

An array of field names to specify the order of items returned in the response, each field name could optionally be followed by ASC or DESC.

"orderBy": ["listPrice: ASC", "totalPrice: DESC"]

Q

This string declares a query specification expression in MongoDB format.

"q": "{'_part_number':{$eq:'part100'}}"

state

This Boolean parameter specifies whether to include the state property. By default, this value is set to false and the state property is not included.

"state": false

totalResults

This Boolean parameter specifies whether to calculate the totalResults property.
By default, the value is set to false indicating that totalResults
is not calculated.

"totalResults": false

Request Body Sample

"criteria": {
"totalResults": {true,false},
"q": "{'_part_number':{$eq:'part100'}}"}},
"state": false,
"orderBy": ["listPrice: ASC", "totalPrice: DESC"],
"expand": ["transactionLines", "accounts"],
"fields": ["field1", "field2"],
"actions": ["save", "print"],   
"groups": ["tab_123", "tab_234"],
"expandedDomains": ["menuAttr1", "menuAttr2"],
    "childDefs": [ {
          "name": "transactionLines",
          "recursive": false,
          "queryDef": {
          "state": true,
          "fields": ["lineField1", "lineField2]
          }
       }

}

State Object

The State Object queries allow filtering of state data in responses based on the query object provided in request body for Commerce Action APIs. Refer State Object Support for a detailed of returned objects.

NOTE: Empty array fields are not allowed for attributes. When an empty array is used in the criteria object for actions, groups, the corresponding state object will be omitted from the response. When an empty array is used in the criteria object for expanded domains, all attributes' domains returned in the state object will omit the "available" elements property.

Cache Interaction

This enhancement supports user cache interaction, which is used for interim state storage for AJAX rule execution. When invoking any action the user can pass in optional parameter called "cacheInstanceId". If the cache instance ID is not provided, previous changes to the cached object are ignored and the requested action will process the last saved instance of the transaction.

Use Cases Examples

  1. Open transaction 18097326, and load the document into user cache.
  2. Request Path Sample

    https://sitename.oracle.com/rest/v3/commerceDocumentsOraclecpqoTransaction/18097326/actions/_open_transaction

    Request Body Sample

    {"cacheInstanceId": "-1"}

    Sample "cacheInstanceId" Response

    "cacheInstanceId": "E9JuyC9QCgTDS9edghTNxRGOVUm34EMR7RJt9alFbkGTN0X5byTjHGRu1CxrSl1p"

  3. Retrieve cache instance and remove transaction line 8.

Request Path Sample

https://sitename.oracle.com/rest/v3/commerceDocumentsOraclecpqoTransaction/18097326/actions/_remove_transactionLine

Request Body Sample

{
"cacheInstanceId": "E9JuyC9QCgTDS9edghTNxRGOVUm34EMR7RJt9alFbkGTN0X5byTjHGRu1CxrSl1p",
"selections": ["transactionLine/8"]
}

Response Enhancements

In 2016 R2, CPQ Cloud provides several enhancements to return information necessary for integration with external user interfaces.

Destination URL

This enhancement returns the destination URL when a CPQ Cloud action has a destination tab with a configured destination. When available, the destination URL is returned in the JSON.

NOTE: The destination URL value may change from release to release. Consequently, logic should not rely on a specific fragment of the URL.

Currency Type Attributes

This enhancement returns currency type field as composite values. The composite value contains currency value and currency type.

Currency Type Sample

"transactionLineTotal": {"value": 43.35, "currency": "USD"}

Single-Select and Multi-Select Menu Attributes

This enhancement returns Single-Select and Multi-Select Menus as composite values. For Single-Select Menus, the composite value contains "value" and "displayValue" sub-fields. For Multi-Select Menus, the composite value contains a composite with an array of item elements each containing "value" and "displayValue" sub-fields.

Single-Select Menu Sample

"processManagerSSM": {"displayValue": "Value 1 Label", "value": "value1"}

Multi-Select Menu Sample

"processManagerMSM": {
"items": [
{"displayValue": "Value 2 Label", "value": "value2"},
{"displayValue": "Value 3 Label", "value": "value3"}
]
}

State Object Support

Transaction data services can now return state objects, if requested in the request body. For example, {"criteria": "state": "true"}. For more information, refer to Data Service Actions and Criteria Parameter Queries sections. The following table lists the state objects that are returned for transactions, transaction line lists, transaction lines, actions, attributes, domains, and groups.

State Object

Transaction

Transaction Line List

Transaction Line

Action

Attribute

Domain

Group

actions

X

X

attributes

X

X

availableElements

X

constraintList

X

constraintType

X

defaultRowState

X

deletable

X

domain

X

enabled

X

groups

X

X

hasConstraint
Violation

X

hasError

X

X

X

X

insertable

X

messages

X

X

queryable

X

required

X

sortable

X

updatable

X

X

visible

X

X

X

Steps to Enable

The REST API Enhancements are automatically available on 2016 R2 sites.

Key Resources

Refer to the CPQ Cloud Administration Online Help for additional information.

Transaction REST APIs

In 2016 R2, CPQ Cloud enhances the Transaction REST APIs to expose additional transactional data, metadata, layout, rules, and actions to enable seamless integration with third party user interfaces, such as the ADF UI and the Salesforce Lightning UI. The new REST APIs are exposed using v3 RESTful services.

This section is divided into the following sections:

Data Service Actions

Data service actions provide access to interface with transaction operations. In 2016 R2, request body parameters can be used to select items, modify items, retrieve specific content, and interact with user cache sessions.

Open Transaction

Open Transaction

Description

This action returns transaction data for a specific Transaction in the Commerce Process including any relevant attributes, actions, or rules.

Request Path

/rest/v3/commerceDocuments{processVarName}{MainDocVarName}/
(transactionId}/actions/{actionVarName}

Request Path Parameters

processVarName

The variable name of the Commerce process

MainDocVarName

The variable name of the main document

transactionId

The transaction ID

actionVarName

The variable name of the action to open a transaction

HTTP Method(s)

POST

Request Body Parameters

Optional, additional parameters can be provided to limit the results returned

Success Response

The JSON data for the requested transaction, or a subset of transaction items, depending on the input request

Request Path Sample

Open transaction 18097326

https://sitename.oracle.com/rest/v3/commerceDocumentsOraclecpqoTransaction/18097326/actions/_open_transaction

Open Transaction Line

Open Transaction Line

Description

This action opens selected transaction line and retrieves transaction line details including any relevant attributes, actions, or rules.

Request Path

/rest/v3/commerceDocuments{processVarName}{MainDocVarName}
/{transactionId}/actions/{actionVarName}

Request Path Parameters

processVarName

The variable name of the Commerce process

MainDocVarName

The variable name of the main document

transactionId

The Commerce Transaction ID

actionVarName

The variable name of the action to open a transaction line

HTTP Method(s)

POST

Request Body Parameters

selections

Used to specify the transaction line

Success Response

The JSON data for the parent transaction, or a subset of transaction items, depending on the input request

Request Path Sample

https://sitename.oracle.com/rest/v3/commerceDocumentsOraclecpqoTransaction/18094477/actions/_open_transactionLine

Request Body Sample

{"selections": ["transactionLine/3"]}

Create Transaction

Create Transaction

Description

This action creates a new Transaction in the Commerce Process.

Request Path

/rest/v3/commerceDocuments{ProcessVarName}{MainDocVarName}/actions/_new_transaction

Request Path Parameters

processVarName

The variable name of the Commerce process

MainDocVarName

The variable name of the main document

HTTP Method(s)

POST

Request Body Parameters

Criteria

Optional, use to request additional details, such as the 'state' object, refer to Criteria Parameters for more information

cacheInstanceId

Optional, use a "-1" value to load the complete transaction into the user's cache

Success Response

The JSON data of the new Transaction

Request Path Sample

https://sitename.oracle.com/rest/v3/commerceDocumentsOraclecpqoTransaction/actions/_copy_transaction

Destination URL

This enhancement returns the destination URL when a CPQ Cloud action has a destination tab with a configured destination. When available, the destination URL is returned in the JSON.

NOTE: The destination URL value may change from release to release. Consequently, logic should not rely on a specific fragment of the URL.

Copy Transaction

Copy Transaction

Description

This action duplicates an existing transaction.

NOTE: When multiple Copy Sequence Lists exist for a user type, the first accessible sequence is processed. Users are not given the option to choose copy options.

Request Path

/rest/v3/commerceDocuments{processVarName}{MainDocVarName}
/{transactionId}/actions/_copy_transaction

Request Path Parameters

processVarName

The variable name of the Commerce process

MainDocVarName

The variable name of the main document

transactionId

The Commerce Transaction ID

HTTP Method(s)

POST

Request Body Parameters

Optional, additional parameters can be provided to limit the results returned

Success Response

The JSON data for the duplicated transaction, or a subset of transaction items, depending on the input request

Request Path Sample

https://sitename.oracle.com/rest/v3/commerceDocumentsOraclecpqoTransaction/18103143/actions/_copy_transaction

Copy Transaction Line

This action is used to duplicate transaction lines. Request body "selections" and "numberOfCopies" parameters are used to provide specifications.

Number of Copies Parameter

The "numberOfCopies" parameter is an array to specify the number of copies for each line listed in the "selections" parameter.

Copy Transaction Line

Description

This action duplicates transaction lines within an existing transaction.

Request Path

/rest/v3/commerceDocuments{processVarName}{MainDocVarName}
/{transactionId}/actions/{actionVarname}

Request Path Parameters

processVarName 

The variable name of the Commerce process

MainDocVarName

The variable name of the main document

transactionId

The Commerce Transaction ID

actionVarName

The variable name of the action to copy transaction line

HTTP Method(s)

POST

Request Body Parameters

numberOfCopies

An array to specify the number of copies for each line listed in the "selections".

Selections

Used to specify the transaction line(s)

Additional parameters can be provided to limit the results returned

Success Response

The JSON data for the parent transaction including the copied transaction lines, or a subset of transaction items, depending on the input request transaction

Request Path Sample

https://sitename.oracle.com/rest/v3/commerceDocumentsOraclecpqoTransaction/18097326/actions/_copyLineItems_t

Request Body Samples

  1. Copy transaction lines 5 and 3, copy each item once
  2. {
    "numberOfCopies": [1,1],
    "selections": ["transactionLine/5",
    "transactionLine/3"]
    }

  3. Modify, and then copy transaction lines 5 and 7, copy each item once

{
"documents": {"transactionDescription": "Mar31",
"transactionLine": {"items": [
{"_document_number": "5", "_price_quantity": "45"},
{"_document_number": "7", "_price_quantity": "45"}
]}
},
"numberOfCopies": [1,1],
"selections": ["transactionLine/5",
"transactionLine/7"]
}

Remove Transaction Lines

Remove Transaction Lines

Description

This action deletes the selected transaction line(s) from the transaction.

Request Path

/rest/v3/commerceDocuments{processVarName}{MainDocVarName}
/{transactionId}/actions/{actionVarName}

Request Path Parameters

processVarName 

The variable name of the Commerce process

MainDocVarName

The variable name of the main document

transactionId

The Commerce Transaction ID

actionVarName

The variable name of the action to remove transaction line(s)

HTTP Method(s)

POST

Request Body Parameters

Selections

Used to specify the transaction line(s)

Additional parameters can be provided to limit the results returned

Success Response

The JSON data for the parent transaction without the deleted transaction lines, or a subset of transaction items, depending on the input request

Request Path Sample

https://sitename.oracle.com/rest/v3/commerceDocumentsOraclecpqoTransaction/17994570/actions/_remove_transactionLine

Request Body Sample

Use "selections" item in Request Body to select transaction lines 2 and 3

{"selections": ["transactionLine/2", "transactionLine/3"]}

Update Transaction Lines

Update Transaction Lines

Description

This action modifies transaction line details and updates the existing transaction.

Request Path

/rest/v3/commerceDocuments{processVarName}{MainDocVarName}
/{transactionId}/actions/{actionVarName}

Request Path Parameters

processVarName

The variable name of the Commerce process

MainDocVarName

The variable name of the main document

transactionId

The Commerce Transaction ID

actionVarName

The variable name of the action to update transaction lines

HTTP Method(s)

POST

Request Body Parameters

Additional parameters can be provided to limit the results returned

Success Response

JSON data for the transaction, including the updated transaction lines

Request Path Sample

https://sitename.oracle.com/rest/v3/commerceDocumentsOraclecpqoTransaction/17994570/actions/_update_line_items

Transaction Actions for Configuration

Reconfigure from Transaction

Reconfigure from Transaction

Description

This action provides ability to reconfigure a model transaction line from a transaction.

Request Path

/rest/v3/commerceDocuments{ProcessVarName}{MainDocVarName}
/{transactionId}/actions/{actionVarName}

Request Path Parameters

processVarName

The variable name of the Commerce process

MainDocVarName

The variable name of the main document

transactionId

The Commerce Transaction ID

actionVarName

The variable name of the action to reconfigure from a transaction

HTTP Method(s)

POST

Request Body Parameters

selections

Used to specify the transaction line(s)

Additional parameters can be provided to limit the results returned

Success Response

The response contains the Destination URL, which can be used to launch the product catalog page to select and configure a product.

Request Path Sample

https://sitename.oracle.com/rest/v3/commerceDocumentsOraclecpqoTransaction/18016533/actions/_reconfigure_action

Request Body Sample

{
"documents": {"displayHistoryLanguage": "en"},
"selections": ["transactionLine/2"]
}

Response Body Sample

{
"destinationURL": "https://sitename.oracle.com/commerce/buyside
/reconfig_form.jsp?action_id=4356762&doc_number=1&document_id=4356178
&id=18016533&destination_url=&_line_item_list=2",
"documents": {
"conditionsOperatorsHelp": null,
"formulaContains": null,
"reconfigureFormulasInbound": "0"
}
}

Reconfigure from Transaction Line

Reconfigure from Transaction Line

Description

This action provides ability to reconfigure a transaction line from a line level action.

Request Path

/rest/v3/commerceDocuments{ProcessVarName}{MainDocVarName}
/{transactionId}/{subDocVarName}/{subDocNumber}/actions/{actionVarName}

Request Path Parameters

processVarName 

The variable name of the Commerce process

MainDocVarName

The variable name of the main document

transactionId

The Commerce Transaction ID

subDocVarName

The variable name of the sub document

subDocNumber

The sub document number

actionVarName

The variable name of the action to reconfigure from a transaction line

HTTP Method(s)

POST

Request Body Parameters

Documents

Optional, JSON data to modify transaction

Success Response

The response contains the "Destination URL", which can be used to launch the product catalog page to select and configure a product.

Request Path Sample

https://sitename.oracle.com/rest/v3/commerceDocumentsOraclecpqoTransaction/18016533/transactionLine/2/actions/_reconfigure_action

Request Body Sample

{
"documents": {"_price_quantity": "20"}
}

Response Body Sample

{
"destinationURL": "https://sitename.oracle.com/commerce/buyside
/reconfig_form.jsp?action_id=4356762&doc_number=1&document_id=4356178
&id=18016533&destination_url=&_line_item_list=2",
"documents": {
"orderOfOpsInputSubDoc": null,
"_line_bom_item_quantity": null,
"copyLineItemsInitializationMSM": "Value 3~Value 4"
}
}

Add from Catalog in Transaction

The Add from Catalog REST call executes the action defined for Add from Catalog and returns a redirect "Destination" URL to launch the catalog. The Destination URL is used to launch the catalog in CPQ Cloud.

Add from Catalog in Transaction

Description

This action executes the Add from Catalog action and returns the Destination URL to launch the catalog.

Request Path

/rest/v3/commerceDocuments{ProcessVarName}{MainDocVarName}
/{transactionId}/actions/{addFromCatalogAction}

Request Path Parameters

processVarName

The variable name of the Commerce process

MainDocVarName

The variable name of the main document

transactionId

The Commerce Transaction ID

addFromCatalogAction

User-defined Add from Catalog action

HTTP Method(s)

POST

Request Body Parameters

Documents

Optional, JSON data to modify the transaction

cacheInstanceId

Optional, use a "-1" value to load the complete transaction into the user's cache

Success Response

The response contains the Destination URL, which is used to launch the product catalog page to select a catalog item.

Request Path Sample

https://sitename.oracle.com/rest/v3/commerceDocumentsOraclecpqoTransaction/18016533/actions/addFromCatalog

Request Body Sample

{
"documents": {"displayHistoryLanguage": "en"},
"cacheInstanceId": "-1"
}

Response Body Sample

{
"destinationURL": "http://sitename.oracle.com/commerce
/display_company_profile.jsp?action_id=17905905&document_id=4356178&bsId=18016533
&versionId=15514396&destination_url=",
"documents": {
"items": [{
"conditionsOperatorsHelp": null,
"formulaContains": null,
"reconfigureFormulasInbound": "0"
}]
}

Add from Catalog in a Transaction Line

Add from Catalog in a Transaction Line

Description

This action executes the Add from Catalog action and returns the Destination URL to launch the catalog.

Request Path

/rest/v3/commerceDocuments{ProcessVarName}{MainDocVarName}
/{transactionId}/{subDocVarName}/{subDocNumber}/actions
/{addFromCatalogAction}

Request Path Parameters

processVarName

The variable name of the Commerce process

MainDocVarName

The variable name of the main document

transactionId

The Commerce Transaction ID

subDocVarName

The variable name or the sub document

subDocNumber

The sub document number

addFromCatalogAction

User-defined Add from Catalog action

HTTP Method(s)

POST

Request Body Parameters

documents

Optional, JSON data to modify the transaction line

Success Response

The response contains the Destination URL, which is used to launch the product catalog page to select a catalog item.

Request Path Sample

https://sitename.oracle.com/rest/v3/commerceDocumentsOraclecpqoTransaction/18016533/transactionLine/2/actions/addFromCatalogSubDoc

Request Body Sample

{
"documents": {
"transactionLine": {
"items": [{"addFromCatalogFormulaInputSubDoc": "pqrs"}]
}
}
}

Response Body Sample

{
"destinationURL": "http://sitename.oracle.com/commerce
/display_company_profile.jsp?action_id=17905905&document_id=4356178&bsId=18016533
&versionId=15514396&destination_url=",
"documents": {
"items": [{
"conditionsOperatorsHelp": null,
"formulaContains": null,
"reconfigureFormulasInbound": "0"
}]
}
}

Advanced Transaction Actions

Change Currency

NOTE: The currency can only be changed for transactions without any transaction lines.

Change Currency

Description

This action changes the currency at the Transaction level.

Request Path

/rest/v3/commerceDocuments{ProcessVarName}{MainDocVarName}
/{transactionId}/actions/{currencyActionVarName}

Request Path Parameters

processVarName 

The variable name of the Commerce process

MainDocVarName

The variable name of the main document

transactionId

The Commerce Transaction ID

currencyActionVarName

The variable name of the change currency action

HTTP Method(s)

POST

Request Body Parameters

currencyCode

The requested currency code, this item is required

Additional parameters can be provided to limit the results returned

Success Response

JSON data containing the transaction with the updated currency

Request Path Sample

https://sitename.oracle.com/rest/v3/commerceDocumentsOraclecpqoTransaction/18498612/actions/_change_currency

Request Body Sample

{"currencyCode": "USD"}

Email Actions

In the CPQ Cloud application, the email feature is implemented using a two-step process. The first action modifies the transaction and returns the objects required to send an email. The second action generates the email attachment and sends the email.

Modify Transaction for Email

Modify Transaction for Email

Description

This action modifies and saves a transaction for email.

Request Path

/rest/v3/commerceDocuments{ProcessVarName}{MainDocVarName}
/{transactionId}/actions/{emailActionVarName}

Request Path Parameters

processVarName 

The variable name of the Commerce process

MainDocVarName

The variable name of the main document

transactionId

The Commerce Transaction ID

emailActionVarName

The variable name of the modify email action

HTTP Method(s)

POST

Request Body Parameters

documents

Optional, JSON data to modify the transaction

cacheInstanceId

Optional, use a "-1" value to load the complete transaction into the user's cache

Success Response

Returns the transaction, email fields, XSL views, attachments, available attachments for merge, generated proposal attachment for merge, and the cache instance ID (if requested)

Response Body Parameters

ccEmail

cc email address(es)

fromName

The sender’s name

fromEmail

The sender’s email address

subject

The email subject line

bccEmail

bcc email address(es)

toEmail

The recipient's email address(es)

toName

The recipient's name

comments

Comments to be sent in the email body

xslView

Printer friendly proposals or history outputs generated from predefined XSL templates

attachments

Attachments to send with the email

available
AttachmentsForMerge

The list of attachments which can be merged with the proposal document

generatedProposal

AttachmentForMerge

The proposal attachment selected by default.
The default ID value for the transaction is -2.

cacheInstanceID

The cache instance ID, if requested

Request Path Sample

https://sitename.oracle.com/rest/v3/commerceDocumentsOraclecpqoTransaction/18498612/actions/transactionEmailAction

Request Body Sample

Change language to German, update the price quantity for documents 2 and 3, and load the complete transaction to the user's cache.

{
"documents": {
"languageForEmailAndPrint": "de",
"transactionLine": {
"items": [
{"_price_quantity": 33,
"_document_number": 3},
{"_price_quantity": 22,
"_document_number": 2}
]
}
},
"cacheInstanceId": "-1"
}

Response Body Sample

Send Email Transaction

Send Transaction Email

Description

This action collects email form data, generates the attachment, pushes the email to SMTP servers, and returns confirmation on email sent time. The email recipient receives an email with the comments in the email body and an attachment that contains the transaction information.

Request Path

/rest/v3/commerceDocuments{ProcessVarName}{MainDocVarName}
/{transactionId}/actions/_send_email


Request Path Parameters

processVarName 

The variable name of the Commerce process

MainDocVarName

The variable name of the main document

transactionId

The Commerce Transaction ID

HTTP Method(s)

POST

Request Body Parameters

fromName

The sender's name

ccEmail

cc email address(es)

subject

The email subject line
This parameter is required to send email.

bccEmail

bcc email address(es)

toEmail

The recipient's email address(es)

This parameter is required to send email.

toName

The recipient's name

comments

Comments to be sent in the email body

actionVariableName

The email action variable name

attachmentIds

The attachment IDs

attachmentIdsForMerge

The attachment IDs to merge

cacheInstanceId

The cache instance ID

Success Response

JSON with summary message for sending email

Request Path Sample

https://sitename.oracle.com/rest/v3/commerceDocumentsOraclecpqoTransaction/18498612/actions/_send_email

Request Body Sample

{
"ccEmail": null,
"fromName": null,
"subject": "From REST: Quote Email Action Subject",
"bccEmail": null,
"toEmail": "firstname.lastname@oracle.com",
"toName": null,
"comments": "Comments for Quote Email",
"actionVariableName": "quoteEmailAction",
"attachmentIds": ["18763342", "18763343", "18763344"],
"attachmentIdsForMerge": ["-2", "18763342", "18763577"],
"cacheInstanceId": "5J9MTQAbF1ZmcJGnul6y4WOrAydsRpSyR2vvW1o7fWkrEkO89aiFxbEQSIUCEnF4"
}

Response Body Sample

{
"message": "Your email was sent on 08/26/2016 4: 42PM",
"cacheInstanceId": "5J9MTQAbF1ZmcJGnul6y4WOrAydsRpSyR2vvW1o7fWkrEkO89aiFxbEQSIUCEnF4"
}   

Modify Transaction Lines for Email

Modify Transaction Lines for Email

Description

This action modifies and saves transaction lines for email.

Request Path

/rest/v3/commerceDocuments{ProcessVarName}{MainDocVarName}
/{transactionId}/{subDocVarName}/{subDocNum}/actions
/{emailActionVarName}

Request Parameters

processVarName 

The variable name of the Commerce process

MainDocVarName

The variable name of the main document

transactionId

The Commerce Transaction ID

subDocVarName

The variable name for the sub document

subDocNum

The sub document number

emailActionVarName

The variable name of the modify email action

HTTP Method(s)

POST

Request Body Parameters

documents

Optional, JSON data to modify the transaction line

cacheInstanceId

Optional, use a "-1" value to load the complete transaction into the user's cache

Success Response

Returns the transaction line, email fields, XSL views, attachments, available attachments for merge, generated proposal attachment for merge, and the cache instance ID (if requested)

Response Body Parameters

ccEmail

cc email address(es)

fromName

The sender’s name

fromEmail

The sender’s email address

subject

The email subject line

bccEmail

bcc email address(es)

toEmail

The recipient's email address(es)

toName

The recipient's name

comments

Comments to be sent in the email body

xslView

Printer friendly proposals or history outputs generated from predefined XSL templates

attachments

Attachments to send with the email

available
AttachmentsForMerge

The list of attachments which can be merged with the proposal document

generatedProposal
AttachmentForMerge

The proposal attachment selected by default.
The default ID value for the transaction is -2.

cacheInstanceID

The cache instance ID, if requested

Request Path Sample

https://sitename.oracle.com/rest/v3/commerceDocumentsOraclecpqoTransaction/18498612/transactionLine/3/actions/lineEmailAction

Request Body Sample

{
"documents": {"_price_quantity": 101},
"cacheInstanceId": "-1"
}

Response Body Sample

Send Transaction Lines Email

Send Transaction Lines Email

Description

This action collects email form data, generates the attachment, pushes the email to SMTP servers, and returns confirmation on email sent time. The email recipient receives an email with the comments in the email body and an attachment that contains the transaction information.

Request Path

/rest/v3/commerceDocuments{ProcessVarName}{MainDocVarName}
/{transactionId}/{subDocVarName}/{subDocNum}/actions/_send_email

Request
Path Parameters

processVarName

The variable name of the Commerce process

MainDocVarName

The variable name of the main document

transactionId

The Commerce Transaction ID

subDocVarName

The variable name for the sub document

subDocNum

The sub document number

HTTP Method(s)

POST

Request Body Parameters

fromName

The sender's name

ccEmail

cc email address(es)

fromName

The sender’s name

subject

The email subject line
This parameter is required to send email.

bccEmail

bcc email address(es)

toEmail

The recipient's email address(es)
This parameter is required to send email.

toName

The recipient's name

comments

Comments to be sent in the email body

actionVariableName

The email action variable name

attachmentIds

The attachment IDs

attachmentIdsForMerge

The attachment IDs to merge

cacheInstanceId

The cache instance ID

Success Response

JSON with summary message for sending email

Request Path Sample

https://sitename.oracle.com/rest/v3/commerceDocumentsOraclecpqoTransaction/18498612/transactionLine/3/actions/_send_email

Request Body Sample

{
"ccEmail": null,
"fromName": null,
"subject": "From REST: Line Email Action Subject",
"bccEmail": null,
"toEmail": "firstname.lastname@oracle.com",
"toName": null,
"comments": "Comments for Send Transaction Line Email",
"actionVariableName": "lineEmailAction",
"attachmentIds": ["18763576", "18763577"],
"attachmentIdsForMerge": ["-2", "18763576", "18763577"],
"cacheInstanceId": "8ddwWVX37LMIC9oO1zs0ZOFkmUp93ZFxL5v9s2hT2p1q6Zmph9u1LKjkRLIOasNo"
}

Response Body Sample

{
"message": "Your email was sent on 08/26/2016 4: 42PM"
"cacheInstanceId": "8ddwWVX37LMIC9oO1zs0ZOFkmUp93ZFxL5v9s2hT2p1q6Zmph9u1LKjkRLIOasNo"
}      

Print Actions

In the CPQ Cloud application, the print feature is implemented using a two-step process. The first step modifies the transaction for print. The second step prints the transaction, using the data collected during modification.

Modify Transaction for Print

Modify Transaction for Print

Description

This action modifies and saves a transaction for print.

Request Path

/rest/v3/commerceDocuments{ProcessVarName}{MainDocVarName}
/{transactionId}/actions/{printActionVarName}

Request Path Parameters

processVarName 

The variable name of the Commerce process

MainDocVarName

The variable name of the main document

transactionId

The Commerce Transaction ID

printActionVarName

The variable name of the print preparation action

HTTP Method(s)

POST

Request Body Parameters

documents

Optional, JSON data to modify the transaction

cacheInstanceId

Optional, use a "-1" value to load the complete transaction into the user's cache

Success Response

Returns the transaction, XSL views, available attachments for merge, generated proposal attachment for merge, and the cache instance ID (if requested)

Response Body Parameters

xslView

Printer friendly proposals or history outputs generated from predefined XSL templates

available
AttachmentsForMerge

The list of attachments which can be merged with the print document

generatedProposal
AttachmentForMerge

The Attachment Selected by Default.
The default ID value for the transaction is -2.

cacheInstanceID

The cache instance ID, if requested

Request Path Sample

https://sitename.oracle.com/rest/v3/commerceDocumentsOraclecpqoTransaction/18498612/actions/transactionPrintAction

Request Body Sample

Change language to German, update the price quantity for documents 2 and 3, and load the complete transaction to the user's cache.

{
"documents": {
"languageForEmailAndPrint": "de",
"transactionLine": {
"items": [
{"_price_quantity": 33, "_document_number": 3},
{"_price_quantity": 22, "_document_number": 2}
]
}
},
"cacheInstanceId": "-1"
}

Response Body Sample

Print Transaction

Print Transaction

Description

This action validates user access and collects transaction, XSL, and language settings. If requested, the print document is saved and printed to the file attachment attribute in the transaction.

Request Path

/rest/v3/commerceDocuments{ProcessVarName}{MainDocVarName}
/{transactionId}/actions/_print_document


Request Path Parameters

processVarName 

The variable name of the Commerce process

MainDocVarName

The variable name of the main document

transactionId

The Commerce Transaction ID

HTTP Method(s)

POST

Request Body Parameters

actionVarName

The print preparation action variable name

saveToQuote

Indicates if the print document is saved to the transaction, valid values are {true, false}

Note: If this value conflicts with the setting in the print action (e.g. the "Save Document Upon Printing - Desktop", an error is returned.

attachmentsIdsForMerge

The attachment IDs to merge

cacheInstanceID

The cache instance ID

Success Response

JSON with summary message for printing transaction

Response Body Parameters

fileContent

The Base64 encoded binary document value

fileContentType

The file content type

fileTitle

The file name used when saving to the transaction file attachment attribute, or when downloading the file

fileAttachmentAttribute

Used for confirmation

cacheInstanceID

The cache instance ID

Request Path Sample

https://sitename.oracle.com/rest/v3/commerceDocumentsOraclecpqoTransaction/18498612/actions/_print_document

Request Body Sample

{
"actionVariableName":
"transactionPrintAction",
"saveToQuote":
"true",
"attachmentIdsForMerge": ["-2", "18763342", "18763344", "18763576", "18763577"],
"cacheInstanceId": "sKtuHHB4bc2LkKSjmJEK6Gl2xaRXI49bOWCWjuwOPMDcqRYyhEn355YbKRQ3fbcs"
}

Response Body Sample

{
"fileContent": "base64 encoded binary document value here",
"fileContentType": "application/pdf",
"fileTitle": "Document.pdf",
"fileAttachmentAttribute": "File Attachment",
"cacheInstanceId": "sKtuHHB4bc2LkKSjmJEK6Gl2xaRXI49bOWCWjuwOPMDcqRYyhEn355YbKRQ3fbcs"}

Modify Transaction Lines for Print

Modify Transaction Lines for Print

Description

This action modifies and saves transaction lines for print.

Request Path

/rest/v3/commerceDocuments{ProcessVarName}{MainDocVarName}
/{transactionId}/{subDocVarName}/{subDocNum}/actions/_print_document

Request Path Parameters

processVarName 

The variable name of the Commerce process

MainDocVarName

The variable name of the main document

transactionId

The Commerce Transaction ID

subDocVarName

The variable name for the sub document

subDocNum

The sub document number

HTTP Method(s)

POST

Request Body Parameters

documents

Optional, JSON data to modify the transaction line

cacheInstanceId

Optional, use a "-1" value to load the complete transaction into the user's cache

Success Response

Returns the transaction line, XSL views, available attachments for merge, generated proposal attachment for merge, and the cache instance ID (if requested)

Response Body Parameters

documents

The JSON transaction

xslView

Printer friendly proposals or history outputs generated from predefined XSL templates

available
AttachmentsForMerge

The list of attachments which can be merged with the print document

generatedProposal
AttachmentForMerge

The Attachment Selected by Default.
The default value for the transaction is -2.

cacheInstanceID

The cache instance ID, if requested

Request Path Sample

https://sitename.oracle.com/rest/v3/commerceDocumentsOraclecpqoTransaction/18498612/transactionLine/3/actions/linePrintAction

Request Body Sample

{
"documents": {"_price_quantity": 101},
"cacheInstanceId": "-1"
}

Response Body Sample

{
"documents": {
"items": [{
"_price_quantity": 101,
"_document_number": 2
}
]
},
"xslView": "Print RTE (PDF)(Printer Friendly/History)",
"generatedProposalAttachmentForMerge": [{
"id": "-2",
"name": "GENERATED PROPOSAL"
}
],
"availableAttachmentsForMerge": [{
"id": "18763576",
"name": "Merge1.pdf (Transaction Line - File Attachment Sub Doc 1)"
}, {
"id": "18763577",
"name": "Merge2.pdf (Transaction Line - File Attachment Sub Doc 2)"
}
],
"fileAttachmentAttribute": "File Attachment",
"cacheInstanceId": "8ddwWVX37LMIC9oO1zs0ZOFkmUp93ZFxL5v9s2hT2p1q6Zmph9u1LKjkRLIOasNo"
}

Print Transaction Lines

Print Transaction Lines

Description

This action validates user access and collects transaction, XSL, and language settings. If requested, the print document is saved and printed to the file attachment attribute in the transaction.

Request Path

/rest/v3/commerceDocuments{ProcessVarName}{MainDocVarName}
/{transactionId}/actions/_print_document


Request Path Parameters

processVarName 

The variable name of the Commerce process

MainDocVarName

The variable name of the main document

transactionId

The Commerce Transaction ID

subDocVarName

The variable name for the sub document

subDocNum

The sub document number

HTTP Method(s)

POST

Request Body Parameters

printActionVarName

The print preparation action variable name

saveToQuote

Indicates if the print document is saved to the transaction, valid values are {true, false}

Note: If this value conflicts with the setting in the print action (e.g. the "Save Document Upon Printing - Desktop", an error is returned.

attachmentsIdsForMerge

The attachment IDs to merge

cacheInstanceID

The cache instance ID

Success Response

JSON with summary message for printing transaction

Response Body Parameters

fileContent

The Base64 encoded binary document value

fileContentType

The file content type

fileTitle

The file name used when saving to the transaction file attachment attribute, or when downloading the file

fileAttachmentAttribute

Used for confirmation

cacheInstanceID

The cache instance ID

Request Path Sample

https://sitename.oracle.com/rest/v3/commerceDocumentsOraclecpqoTransaction/18498612transactionLine/2/actions/_print_document

Request Body Sample

{
"documents": {
"actionVariableName": "linePrintAction",
"saveToQuote": "true",
"attachmentIdsForMerge": ["-2", "18763576", "18763577"]
},
"cacheInstanceId": "8ddwWVX37LMIC9oO1zs0ZOFkmUp93ZFxL5v9s2hT2p1q6Zmph9u1LKjkRLIOasNo"
}

Response Body Sample

{
"fileContent": "base64 encoded binary document value here",
  "fileContentType": "application/pdf",
  "fileTitle": "Document.pdf",
   "fileAttachmentAttribute": "File Attachment",
"cacheInstanceId": "8ddwWVX37LMIC9oO1zs0ZOFkmUp93ZFxL5v9s2hT2p1q6Zmph9u1LKjkRLIOasNo"
}

Interaction Related Actions

These actions allow the consumer to interact with a Commerce transaction without saving changes to the database. Interact and Drop Cache actions are included.

Interact Action

Add Interact is a special action that allows consumer to run auto-update rules. It modifies transaction attributes values and state in the specified cache for a transaction.

In addition to "cacheInstanceId", the "triggerAttrVarName" parameter can be used to run rules based on the trigger attribute. If omitted, no new rules will run. The triggering attribute value is the transaction or transaction line attribute variable name.

Interact Action

Description

This action modifies transaction attribute values, and optionally triggers auto-update rules without committing or retrieving the latest data from the database. Since this action does not save the transaction to the database, it does not affect how other users see the transaction.

Request Path

/rest/v3/commerceDocuments{processVarName}{mainDocVarName}
/{transactionId}/actions/_interact

Request Path Parameters

processVarName

The variable name of the Commerce process

mainDocVarName

The variable name of the main document

transactionId

The Commerce Transaction ID

HTTP Method(s)

POST

Request Path Parameters

cacheInstanceId

The cache instance ID

Success Response

The requested cached transaction is returned

Request Path Sample

Interact with an item within transaction 18330547

https://sitename.oracle.com/rest/v3/commerceDocumentsOraclecpqoTransaction/18330547/actions/_interact

Request Body Sample

Retrieve a cache instance, modify the "_price_quantity" for transaction line 2, and save the updates to cache using "transactionLine/2/_price_quantity" as the trigging attribute

{
"cacheInstanceId": "E9JuyC9QCgTDS9edghTNxRGOVUm34EMR7RJt9alFbkGTN0X5byTjHGRu1CxrSl1p",
"triggerAttrVarName": "transactionLine/2/_price_quantity",
"documents": {
"transactionLine": {
"items": [{"_price_quantity": "100", "_document_number": "2"}]
}
}
}

Drop Cache

Drop Cache

Description

This action clears the cache created through rest services.

Note: Unless dropcache is invoked, user cache remains in memory for the duration of the timeout specified in administration. Leaving cached objects in memory will have a negative effect on site performance.

Request Path

/rest/v3/commerceDocuments{processVarName}{mainDocVarName}
/{transactionId}/actions/_dropCache

Request Path Parameters

processVarName

The variable name of the Commerce process

mainDocVarName

The variable name of the main document

transactionId

The Commerce Transaction ID

HTTP Method(s)

POST

Request Path Parameters

cacheInstanceId

The cache instance ID

Success Response

The requested cache instance is cleared.

Request Path Sample

https://sitename.oracle.com/rest/v3/commerceDocumentsOraclecpqoTransaction/18330547/actions/_dropCache

Request Body Sample

{"cacheInstanceId": "E9JuyC9QCgTDS9edghTNxRGOVUm34EMR7RJt9alFbkGTN0X5byTjHGRu1CxrSl1p"}

Layout Service

This REST service returns CPQ transaction desktop layout definitions for UI frameworks, like Oracle ADF (Application Development Framework) and Salesforce.com Lightning UI, to consume. The desktop layout definition contains the following items:

Get Transaction Layout

Get Transaction Layout

Description

This action returns the desktop layout definition for a specific Commerce process.

Request Path

/rest/v3/commerceProcesses/{processVarName}/layouts/{mainDocVarName}

Request Path Parameters

processVarName

The variable name of the Commerce process

mainDocVarName

The variable name of the main document

HTTP Method(s)

GET

Request Body Parameters

None

Success Response

JSON data containing the desktop layout definition for the requested Commerce process

Request Path Sample

https://sitename.oracle.com/rest/v3/commerceProcesses/oraclecpqo/layouts/transaction

Metadata Services

The metadata endpoints expose information about the definitions of the Commerce main document, sub document, actions, attributes, and translations. The information for these items is organized in a hierarchical structure. The following table displays the parent child relationship for main documents, sub documents, actions, attributes, menu items, and translations.

Figure 5: Document Hierarchical Structure

Metadata APIs

A REST call to retrieve data for an object will return object's information and links to the child objects. For example, "Get Metadata for a Document" will return the object's definition information and links to actions and attributes. Request path queries can be used to expand or limit the returned data.

Document Metadata

This service returns the document metadata for the requested Commerce document. Links to the current REST call, actions, and attributes are included in the response.

Get Documents Metadata

Get Documents Metadata

Description

This service returns the document metadata for all Commerce documents.

Request Path

/rest/v3/commerceProcesses/{processVarName}/documents

Request Path Parameters

processVarName

The variable name of the Commerce process

HTTP Method(s)

GET

Request Body Parameters

None

Success Response

JSON data containing the document metadata for all documents

Request Path Sample

https://sitename.oracle.com/rest/v3/commerceProcesses/oraclecpqo/documents

Response Body Sample   

Get Document Metadata

Get Document Metadata

Description

This service returns the metadata for a specific Commerce document.

Request Path

/rest/v3/commerceProcesses/{processVarName}/documents/{docVarName}

Request Path Parameters

processVarName

The variable name of the Commerce process

docVarName

The variable name of the Commerce document

HTTP Method(s)

GET

Request Body Parameters

None

Success Response

JSON data containing the document metadata for the specified document

Use Case Examples

  1. Get document metadata for "transaction"
  2. Request Path Sample

    https://sitename.oracle.com/rest/v3/commerceProcesses/oraclecpqo/documents/transaction

    Response Body Sample   

       

  3. Get document metadata for "transaction" using the 'Expand All' parameter to include metadata for all related actions, attributes, and translations

Request Path Sample

https://sitename.oracle.com/rest/v3/commerceProcesses/oraclecpqo/documents
/transaction?expand=all*

Action Metadata

This service returns the action metadata for the specified Commerce main document or sub document. The action metadata is comprised of the following information:

NOTE: Process actions are only returned under the main document and are not accessible for process or sub document requests. Standard process actions include copy, email, print, or create new transaction.

Get Actions Metadata

Get Actions Metadata

Description

This service returns the metadata for all actions defined for the specified Commerce document.

Request Path

/rest/v3/commerceProcesses/{processVarName}/documents
/{docVarName}/actionDefs

Request Path Parameters

processVarName

The variable name of the Commerce process

docVarName

The variable name of the document

HTTP Method(s)

GET

Request Body Parameters

None

Success Response

JSON data containing metadata for all actions related to the specified document

Request Path Samples

  1. Get metadata for all "transaction" actions
  2. https://sitename.oracle.com/rest/v3/commerceProcesses/oraclecpqo/documents
    /transaction/actionDefs

  3. Get metadata for all "transaction" actions using the 'Expand All' parameter to include all translations

https://sitename.oracle.com/rest/v3/commerceProcesses/oraclecpqo/documents
/transaction/actionDefs?expand=all*

Get Action Metadata

Get Action Metadata

Description

This service returns the metadata for a specific Commerce action.

Request Path

/rest/v3/commerceProcesses/{processVarName}/documents
/{docVarName}/actionDefs/{actionVarName}

Request Path Parameters

processVarName

The variable name of the Commerce process

docVarName

The variable name of the document

actionVarName

The variable name of a Commerce action

HTTP Method(s)

GET

Request Body Parameters

None

Success Response

JSON data containing the action metadata for a specific Commerce action

Request Path Sample

Get action metadata for "update_line_items"

https://sitename.oracle.com/rest/v3/commerceProcesses/oraclecpqo/documents
/transaction/actionDefs/_update_line_items

Response Body Sample

Attribute Metadata

This service returns the attribute metadata for the specified Commerce document. The attribute metadata is comprised of the following information:

Get Attributes Metadata

Get Attributes Metadata

Description

This service returns the metadata for all attributes defined for the specified Commerce document.

Request Path

/rest/v3/commerceProcesses/{processVarName}/documents
/{docVarName}/attributes

Request Path Parameters

processVarName

The variable name of the Commerce process

docVarName

The variable name of the document

HTTP Method(s)

GET

Request Body Parameters

None

Success Response

JSON data containing metadata for all attributes related to the specified document

Request Path Samples

  1. Get metadata for all "transaction" attributes
  2. https://sitename.oracle.com/rest/v3/commerceProcesses/oraclecpqo/documents
    /transaction/attributes

  3. Get metadata for all "transaction" attributes using the 'Expand All' parameter to include all translations

https://sitename.oracle.com/rest/v3/commerceProcesses/oraclecpqo/documents
/transaction/attributes?expand=all*

Get Attribute Metadata

Get Attribute Metadata

Description

This service returns the metadata for a specific Commerce attribute.

Request Path

/rest/v3/commerceProcesses/{processVarName}/documents
/{docVarName}/attributes/{attributeVarName}

Request Path Parameters

processVarName 

The variable name of the Commerce process

docVarName

The variable name of the document

attributeVarName

The variable name of a Commerce attribute

HTTP Method(s)

GET

Request Body Parameters

None

Success Response

JSON data containing the attribute metadata for a specific Commerce attribute

Request Path Sample

Get attribute metadata for "_customer_t_email "

https://sitename.oracle.com/rest/v3/commerceProcesses/oraclecpqo/documents/transaction/attributes/_customer_t_email

Response Body Sample

Menu Item Metadata

This service returns the menu item metadata for the specified attribute. The menu item metadata is comprised of the following information:

Get Menu Items Metadata

Get Menu Items Metadata

Description

This service returns the metadata for all menu items defined for the specified Commerce attribute.

Request Path

/rest/v3/commerceProcesses/{processVarName}/documents
/{docVarName}/attributes/{attributeVarName}/menuItems

Request Path Parameters

processVarName 

The variable name of the Commerce process

docVarName

The variable name of the document

attributeVarName

The variable name of the Commerce menu type attribute

HTTP Method(s)

GET

Request Body Parameters

None

Success Response

JSON data containing metadata for all menu items related to the specified attribute

Request Path Sample

Get menu item metadata for " paymentTerms_t "

https://sitename.oracle.com/rest/v3/commerceProcesses/oraclecpqo/documents/transaction/attributes/paymentTerms_t/menuItems

Response Body Sample

Get Menu Item Metadata

Get Menu Item Metadata

Description

This service returns the metadata for a specific menu item.

Request Path

/rest/v3/commerceProcesses/{processVarName}/documents
/{docVarName}/attributes/{attributeVarName}/menuItems/{id}

Request Path Parameters

processVarName 

The variable name of the Commerce process

docVarName

The variable name of the document

attributeVarName

The variable name of the Commerce menu type attribute

Id

The id of the menu item

HTTP Method(s)

GET

Request Body Parameters

None

Success Response

JSON data containing the menu item metadata for a specific menu item

Request Path Sample

Get metadata for the "paymentTerms_t" menu item 36244405

https://sitename.oracle.com/rest/v3/commerceProcesses/oraclecpqo/documents/transaction/attributes/paymentTerms_t/menuItems/36244405

Response Body Sample

Translation Services

The translation services retrieve translations for actions, attributes, and menu items. Translations for all site-supported languages can be retrieved. If a translation is not defined, an empty string is returned for the requested value. The following fields are translatable:

Get Action Translations

This service returns the user-defined translations for action labels and descriptions. This service also returns links to the current REST call and the parent action item.

Get Action Translations

Description

This service returns all language translations for an action.

Request Path

/rest/v3/commerceProcesses/{processVarName}/documents
/{docVarName}/actionDefs/{actionVarName}/translations

Request Path Parameters

processVarName

The variable name of the Commerce process

docVarName

The variable name of the document

actionVarName

The variable name of the Commerce action

HTTP Method(s)

GET

Request Body Parameters

None

Success Response

JSON data containing all translations for an action

Request Path Sample

Get all translations for "_update_line_items" action

https://sitename.oracle.com/rest/v3/commerceProcesses/oraclecpqo/documents/transaction/actionDefs/_update_line_items/translations

Get Action Translation

Get Action Translation

Description

This service returns a specific language translation for an action.

Request Path

/rest/v3/commerceProcesses/{processVarName}/documents/{docVarName}/actionDefs/{actionVarName}/translations/{languageCode}

Request Path Parameters

processVarName

The variable name of the Commerce process

docVarName

The variable name of the document

actionVarName

The variable name of the Commerce action

languageCode

The language code

HTTP Method(s)

GET

Request Body Parameters

None

Success Response

JSON data containing specific language translation for an action

Request Path Sample

Get French translation for "_update_line_items" action

https://sitename.oracle.com/rest/v3/commerceProcesses/oraclecpqo/documents/transaction/actionDefs/_update_line_items/translations/fr

Response Body Sample

{
"language": {"languageCode": "fr", "languageNumber": 1},
"links": [{
"rel": "self",
"href": "https://sitename.oracle.com/rest/v3/commerceProcesses/oraclecpqo/documents
/transaction/actionDefs/_update_line_items/translations/fr"
}, {
"rel": "parent",
"href": "https://sitename.oracle.com/rest/v3/commerceProcesses/oraclecpqo/documents
/transaction/actionDefs/_update_line_items"
}
],
"label": "Mettre à jour les lignes de revenu",
"description": "Action par défaut de mise à jour des lignes de revenu"
}

Get Attribute Translations

This service returns the user-defined translations for an attribute as part of the REST response. This service also returns links to the current REST call and the parent attribute item.

Get Attribute Translations

Description

This service returns all language translations for an attribute

Request Path

/rest/v3/commerceProcesses/{processVarName}/documents
/docVarName/attributes/{attributeVarName}/translations

Request Path Parameters

processVarName

The variable name of the Commerce process

docVarName

The variable name of the document

attributeVarName

The variable name of the Commerce attribute

HTTP Method(s)

GET

Request Body Parameters

None

Success Response

JSON data containing all translations for an attribute

Request Path Sample

Get all translations for "_customer_t_email" attribute

https://sitename.oracle.com/rest/v3/commerceProcesses/oraclecpqo/documents/transaction/attributes/_customer_t_email/translations

Get Attribute Translation

Get Attribute Translation

Description

This service returns the specified language translation for an attribute

Request Path

/rest/v3/commerceProcesses/{processVarName}/documents/{docVarName}/attributes/{attributeVarName}/translations/{languageCode}

Request Path Parameters

processVarName 

The variable name of the Commerce process

docVarName

The variable name of the document

attributeVarName

The variable name of the Commerce attribute

languageCode

The language code

HTTP Method(s)

GET

Request Body Parameters

None

Success Response

JSON data containing the specified language translation information for an attribute

Request Path Sample

Get German translation for "_customer_t_email " attribute

https://sitename.oracle.com/rest/v3/commerceProcesses/oraclecpqo/documents/transaction/attributes/_customer_t_email/translations/de

Response Body Sample

{
"language": {"languageCode": "de", "languageNumber": 0},
"links": [{
"rel": "self",
"href": https://sitename.oracle.com/rest/v3/commerceProcesses/oraclecpqo/documents
/transaction/attributes/_customer_t_email/translations/de
}, {
"rel": "parent",
"href": https://sitename.oracle.com/rest/v3/commerceProcesses/oraclecpqo/documents
/transaction/attributes/_customer_t_email
}
],
"description": "",
"label": "E-Mail Kunde",
"userDefault": ""
}

Get Menu Item Translations

This service returns the user-defined translation for a menu item as part of the REST response. This service also returns the links to the current REST call and the parent menu item.

Get Menu Item Translations

Description

This service returns all translations for a menu item.

Request Path

/rest/v3/commerceProcesses/{processVarName}/documents/{docVarName}/attributes/{attributeVarName}/menuItems/{id}/translations

Request Path Parameters

processVarName

The variable name of the Commerce process

docVarName

The variable name of the document

attributeVarName

The variable name of the attribute

id

The menu item id number

HTTP Method(s)

GET

Request Body Parameters

None

Success Response

JSON data containing all translations for a menu item

Request Path Sample

Get all translations for "paymentTerms_t" menu item 3624405

https://sitename.oracle.com/rest/v3/commerceProcesses/oraclecpqo/documents/transaction/attributes/paymentTerms_t/menuItems/36244405/translations

Get Menu Item Translation

Get Menu Item Translation

Description

This service returns the specified language translation for a menu item.

Request Path

/rest/v3/commerceProcesses/{processVarName}/documents/{docVarName}
/attributes/{attributeVarName}/menuItems/{id}/translations
/{languageCode}

Request Path Parameters

processVarName

The variable name of the Commerce process

docVarName

The variable name of the document

attributeVarName

The variable name of the Commerce attribute

id

The id of the menu item

languageCode

The language code

HTTP Method(s)

GET

Request Body Parameters

None

Success Response

JSON data containing the specified language translation for a menu item

Request Path Sample

Get Spanish translation for "paymentTerms_t" menu item 3624405

https://sitename.oracle.com/rest/v3/commerceProcesses/oraclecpqo/documents/transaction/attributes/paymentTerms_t/menuItems/36244405/translations/es

Response Body Sample

{"language": {"languageCode": "es", "languageNumber": 2},
"links": [{
"rel": "self",
"href": " https://sitename.oracle.com/rest/v3/commerceProcesses/oraclecpqo/documents
/transaction/attributes/paymentTerms_t/menuItems/36244405/translations/es"
}, {
"rel": "parent",
"href": " https://sitename.oracle.com//rest/v3/commerceProcesses/oraclecpqo/documents
/transaction/attributes/paymentTerms_t/menuItems/36244405"
}
],
"displayValue": "Neto a 60"
}

Steps to Enable

The Transaction REST APIs enhanced features are available on 2016 R2 sites using v3 RESTful services.

Key Resources

The CPQ Cloud Interface Catalog provides the framework to expose and describe the Transaction REST APIs. To access the Interface Catalog navigate to Admin > Interface Catalogs.

For additional resources, refer to the following CPQ Cloud Administration Online Help topics:

External Configurator REST API

This REST API provides support for the External Configurator Integration feature available in CPQ Cloud 2016 R2. The REST service invokes the External Configurator Advanced Save function to create a transaction, Add from Catalog, or Reconfigure.

External Configurator REST API

Description

This service invokes the External Configurator Advanced Save function.

Request Path

/rest/v3/productFamilies/{pfVarName}/productLines/{plVarName}
/models/{modelVarName}/actions/_externalConfigurationSave

Request Path Parameters

pfVarName 

The variable name of the product family

plVarName

The variable name of the product line

modelVarName

The variable name of the model

HTTP Method(s)

POST

Success Response

Returns the Transaction ID, document number, status, and a link to the saved transaction

Request Body Parameters

bsId

The CPQ Transaction ID

Required for Add from Catalog and Reconfigure

documentNumber

The document number of a model line

Required for Reconfigure

reconfigActionVarName

The Reconfigure Action Variable Name

Required for Reconfigure

If this value is not provided, the default "_reconfigure_action" is used

reconfigSource

The entity to be reconfigured

Required for Reconfigure

Valid values: Quote and Line Item; if this value is not provided, Quote is used as the default value

parameters

Generic string parameters passed to the Save BML "ext_config_url_params" for an external configuration rule.

Use Case Examples

Request Body Sample

The following sample is a Reconfigure request.

{
"bsId": 12345,
"documentNumber": 2,
"reconfigActionVarName": "_reconfigure_action",
"reconfigSource": "Quote",
"parameters":{
"configurationHeaderId":
23456,
"configurationRevisionNumber":
789,
"configurationPath": "987654321"
}
}

Response Samples

  1. Save Successful: The Transaction ID, document number, and a link to the saved transaction are returned for a successful save.
  2.          HTTP status code: 200 OK

    {
    "status": "save",
    "bsId
    ": 12345,
    "documentNumber
    ": 2,
    "href": "..."
    }

  3. Cancel / None: If the Save BML function is cancelled, the status returned is "cancel". If the Save BML function is not defined, the status returned is "none".
  4.          HTTP status code: 200 OK

    {"status": "cancel"}

  5. Error: When a Save BML function error occurs, the status returned is "error". The response body is a JSON array of the messages returned from the Save BML.
  6.          HTTP status code: 500

    {
    "status": "error",
    [
    {"type": "error",
    "info": "Failed to launch the configuration session."},
    {"type": "warning",
    "info": "invalid configuration attributes while launching the configuration session."}
    ]
    }

  7. If the error is due to the server-side processing error, the response body is the exception error message.

External configuration is not defined for model myModel belonging to product line myLine under product family myFamily.

Steps to Enable

The External Configurator REST API is automatically available on 2016 R2 sites.

Key Resources

Refer to the following CPQ Cloud Administration Online Help topics for additional resources:

SOAP API Enhancements

The following SOAP API enhancements are available in CPQ Cloud 2016 R2 and support the CPQ Cloud – Commerce Cloud integration and the External Configurator integration.

Commerce SOAP API

In CPQ Cloud 2016 R2, changes were made to the Commerce SOAP API to support the CPQ Cloud – Commerce Cloud integration. The configuration SOAP API is invoked for creating transactions with configurable transaction lines. No changes were made directly to the SOAP API. The changes are internal changes that provide the functionality to create transactions denominated in a non-base currency.

Configure SOAP API

In addition to the above changes to the Commerce SOAP API, 2016 R2 provides the following Configure SOAP API enhancements:

Get Configurations Operation

The “getConfigurationsoperation is new in 2016 R2. This operation is used to return configuration data that is saved for a client-side integration. For additional information, refer to the Integrating Oracle Commerce Cloud Service and CPQ Cloud Service Implementation Guide.

The following table lists input and response variables for the "getConfigurations" operation.

Input Variables

Response Variables

Required input variables:

configurationId

Required for v1 only:

category

schemaLocation

The following items are returned for each configuration ID requested:

  • status
  • success
  • message
  • configurationId
  • currency
  • item

If "responseIncludes" is set to "true", the following items are returned:

  • attribute
  • price
  • spare

Optional input variables

  • locale
  • currency

The following items are returned for when locale and currency are used:

  • price
  • spare

Perform the following steps to generate Input SOAP XML for the "getConfigurations" operation.

  1. Navigate to the Admin Home page.
  2. Click Web Services in the Integration Platform section.
    The Web Services Test page appears.
  3. Select the appropriate version from the Web Service Version drop-down.
  4. Click the Configuration tab.
  5. Select getConfigurations from the API menu.
  6. Enter a Punchin URL or select a Product Family, Product Line, and Model.
  7. Click Generate Input to generate an Input SOAP XML skeleton.

Reconfigure Updates to Configure Operation

In 2016 R2, CPQ Cloud adds the reconfigure functionality to the Configure SOAP API "configure" operation. The SOAP API reconfigure functions the same as the UI Reconfigure during Configuration to Quote. It executes the Inbound Reconfigure Action and preserves the recommended items based on the user-defined rules.

NOTE: The Inbound Reconfigure Action can only be executed at the Main document level.

Customers can now use a SOAP API to perform the following actions:

A new document_number attribute has been added to the Input SOAP XML for the Configure SOAP API. This attribute determines whether configure or reconfigure operations are invoked. The following table summarizes behavior actions.

If

Then

A valid document_number value is provided

The reconfigure operation is invoked

An invalid document_number value is provided

An error is reported in the web service response

The document_number is not provided

The configure operation is invoked

Document Number Input Sample

<bm:document_number>2</bm:document_number>

Perform the following steps to generate Input SOAP XML.

  1. Navigate to the Admin Home page.
  2. Click Web Services in the Integration Platform section.
    The Web Services Test page appears.
  3. Select the appropriate version from the Web Service Version drop-down.
  4. Click the Configuration tab.
  5. Select configure from the API menu.
  6. Enter a Punchin URL or select a Product Family, Product Line, and Model.
  7. Click Generate Input to generate an Input SOAP XML skeleton.

Steps to Enable

The SOAP API enhancements available in CPQ Cloud 2016 R2 are automatically available on CPQ Cloud 2016 R2 sites.

Key Resources

Refer to the following resources for additional information:

Performance Enhancements

As part of Oracle’s ongoing effort to improve performance of CPQ Cloud, several enhancements are provided in CPQ Cloud Data Tables. With these enhancements, administrators can perform several operations faster, including: bulk uploading and migrating large data tables, uploading XML data tables and CSV files, and deploying large data tables. Administrators can also clear data faster when using the “Clear Data” or “Delete All” actions on existing data tables.

As an example of improved performance when uploading large CSV files, the following figure illustrates that the time taken to upload CSV files with a large number of records was significantly reduced from 2016 R1 to 2016 R2.

Figure 6: CSV Upload Performance Enhancements

The time taken to deploy large data tables was also significantly reduced from 2016 R1 to 2016 R2.

Figure 7: Deploy Large Data Table Performance Enhancements

In addition, the time taken to perform the Delete Allaction on a large number of records was significantly reduced from 2016 R1 to 2016 R2.

Figure 8: Delete All Performance Enhancements

Steps to Enable

Performance Enhancements are automatically available on all 2016 R2 sites.

Tips and Considerations

Consider the following tips when using the Performance Enhancements available in CPQ Cloud 2016 R2:

Key Resources

Refer to the following resources for additional information:

Integrated Suite

Leverage the power of CPQ Cloud by integrating with other software applications. CPQ Cloud administrators can use these pre-defined integrations out-of-the-box or enhance the provided integration patterns to build a strong Oracle Cloud suite.

The following new features and enhancements are available in CPQ Cloud 2016 R2:

Commerce Cloud Integration

CPQ Cloud 2016 R2 provides an integration between CPQ Cloud and Commerce Cloud. Self-service users in Commerce Cloud can configure complex products for purchase in Commerce Cloud using the CPQ Cloud configurator. In addition, Commerce Cloud self-service users can request a CPQ Cloud quote, thereby initiating a CPQ transaction that a sales specialist can modify, reconfigure, or discount. Once finalized in CPQ Cloud, the quote is returned to Commerce Cloud for acceptance and ordering by the self-service user. The integration of CPQ Cloud with Commerce Cloud uses the Oracle Integration Cloud Service (ICS) to provide pre-built integrations for the two user flows.

The integration provides the following functionality to Commerce Cloud self-service users:

NOTE: For instructions on how to implement the above functionality, refer to the Integrating Oracle Commerce Cloud Service and CPQ Cloud Service Implementation Guide.

Access a CPQ Cloud Site as Guest Users

Commerce Cloud self-service users can access a CPQ Cloud site as guest users via an iFrame that displays within Commerce Cloud. When a CPQ site is accessed by a Commerce Cloud self-service user, session parameters are passed from Commerce Cloud to CPQ Cloud. This provides a seamless user experience and eliminates the need for Commerce Cloud self-service users to enter login credentials when entering a CPQ Cloud site from Commerce Cloud.

Session parameters include currency, language, and locale preferences such as number format, units, and date format. For example: If a Commerce Cloud self-service user’s language preference is set to German, the text in the CPQ Cloud interface displays in German when the user accesses CPQ Cloud. The user’s currency and locale preferences are also passed from Commerce Cloud and display in CPQ Cloud.

Add Items to a Commerce Cloud Cart from CPQ Cloud

The “Add to Cart” action sends items to a Commerce Cloud cart via an Add to Cart button, which displays on the CPQ Cloud interface following configuration. A “Client Side” integration type is available in CPQ Cloud 2016 R2 and enables the sharing of data between CPQ Cloud and Commerce Cloud. CPQ Cloud administrators must configure a “Client Side” integration to add the Add to Cart button on a CPQ Cloud site.

CPQ Cloud administrators must also add payload template files to File Manager. The template files support the “Add to Cart” action and include simple configuration information such as config id, quantity, part, and model name. BML reads these template files and replaces the values in brackets, such as {{quantity}}, with dynamic values.

To add items to a Commerce Cloud cart:

  1. The Commerce Cloud administrator adds a Customize button to a Commerce Cloud site.
    The Customize button is shown below and is part of the CPQ Cloud – Commerce Cloud integration.
  2. Figure 9: Commerce Cloud Site with Customize Button

  3. A Commerce Cloud self-service user clicks Customize.
    The CPQ Cloud Model Configuration page opens within an iFrame in Commerce Cloud and contains the Add to Cart button.
  4. Figure 10: CPQ Cloud Model Configuration Page with Add to Cart Button

  5. From the CPQ Cloud Model Configuration page, the Commerce Cloud self-service user customizes the laptop order and clicks Add to Cart. As shown in the following figure, the Commerce Cloud cart is then updated based on the specified customizations.

Figure 11: Updated Commerce Cloud Cart

Edit a Commerce Cloud Cart from CPQ Cloud

After a Commerce Cloud self-service user adds an item to a Commerce Cloud cart, the user can return to the shopping cart and edit the details of the items in the shopping cart. All of the CPQ Cloud configured parts that display in the “Details” area of the shopping cart are recommended items.

To edit a Commerce Cloud cart from CPQ Cloud:

  1. Open the Commerce Cloud cart.
  2. Figure 12: Commerce Cloud Shopping Cart Showing Recommended Items Configured in CPQ Cloud

  3. Click Edit.
    The CPQ Cloud Model Configuration page opens within an iFrame in Commerce Cloud.
  4. Figure 13: CPQ Cloud Model Configuration Page

  5. Update the Commerce Cloud shopping cart.
  6. Click Add to Cart.
    The Commerce Cloud shopping cart opens and displays the updates.

Figure 14: Updated Commerce Cloud Shopping Cart

Request a Quote from a CPQ Cloud Sales Specialist

A Commerce Cloud self-service user can select a Request Quote option in Commerce Cloud to obtain a quote from a CPQ Cloud sales specialist. The high-level steps related to requesting a quote are provided below. For additional information, refer to the Integrating Oracle Commerce Cloud Service and CPQ Cloud Service Implementation Guide.

To request a quote:

  1. The Commerce Cloud self-service user selects Request Quote from the Commerce Cloud Create Order page. The Request Quote page opens.
  2. From the Request Quote page, the Commerce Cloud self-service user has the option of entering a message for the CPQ Cloud sales specialist. For example: The user could enter a message requesting a 15% discount.
  3. When the Commerce Cloud self-service user clicks Request Quote, an order ID is assigned to the order and the quote request is sent to a CPQ Cloud sales specialist. The CPQ Cloud sales specialist can view the order ID in the last column of the Oracle Quote to Order – Manager page.
  4. Figure 15: Order ID in Oracle Quote to Order – Manager Page

  5. The CPQ Cloud sales specialist can then use the Transaction page to modify the pricing on the quote. Using the Sync Quote action, the CPQ Cloud sales specialist can update the associated Commerce Cloud order.
  6. Figure 16: Update the Pricing of Quote Using the Transaction Page

  7. The order is updated in Commerce Cloud, and the Commerce Cloud self-service user has the ability to accept or reject the proposal or request another quote.

Steps to Enable

Refer to the Integrating Oracle Commerce Cloud Service and CPQ Cloud Service Implementation Guide for detailed instructions on how to prepare CPQ Cloud, Commerce Cloud, and ICS for the integration.

Tips and Considerations

Consider the following tip when using the 2016 R2 CPQ Cloud – Commerce Cloud integration:

Key Resources

Refer to the following resources for additional information:

External Configurator Integration

The External Configurator Integration feature available in CPQ Cloud 2016 R2 is part of an ongoing effort to integrate CPQ Cloud with other products both internal and external to Oracle. Customers can now integrate and leverage the use of an external configurator while using the pricing and quoting capabilities of CPQ Cloud. CPQ Cloud sales specialists can access the external configurator from the CPQ Cloud Home page and then return to CPQ Cloud to price, discount, propose, and order the configured product.

The following External Configurator Integration functionality is available in CPQ Cloud 2016 R2:

Define an External Configurator Integration

Administrators can define an integration with external configurators such as the Oracle E-Business Suite (EBS) or Fusion. For example: Customers who are using EBS Order Management for order fulfillment can now use the EBS configurator instead of the CPQ Cloud configurator.

To define an external configurator integration:

  1. Go to Admin > Products > Catalog Definition.
    The
    Supported Products page opens with Product Families selected by default in the Navigation drop-down menu.
  2. Figure 17: Supported Products Page

  3. Click List.
    The Supported Product Families page opens
    .
  4. Click List next to the product family that contains the model you want to integrate with an external configurator. The Product Line Administration List page opens with Models selected by default for all of the available product lines.
  5. Figure 18: Product Line Administration List

  6. Click List next to the model you want to integrate with an external configurator.
    The
    Model Administration List page opens.
  7. Select External Configuration from the Navigation drop-down menu.
  8. Figure 19: Model Administration List Page

  9. Click List.
    The
    Edit external configuration page opens with the Type option set by default to None.
    This indicates there are no external configurators defined for the specified model.
  10. Figure 20: Edit External Configuration Page with None Option Selected

  11. Set the Type option to Embed in iFrame.
    Additional options are displayed in the Edit external configuration page.
  12. Figure 21: Edit External Configuration Page with Embed in iFrame Option Selected

  13. Set the URL option to one of the following:
  14. Set the Save action to one of the following options:
  15. Click Apply to enable the integration.

NOTE: Administrators can disable an external configurator integration by returning to the Edit external configuration page, setting the Type option to None, and clicking either Apply or Update. If the integration the administrator is disabling uses the Define Advanced Function for the URL or the Save action, the BML is deleted from both the BML Editor and the database.

Use Configuration Quick Links to Access an External Configurator

After defining an external configurator integration, the external configurator automatically displays within Configuration Quick Links.

To access the external configurator via Configuration Quick Links:

  1. From the Configuration Quick Links pane, drill-down to the associated product family and model.
  2. Figure 23: Configuration Quick Links

    NOTE: Any un-deployed changes are displayed in red until the changes are deployed. Administrators can click Deploy from the Configuration Quick Links page to deploy any un-deployed changes.

  3. Click the External Configuration link shown in the above figure. The Edit external configuration page opens and allows the administrator to view, modify, or disable the external configurator.

Use an External Configurator Commerce Attribute in Standard BML Functions

A new Commerce attribute is available in 2016 R2 and supports the external configurator feature. Administrators can use the attribute in standard BML functions, which include library functions, Commerce functions, and Commerce rules.

Name

Variable Name

Type

Description

_config_extra_info

Config Extra Info

Text

The attribute is available as part of transaction line attributes. The variable is a field that stores the external configuration information in JSON format.

Steps to Enable

To enable this feature, follow the steps in the “Define an External Configurator Integration” topic.

Tips and Considerations

Consider the following tips when setting up and using an external configurator:

Key Resources

Refer to the following resources for additional information:

Other Enhancements

In 2016 R2, CPQ Cloud continues our commitment to improving the customer experience by providing a more consistent look and feel throughout CPQ Cloud’s Administrative user interface. In 2016 R1, CPQ Cloud provided modern style updates for the Administration Platform. In this release, CPQ Cloud delivers Administration styling enhancements for the Product Pricing and Formula Management sections. Several new font families are also available in CPQ Cloud 2016 R2. These font families expand the options available to customers for creating aesthetically pleasing documents in Document Engine and Document Designer.

The following enhancements are available in CPQ Cloud 2016 R2:

Administration Styling

In 2016 releases, CPQ Cloud adopted a design strategy to improve the customer experience throughout the administrative UI. This design strategy incorporates the following design enhancements:

Common Design Elements

Administration Navigation

The administration top navigation bar has a clean and modern appearance for icons, labels, and links.

Figure 24: Administration Navigation

Figure 25: Administration Navigation Links

Tabs

A consistent presentation is now available for Selected Tabs, Disabled Tabs, Unselected Tabs, and Tabs with Hover.

Figure 26: Tab Appearance

Buttons

The new design includes consistent button styles and behaviors.

Figure 27: Button Appearance

Item Selection

Active, Inactive, Hover, and Selected states now have a consistent appearance.

Figure 28: Item Selection Appearance

Tool Tips

Tool tips and notes now have a consistent look-and-feel.

Figure 29: Tool Tips Appearance

New Administration Page Designs

Administration pages now have a new modern scheme with a consistent style and behavior for buttons, selectors, tabs, notes, and navigation elements. The following images display the updated design for the Administration Platform, Product Home page, Transaction page, and Configurator page.

Administration Platform

The CPQ Cloud Administration Platform, referred to as the Admin Home page, is a frequently used destination for CPQ Cloud admins. Each link on the Admin Home page is the gateway to a different administration module. Either directly, or through a navigation path that originates on the Admin Home page, every admin page in CPQ Cloud can be accessed from the Admin Home page.

Figure 30: Administration Platform Appearance

Product Pricing and Formula Management Page Enhancements

In addition to the common style elements, the Product Pricing and Formula Management pages now have a new left-hand panel design. This release also introduces filter improvements and easier access to update profile and rule names.

Collapsible Navigation Panes

The left-hand navigation panels now have consistent collapse and expand control buttons.

Figure 31: Collapsible Panels

Filter Improvements

To erase the filter criteria, click the Clear icon to the right of the filter box.

Figure 32: Clear Filter

Update Profile or Rule Name

To update pricing profile or rule names click the Edit icon, enter the new name, and click outside of the edit box to apply changes.

Figure 33: Update Profile Name

Product Pricing Page

The Product Pricing page includes the following design elements:

Product Pricing – Rules Tab

The Rules tab is used by administrators to create rules and add Accounts.

Figure 34: Pricing - Rules Page Appearance

Product Pricing Profiles Tab

The Profiles tab is used by administrators to create a Profile and add parts and pricing. This page features an updated pagination menu at the bottom of the parts lists to view long lists of records.

Figure 35: Pricing - Profiles Page Appearance

Formula Management Page

The Formula Management page includes the following design elements:

Figure 36: Formula Management Page Appearance

Approval Sequence Pages

The Approvals Flow, Approval Details, Reasons Flow, and Reason Details pages are updated to include the following design elements:

Figure 37: Reason Details Page Appearance

Mobile Layout Editors

The Commerce and Configuration Mobile Layout Editor pages are updated to include the following design elements:

Figure 38: Commerce Mobile Layout Editor Appearance

Figure 39: Configuration Mobile Layout Editor Appearance

New Font Families

Several new font families are available in CPQ Cloud 2016 R2. These font families expand the options available to customers for creating aesthetically pleasing documents in Document Engine and Document Designer.

The following table identifies the font families available in CPQ Cloud 2016 R2.

Font Family

Font Type<