Oracle Commerce On Premise Integration
Overview
Oracle CPQ supports a standardized integration to Oracle Commerce On Premise (Commerce), which combines the eCommerce capabilities of Commerce with the advanced quoting engine and automated approvals process of CPQ.
Additional options can be implemented to further streamline the eCommerce process by offering a self-service configuration and checkout option for complex products, as well as customer-specific pricing.
The Basic Integration
A basic CPQ-Commerce integrated workflow, introduced in Oracle CPQ version 2014 R2, goes through the following steps:
- A customer creates a shopping cart in Commerce and requests a quote.
- A Oracle CPQ sales user will receive the request for a quote from Commerce.
- The Oracle CPQ sales user then prepares the quote, which can include discounting, approvals, and proposal document generation.
- When the quote is finalized, the Oracle CPQ sales user syncs the quote back to Commerce and
- The customer, in Commerce, can see the current order and shopping cart with the latest pricing info and a status of "Quoted."
-
If the quote is unsatisfactory to the customer, additional requests for quotes can be sent to Oracle CPQ as many times as necessary.
Once the customer is satisfied with the quote, order creation and fulfillment can take place in either Oracle CPQ or Commerce, depending on which product is used for order processing.
Additional Implementation Options
Additional implementation options are available, starting with Oracle CPQ version 2015 R2. These options can only be implemented on top of the basic implementation, not instead of the basic implementation.
With additional implementation, Commerce customers can choose to configure a product. The Oracle CPQ Configurator will open in the Commerce user interface (within an embedded iFrame). Preselected attribute values, associated with a Commerce stock keeping unit, automatically appear in the Configurator when it is opened in Commerce.
After configuring the product, the Commerce customer can:
-
Request a Quote
The remainder of the integration workflow will function in the same way as it does in the basic CPQ-Commerce integration described in The Basic Integration section above, depending on the implementation.
-
Reconfigure the product
The Oracle CPQ Configurator will re-open within the Commerce user interface.
- Check out
These options depend on your implementation.
With additional implementation, when pricing a product configured by a Commerce customer, Oracle CPQ will apply any Oracle CPQ Pricing Rules that are linked to the customer’s Customer Org ID. For more information, see Customer Specific Pricing Overview.
In order for Oracle CPQ Configuration data to be sent from Oracle CPQ to Commerce after a product has been configured, and for the Commerce customer to be redirected to the Commerce pricing page, custom Product Family integrations can now be created.
Custom Product Family integrations can also be used to send Configuration data to a system other than Commerce, and to redirect a user to page within that system.
In the context of a CPQ-Commerce integration, when the Add to Cart custom Product Family integration is created, an Add to Cart action will be placed in the sticky action bar of the Configurator. When the Add to Cart action is invoked by the Commerce customer, data relating to the configured product will be sent to a Commerce endpoint URL (which is defined in an Oracle CPQ Data Table) via a REST API call, and the customer will be taken to the Commerce pricing page.
The Add to Cart custom Product Family integration/action implemented as a part of CPQ-Commerce integration is separate from the Add to Cart Process Invocation action on sites built on the Reference Application or a QuickStart vertical template.
The Add to Cart Process Invocation action is hidden as a part of CPQ-Commerce implementation. See the
Oracle CPQ to Oracle Commerce (ATG) Integration white paper for more information.
Administration
CPQ
CPQ-Commerce integration can be implemented on any 2014 R2 or later Oracle CPQ site that has the base Reference Application deployed. Attributes, Actions, Library Functions, Step Transitions, and Data Tables must be created within Oracle CPQ to enable integration with Commerce.
In the future, a Migration Package will be released for Commerce integration so that admins can download the necessary integration components directly to CPQ.
For now, detailed instructions for creating these components manually on top of the base Reference Application can be found in the white paper on CPQ-ATG Integration (see the Related Topics section).
To enable custom Product Family integrations, a new Custom integration type has been added to each Product Family’s Edit Integration page.
When a custom Product Family integration is created, an Integration action with the same name as the custom Product Family integration will be placed in the sticky action bar of the Configurator. It will therefore also be present in the Configurator embedded in an iFrame within Commerce in a CPQ-Commerce integration.
Enabling a Custom Integration
Navigate to the Edit Integration Page
- Click Admin to go to the Admin Home Page.
-
Click Catalog Definition in the Products section.
The Supported Products page opens.
-
Confirm that Product Families is selected in the Navigation drop-down menu and click List.
The Supported Product Families page opens.
-
For the Product Family with the integration you want to edit, select Integrations from the Navigation drop-down menu and click List.
The Edit Integration page opens.
On the Edit Integration page, when Custom is selected for Integration Type, the Action and Endpoint URL options appear.
These options determine if the custom Product Family integration is active or inactive, what the success and error messages of the integration will be if the integration is active, and where the user will be redirected to when the Integration action is invoked in the Configurator.
In the table below, the Endpoint URL field refers to the where the user will be redirected to when the integration is invoked.
The Partner URL, which is added to an Oracle CPQ Data Table as a part of the CPQ-Commerce implementation, is the literal Commerce Endpoint URL where the REST payload will be sent when the integration is invoked.
The terms “Partner URL” and “Endpoint URL” cannot be used interchangeably when discussing custom Product Family integrations.
Action |
Depending on the option selected, determines whether or not the integration is active or inactive, and what the success and error messages will be for the integration. |
None: The integration is inactive. Nothing is sent to the Partner URL when the Integration action is invoked. If an Endpoint URL is defined, the destination redirect will still occur when the Integration action is invoked.
Define Advanced Function: The integration is active and Oracle CPQ will send a REST payload to the partner URL when the Integration action is invoked. The admin can define a BML function to determine the success and error messages of the integration.
|
When Define Advanced Function is selected for Endpoint URL, clicking Define Function will open a BML editor with the following characteristics:
-
configXML (an XML file generated by Oracle CPQ based on current Configuration data) is the default input.
Admins can access the current configXML file of a Configuration on the Configuration XML tab of the Pipeline Viewer. For more information, see Pipeline Viewer.
- The expected return type is String.
-
Expected return format:
Status=[Success/Error]~Message=[any string]
where [Success/Error] specifies whether or not the message is a success message or an error message, and where [any string] is the body of the success/error message.
For example:
Return "Status=Success~Message=Working";
or
Return "Status=Error~Message=Error in Web Service call"
|
Endpoint URL |
The location where the user will be directed to after invoking the Integration action in the Configurator. |
Simple: The admin can define a static URL destination.
Define Advanced Function: The admin can define a BML function to determine the URL destination.
|
When Define Advanced Function is selected for Endpoint URL, clicking Define Function opens a BML editor with the following characteristics:
-
configXML is the default input.
- The expected return type is String.
- The expected return format is a simple string, which will be a full URL.
|
See the Oracle CPQ to Oracle Commerce (ATG) Integration white paper for complete setup steps for custom Product Family integrations as they relate to CPQ-Commerce integrations.
For more information about Product Family integrations, see Configuration Integrations.
A new Hide in Reconfiguration option has been added to each Product Family’s Edit Integration page.
Enabling the Hide in Reconfiguration Option
Navigate to the Edit Integration Page
- Click Admin to go to the Admin Home Page.
-
Click Catalog Definition in the Products section.
The Supported Products page opens.
-
Confirm that Product Families is selected in the Navigation drop-down menu and click List.
The Supported Product Families page opens.
-
For the Product Family with the integration you want to edit, select Integrations from the Navigation drop-down menu and click List.
The Edit Integration page opens.
When No is selected for Hide in Reconfiguration, the Integration action (Add to Cart in Oracle CPQ Commerce integrations) will be present during Configuration and reconfiguration of the product.
When Yes is selected for Hide in Reconfiguration, the Integration action (Add to Cart in Oracle CPQ Commerce integrations) will be hidden from the user during reconfiguration of the product.
If an advanced function was defined and saved for the Action of a custom Product Family integration, and then None is selected for the Action and the integration is applied/updated, the advanced function that was previously defined will be cleared.
If an advanced function was defined and saved for the Endpoint URL of a custom Product Family integration, and then Simple is selected for the Endpoint URL and the integration is applied/updated, the advanced function that was previously defined will be cleared.
Commerce On Premise
Commerce must be on Release 11.1 in order to integrate with CPQ. A CPQ-specific reference integration module must be downloaded and installed on Commerce.
Additionally, several Commerce REST web services must be running to enable integration with CPQ. Consult the white paper on CPQ-ATG Integration (see the Related Topics section) for a complete list of necessary Commerce REST web services.
These web services may require configuration work to be enabled.
For more information about enabling Commerce web services, see the ATG Web Services Guide and the ATG Commerce Programming Guide on the Oracle Documentation site.
Notes
Legacy customers that do not have the base Reference Application deployed can still integrate Oracle CPQ with Commerce, but additional components must be created within CPQ.
Contact Oracle CPQ Product Management for more information.
Oracle CPQ does not restrict navigation from the CRM if a validation failure occurs in the CRM while opening or creating a quote. The Transaction Manager is the default error page. You may want to consider hiding the Create Quote button in the CRM if this presents a problem.
Related Topics
This My Oracle Support page, focused on Oracle CPQ to Oracle Commerce (ATG) Integrations, contains the following documents to assist with your CPQ-Commerce integration:
- White Paper on CPQ-ATG Integration
- CPQ-Commerce On Premise Integration Implementation Overview (PowerPoint)
See Also