In the first release of 2018 for Oracle Commerce Cloud, we've added a number of often requested features, including Add-On Products, Shopper-Initiated Returns and Cancellations, Store Credit, and Discount by SKU for Promotions. We've also included initial GDPR support, number of new B2B and loyalty features, WorldPay support, the ability for customer service agents to shop on behalf of the shopper, developer code utility enhancements, and much more.
Allows merchants via both API and UI the ability to link items to a main item (in a one to many relationship) for optional purchase by the shopper. Merchants can create a single selection list of product/SKU property types and create shopper-input-driven product properties. The add-on product has its own price, description, and attributes.
Using this feature allows shoppers to select optional items they would like to order as part of a base item, such as gift wrap, monogramming, or warranties.
NOTE: Not yet compatible with CPQ, preorder/backorder, wish lists, and import/export as of 18A release.
Storefront REST and JS API updates have been implemented to support add-on products and capture shopper input (e.g. gift message).
Out-of-the-box support includes Cart, Checkout, Order Confirmation, and Order History Details.
Due to the various use cases that can be supported with add-on products, customization of the storefront will likely be needed to capture add-on details, particularly on the PDP and Cart. Sample “gift wrap” product detail page widget is available as an example.
NOTE: “Edit” support for add-on products is not supported out-of-the-box in the Cart, but can be customized.
Merchants can now allow shoppers to cancel orders from the online Storefront on their own and provide a cancellation reason. The order status is updated to reflect the cancellation.
Includes ability for merchants to set a defined remorse period in the Admin UI that is applicable in both Agent App and Storefront.
This feature can be turned on/off via widget configuration if not needed.
NOTE: Shopper-Initiated Cancellations is disabled out-of-the-box and must be enabled within the most recent version of the Order Details widget.
Merchants can now allow shoppers to initiate a return request from the online Storefront on their own, enter quantity of items to return, and a return reason.
The return option is available based on internal criteria, including order must be fulfilled, item must not be marked “non-returnable,” and item must not already be in a returned state.
There are new widgets and a new layout available to support this feature, including New Return Items layout, New Return Items widget, and New Return Item Details widget. The existing Return Request Update Webhook is triggered when this feature is enabled, as well as a new Validate Returns Webhook which is useful for merchants with more complex return validation rules.
This feature can be turned on/off via widget configuration if not needed.
NOTE: Shopper-Initiated Returns is disabled out-of-the-box and must be enabled within the most recent version of the Order Details widget.
The Admin session timeout can be increased from the 15-minute default. Merchants that want to take advantage of this should work with their PCI auditors to select an acceptable Compensating Control and adjust the session timeout as necessary.
Specifying one or more profile IDs, profiles can be securely deleted from OCC when customers request their Right to Erasure through a new API.
Working with the existing Agent Search API, merchants can find the profiles they want to delete and use the new API to remove them. The “Profile Deleted” webhook fires when a profile is removed.
NOTE: For registered users, their orders should be redacted first to break the link to the profile before removing the profile.
Through a new API, merchants can anonymize personally identifiable information (PII) in orders when requested by customers. The data that is anonymized can be chosen by the merchant to balance impact to OCC Reporting with guidance received from their legal team.
Using the Agent order search mechanism, merchants can find the orders that contain the PII of the shoppers requesting to be deleted. They can then specify which out-of-the-box or custom order properties need to be anonymized to meet GDPR guidance they have received from their legal team. It is possible to keep information, such as order totals, so that OCC reporting continues to return accurate historical results.
Orders can be processed individually or in batches. When using batch processing, common information is replaced with the same random value to allow reporting to still see commonalities without any ability to link back to the information that was there previously. If insufficient from a legal perspective, the orders can be anonymized individually to replace every value with unique random values. Orders can also be re-processed to keep up with any changes in guidance.
New server-side integration utilizing OCC generic payment framework webhooks and node.js allows merchants to integrate quickly with the Worldpay payment gateway for authorizing credit and debit cards. Once implemented and configured, this allows merchants to route their OCC card transactions to the Worldpay gateway. The following transaction types are supported for credit/debit cards:
- Authorization, Void, Refund
- 3D-Secure Transactions
This integration uses existing OCC payment webhooks. Both Storefront and Agent App will support this integration once implemented.
The server-side extension will be made available via My Oracle Support and also in the Marketplace.
NOTE: Currently only supports credit/debit cards. Does not currently support card tokenization card re-use on Worldpay.
The OCC generic payment framework now supports store credit as a payment method. The existing payment framework webhooks have been updated to integrate with an external system that is the system of record for shopper store credit. Includes Storefront view model support as well.
Includes ability for shoppers to pay for and redeem orders in the Storefront and Agent App using store credit, check store credit balance (always in order currency), and refund store credit. Can be used in combination with other payment methods.
NOTE: Currently only supports redemption of store credit in OCC. Does not support granting of store credit. Maximum store credit refund allowed is up to whatever amount was redeemed from store credit in the first place.
OCC Reports have been migrated to an OBIEE front-end. They are now accessible through the OCC Admin dashboard instead of via the Reports tab.
Includes a number of enhancements, including ability to save views/customizations of reports, additional export formats (pdf, excel, csv, tab delimited, xml), ability to zoom in/out of data visualizations, and more flexibility in formatting and viewing the report data on-screen, such as including/excluding/reordering columns in data tables.
NOTE: Currently only supports existing reports and customizations. Does not include ability to write custom/ad hoc reports.
New Audience report that shows sales, orders, and average order value for audiences that have been set up in the OCC Admin is now available. It is visible to all users that have the Reporting role assigned.
Now possible to see sales for different audiences in relation to one another. Also now able to identify the top products and promotions for audiences by accessing the Promotions/Collections report and applying the Audience filter.
NOTE: In order to see reporting on audiences, merchant must designate the audience(s) as reportable within the Admin UI.
Additional New Features and Other Changes
There are also a number of additional new features, changes, and improvements included in the Oracle Commerce Cloud 18A Update. By functional area, these include:
Browser support is up-to-date.
Language and Currency Support
Languages: No new languages added.
Thirty-six languages are currently supported: Arabic (ar) (Storefront only), Bulgarian (bg), Chinese—Simplified (zh_CN), Chinese—Traditional (zh_TW), Croatian (hr), Czech (cs), Danish (da), Dutch (nl), English (en), English-GB (en-GB), Estonian (et), Finnish (fi), French (fr), French Canadian (fr_CA), German (de), Greek (el), Hungarian (hu), Italian (it), Japanese (ja), Korean (ko), Latvian (lv), Norwegian (no), Polish (pl), Portuguese—Brazil (pt_BR), Portuguese—Portugal (pt_PT), Romanian (ro), Russian (ru), Serbian - Cyrillic (sr), Serbian – Latin (sr_Latn),,Slovenian (sl), Spanish (es), Swedish (sv), Thai (th), Turkish (tr), Ukrainian (uk).
Currencies: No new currencies are supported.
Sixty-one currencies are currently supported: AED (UAE Dirham), ARS (Argentine Peso), AUD (Australian Dollar), BGN (Bulgarian Lev), BOB (Boliviano), BRL (Brazilian Real), CAD (Canadian Dollar), CHF (Swiss Franc), CLP (Chilean Peso), CNY (Chinese Yuan Renminbi), COP (Colombian Peso), CRC (Costa Rican Colon), CZK (Czech Koruna), DKK (Danish Krone), DOP (Dominican Peso), DZD (Algerian Dinar), EGP (Egyptian Pound), EUR (Euro), GBP (British Pound Sterling), GTQ (Guatemalan Quetzal), HKD (Hong Kong Dollar), HNL (Lempira), HRK (Croatian Kuna), HUF (Hungarian Forint), IDR (Indonesian Rupiah), INR (Indian Rupee), JPY (Japanese Yen), KES (Kenyan Shilling), KRW (South Korean Won), KZT (Tenge), LBP (Lebanese Pound), MAD (Moroccan Dirham), MXN (Mexico Peso), MYR (Malaysian Ringgit), NGN (Naira), NIO (Cordoba Oro), NOK (Norwegian Krone), NZD (New Zealand Dollar), PAB (Panamanian Balboa), PEN (Peruvian Nuevo Sol), PHP (Philippine Peso), PKR (Pakistani Rupee), PLN (Polish Zloty), PYG (Paraguayan Guarani), QAR (Qatari Riyal), RON (Romanian Leu), RSD (Serbian Dinar), RUB (Russian Ruble), SAR (Saudi Riyal), SEK (Swedish Krona), SGD (Singapore Dollar), THB (Thai Baht), TJS (Somoni), TRY (Turkish Lira), TWD (New Taiwan Dollar), UAH (Ukrainian Hryvnia), USD (US Dollar), UYU (Uruguayan Peso), VND (Vietnamese Dong), XAF (CFA Franc BEAC), ZAR (South African Rand.
Allows prospective organizations to submit requests for accounts on a seller’s site on their own via out-of-the-box UI. Includes ability for merchants to search, review, comment, and approve or reject incoming requests, as well as email notifications to the sellers and prospects during the various approval stages.
This new feature makes it easier for a merchant to facilitate in-bound leads for revenue growth and get more data from the prospect up front.
Expands the account and contact search capability in the OCC Admin to include all queryable static string properties, not just account name, first name, last name, email address, and custom string properties.
The Shipping Calculator webhook now includes comprehensive cart data, including add-ons and configured items, detailed pricing information, and custom order properties. It also supports the ability to price multiple shipping groups using a single storefront API call to the server. An API configuration is available to switch to the mode of sending full order details in this webhook.
By default, the full order information is not passed in List Shipping Methods API. (To enable, the server side configuration flag for “includeOrderDetailsInShippingMethodsPayload” should be set to TRUE.)
This feature makes it possible for an external shipping service to return accurate shipping method costs based on comprehensive cart information. It also makes it possible to improve performance when pricing multiple shipping groups by pricing them at the same time using a single call to the server, reducing the number of round trips from the client to the server and reducing shopper wait time.
Merchants can pass additional information to the shipping calculator webhook service by capturing that information in a custom order property.
NOTE: While all shipping groups can be priced using a single call from the storefront to the server, the server will invoke the shipping calculator webhook once per shipping group (not per order).
The Return Request Validation webhook can be invoked for returns and exchanges to verify if an order and/or items in an order are returnable. This webhook is automatically triggered when OCC needs to know whether the order/items are returnable, such as to determine whether the shipper should see the return button, prior to accepting the return request, and optionally at other times in the shopper’s journey.
Can be used to obtain return authorization number, RMA number, tracking number, shipping label URL, and other name/value pairs that can be displayed to the shopper and stored with the return request.
Makes it possible to implement custom rules or integrate with an external system to determine whether orders and/or items in an order are returnable.
NOTE: An order must be fulfilled and items not already returned for a return request to be valid. This webhook cannot override this criteria.
Experience and Design
New role-based slot is now available in Design Studio that allows merchants to vary content based on a user’s role (e.g. Customer Service Agent Supervisor, Customer Service Agent, Administrator).
This new slot type allows a user to create variations of storefront functionality that are only available to certain Admin users with certain roles. For example, a merchant could use this feature to display certain widgets or functionality (e.g. price override) as part of the shopping experience only to Customer Service Agent Supervisors.
Optimized Storefront CSS
CSS has been broken into multiple files that are loaded as needed. Overall CSS file size has been reduced and duplicate and unused CSS code has been removed.
These improvements improve download speeds and result in the browser having less to process.
The email notification schema for all order-related emails has been updated to support display of loyalty payment information in a mix of loyalty points and monetary currency, as well as add-on product details.
NOTE: Merchants should modify the email templates to include the properties supported in the schema and present them as desired.
URL patterns have been made more flexible, so that the product ID for product detail pages and collection ID for collection pages are no longer a required part of the pattern. Makes it possible to create a URL pattern that matches on either display name or URL slug. Can also now respect case insensitive matching.
This feature allows merchants to have shorter, cleaner, simpler URLs for category and product detail pages, if desired (e.g. example.com/product-title) and appropriate (may not make sense for all merchants, depending on a number of product catalog and business factors).
A new tool is available as part of the Developer Code Utility (DCU) package called the Content Creation Wizard (CCW) which allows users to easily create the skeleton files for new extensions, such as creating a new type of widget. The CCW tool walks a user though a set of questions and creates the necessary directories and skeleton files based on the options chosen by the user.
Merchants can now offer discounts at the SKU level in the same way they could already offer discounts for products and collections. Includes the ability to search and select SKUs to include in a promotion.
Discount by SKU is supported in every out-of-the-box OCC Promotions template and allows more granular control over which items are applicable when building a promotion. Useful in instances where a merchant wants to have a discount on blue T-shirts, for example, but not red ones.
Merchants can now set a limit on the number of times a coupon can be applied to an order by inputting a number in the “Number of Uses Per Order” box in the Promotions>Availability area of the Admin UI. This setting only applies to promotions granted via coupon code.
Allows merchants more control over when promotions may be redeemed.
Audiences and Recommendations
Two new shopper lifetime value fields are now available for audience rule creation: lifetimeCurrencyCode and firstVisitDate. Currency lifetime values are being set for all shoppers based on historical orders as well.
Allows merchants to specify audience rules for particular currencies, against first visit date, and/or use currency lifetime values for all shoppers.
First visit date is particularly useful for merchants who have multiple sites and want to distinguish between the data a shopper registered on the first of a merchant’s site (registrationDate) and first visit to another site (firstVisitDate).
Personalization and audience rules now recognize returning registered shoppers even if they have not logged in. (Prior to 18A, personalization only took place for registered shoppers who were currently logged in.)
Merchants can reach a broader set of shoppers with personalized content and promotions with many more shoppers getting personalized site visits.
A new Recommendations strategy is now available for merchants. The most recently viewed strategy allows merchants to present a list of a shopper’s most recently viewed products on key pages, such as homepage, product detail page, listing page, and cart.
Will include products from current session, as well as previous sessions for the same browser for registered shoppers.
This strategy is successful in helping merchants remind shoppers of their browsing history and items they are more likely to be interested in buying.
NOTE: Previously viewed products are only tracked on a per device, not cross-device basis.
The Attributes API is now used to add transform operations.
- JSON Split: Split JSON data into multi-value elements
- Regex Split: Split string data into multi-value elements
- Concatenate: Join multiple attributes into a single attribute.
Provides the ability to manipulate attribute data. Particularly useful for converting catalog data into a format usable for multi-value navigation (e.g. a value of “red, green, blue” can be split into three separate values for navigation and filtering).
Uses the existing Attributes API to associate a transform with an attribute.
NOTE: Does not support cleansing or string manipulation other than split and concatenate.
Allows merchants to leverage machine learning and decision science capabilities in site search to promote personalized product recommendations relevant to a shopper’s search query and improve conversion from search. Uses third party data from Oracle Data Cloud and first party data from the OCC application.
Requires active subscription to and deployment of Oracle Adaptive Intelligence Apps (AIA). Merchants can use Supervisory Controls, Insights, and Lift Analysis via the AIA dashboard.
Now supports ability to handle shipping and tax in points (in currency) in both Storefront and Agent. This setting is available in the Admin API and details of the currencies of the order are stored internally in OCC.
Enables merchants to use the capabilities of Oracle Loyalty Cloud in Oracle Commerce Cloud for standard use cases, including shopper enrollment, and accrual and redemption of points. Allows shoppers to see the points and relevant loyalty program in the Storefront.
For enrollment, users registering on an OCC Storefront can now enroll in loyalty programs configured in Oracle Loyalty Cloud. Existing shoppers can log into their profile and update to enroll or unsubscribe from loyalty programs.
For accrual, shoppers can accrue points based on purchases made using monetary currency. The points and loyalty details for a particular shopper/loyalty member will be visible in the storefront.
For redemption, shoppers can redeem points by making purchases. Currently, a product can only be offered in points and a mix of currency and points is not supported. A shopper can return or exchange the products bought in points and those points are then refunded to the shopper for future use.
Built using Oracle Integration Cloud, allowing for a flexible and extensible integration. Additional customization can be done by changing the attribute mapping on the integration layer.
Requires active subscription to and deployment of Oracle Loyalty Cloud.
NOTE: Does not support orders priced in both points and currency.
Allows Agents to shop on behalf of the shopper by launching the Storefront and shopping as the shopper. Includes ability for the Agent to see the Storefront as the shopper would and place the order on behalf of the shopper.
When a particular agent uses this feature to place an order, the Agent ID is stamped on the order to record that the agent user placed an order on behalf of the shopper.
This feature is particularly useful to resolve any issues a shopper may be experiencing while placing an order and increase likelihood of conversion and customer satisfaction. It allows all customizations available in the Storefront to be visible to the Agent user, making it easier for the Agent to help a shopper.
Assisted Selling Application
Allows merchants to set up Stores and use them in ASA. (The Stores must be set up via API, but then can be managed in the Admin Console.) Includes ability to set up store-specific pricing, promotions, and catalog. Lets merchants sell inventory that is in-store, not just from a warehouse, and have shoppers leave the store with the item, rather than having to ship it.
Also allows for viewing which orders were purchased in-store and which were purchased online in a customer’s Order History.
NOTE: Does not support inventory lookup or mixed fulfillment (in-store and online in the same order).
ASA now supports split payments which allows a shopper to pay for an order across multiple credit cards.
Expands checkout capability to support taking payments in any amount across multiple credit cards.
Allows store associates to search for custom order or profile properties, such as national ID number (e.g. CPF). Supports dynamic profile properties and custom order properties.
Allows merchants to search for orders or customer profiles based on the custom properties they have set up that are unique to their business.
NOTE: Only supports searchable custom properties. Merchants should make sure to designate a property as searchable, so it will appear in ASA.