Best Practices from Oracle Development's A‑Team

Integrating Commerce Cloud using ICS and WebHooks

Naveen Nahata
Solution Architect


Oracle Commerce Cloud is a SaaS application and is a part of the comprehensive CX suite of applications. It is the most extensible, cloud-based ecommerce platform offering retailers the flexibility and agility needed to get to market faster and deliver desired user experiences across any device.

Oracle’s iPaaS solution is the most comprehensive cloud based integration platform in the market today.  Integration Cloud Service (ICS) gives customers an elevated user experience that makescomplex integration simple to implement.

Commerce Cloud provides various webhooks for integration with other products. A webhook sends a JSON notification to URLs you specify each time an event occurs. External systems can implement the Oracle Commerce Cloud Service API to process the results of a webhook callback request. For example, you can configure the Order Submit webhook to send a notification to your order management system every time a shopper successfully submits an order.

In this article, we will explore how ICS can be used for such integrations. We will use the Abandoned Cart Web Hook which is triggered when a customer leaves the shopping cart idle for a specified period of time. We will use ICS to subscribe to this Web Hook.

ICS provides pre-defined adapters, easy to use visual mechanism for transforming and mapping data, fan out mechanism to send data to multiple end points. It also provides and ability to orchestrate and encrich the payload.

Main Article:

For the purpose of this example, we will create a task in Oracle Sales Cloud (OSC), when the Idle Cart Web Hook is triggered.

The high level steps for creating this integration are:

  1. Register an application in Commerce Cloud
  2. Create a connection to Commerce Cloud in ICS
  3. Create a connection to Sales Cloud in ICS
  4. Create an integration using the 2 newly created connections
  5. Activate the integration and register its endpoint with Abandoned Cart Web Hook

Now let us go over each of these steps in detail


Register an application in Commerce Cloud

Login to Admin UI of commerce cloud. Click on Settings





Click on Web APIs













Click on Registered Applications









Click on Register Application







Provide a name for the application and click Save







A new application is registered and a unique application id and key is created. Click on Click to reveal to view the application key







Copy the application key that is revealed. This will later be provided while configuring connection to Commerce Cloud in ICS







You can see the new application is displayed in the list of Registered Applications







Create a connection to Commerce Cloud in ICS

From the ICS Dashboard, click Connections to get to the connections section







Click Create New Connection








Create Connection - Select Adapter page is displayed. This page lists all the available adapters











Search for Oracle Commerce Cloud and click Select











Provide a connection name and click Create








ICS displays the message that connection was created successfully. Click Configure Connectivity







Provide the Connection base URL. It is of the format https://<site_hostname>:443/ccadmin/v1. Click OK





Click Configure Security






Provide the Security Token. This is the value we copied after registering the application in Commerce Cloud. Click OK






The final step is to test the connection. Click Test




ICS displays the message, if connection test is successful. Click Save





Create a connection to Sales Cloud in ICS

For details about this step and optionally how to use Sales Cloud Events with ICS, review this article

Create an integration using the 2 newly created connections

From the ICS Dashboard, click Integrations to get to the integrations area









Click Create New Integration




Under Basic Map My Data, click Select







Provide a name for the integration and click Create








Drag the newly create Commerce Cloud connection from the right, to the trigger area on the left







Provide a name for the endpoint and click Next








Here you can chose various business objects that are exposed by the Commerce Cloud adapter. For the purpose of this integration, chose idleCart and click Next








Review the endpoint summary page and click Done









Similarly, drag and drop a Sales Cloud connection to the Invoke







Provide a name for the endpoint and click Next







Chose ActivityService and createActivity operation and click Next











Review the summary and click Done







Click the icon to create a map and click the "+" icon

This opens the mapping editor. You can create the mapping as desired. For the purpose of this article, a very simple mapping was created:

ActivityFunctionCode was assigned a fixed value of TASK. Subject was mapped to orderId from idleCart event.








Add tracking fields to the integration and save the integration








Activate the integration and register its endpoint with Abandoned Cart Web Hook

In the main integrations page, against the newly created integration, click Activate






Optionally, check the box to enable tracing and click Yes






ICS displays the message that the activation was successful. You can see the status as Active.





Click the information icon for the newly activated integration. This displays the endpoint URL for this integration. Copy the URL. Remove the "/metadata" at the end of the URL. This URL will be provided in the Web Hook configuration of Commerce Cloud.






In the Commerce Cloud admin UI, navigate to Settings -> Web APIs -> Webhook tab -> Event APIs -> Cart Idle - Production. Paste the URL and provide the ICS credentials for Basic Authorization








By default, Abandoned cart event fires after 20 minutes. This and other settings can be modified. Navigate to Settings -> Extension Settings -> Abandoned Cart Settings. You can now configure the minutes until the webhook is fired. For testing, you can set it to a low value.











This completes all the steps required for this integration. Now every time a customer adds items to a cart and leaves it idle for the specified time, this integration will create a task in OSC.


References / Further Reading:

Using Commerce Cloud Web Hooks

Using Event Handling Framework for Outbound Integration of Oracle Sales Cloud using Integration Cloud Service

Join the discussion

Comments ( 1 )
  • Darin Lemieux Monday, June 3, 2019
    This is a great tutorial, but when setting up the webhook, is there a way to provide application-level credentials for ICS? Using basic authorization creates the need to update the webhook whenever the ICS password expires.
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha