Optimizely Configured Commerce offers real-time pricing and inventory services to ensure your website displays the most current data directly from your Enterprise Resource Planning (ERP) system. This approach provides up-to-the-minute information, unlike generic services that rely on less frequent integration jobs.
Functionality
Real-time services make direct calls to your ERP system to retrieve current pricing and inventory data. Optimizely recommends configuring the real-time pricing service to also request inventory data in the same call. This minimizes ERP pings and improves performance, as the retrieved data is then cached for quick retrieval on the storefront. While there might be a slight delay as data loads, this method ensures accuracy.
In a typical Optimizely Configured Commerce environment, real-time pricing is the default pricing model. It is generally set up using integration jobs tied to the Windows Integration Service (WIS). However, it is important to note that real-time pricing is overridden if the Price Matrix is enabled and a matrix exists for a particular record type.
The following pages and components have built-in real-time pricing display:
- Product List
- Product Detail
- Product Comparison
- Cross sells
- Quick Order
- Wishlist
- Cart
Integration options
When implementing real-time pricing, you have two primary integration options with your ERP:
- Direct calls to the ERP API – This method is generally faster and provides the most accurate pricing.
- Windows Integration Service (WIS) – The WIS makes calls to the customer's ERP API. This option can address security concerns when you do not want your ERP API exposed to the public. While using WIS introduces a small amount of lag time due to a "data layover" on the WIS, this lag is considered insignificant.
Configuration
Pricing
- Go to Admin Console > Administration > Settings.
- Search for and select Pricing Service.
- Choose RealTime from the drop-down list. This exposes the following optional settings:
- Connection – Optional connection information to the API endpoint. Only integration jobs with a Type Name of ApiEndpoint populate this field. This setting simplifies the process in two ways: it removes the need to hard code credentials and lets developers uniquely define the connection criteria for production and sandbox environments. You can create a new integration connection by going to Admin Console > Connections > Add Integration Connection and selecting ApiEndPoint from the Type Name menu. This connection type stores the API address, Username, and Password.
- Real Time Pricing Service – The real time pricing service name. The default value is Insite.
- Real Time Service Timeout Seconds – The time to wait for real time pricing service to return. The default value is 10.
- Real Time Service Cache Minutes – The number of minutes before caching prices from a real time service. The default value is 60.
- Real Time Service Unavailable Retry Seconds – The number of seconds to wait if the real time service timed out. The default value is 300.
- Real Time Service Delay Seconds – The number of seconds to delay the real time pricing. This is used for testing and should be set to 0 in a production environment. The default value is 0.
- Real Time Pricing Batch Size – How many items at a time should be sent to the ERP for real time pricing calls. The default value is 20.
- Click Save.
Inventory
To retrieve the inventory data, you must set Inventory Service to RealTime or some other custom-created service. Selecting RealTime or some service other than Generic exposes the additional settings.
- Go to the Admin Console > Administration > Settings.
- Search for and select Inventory Service.
- Choose RealTime from the drop-down list. This exposes the following optional settings:
- Connection – Optional connection information to the API endpoint. This lets developers create a integration connection to an API endpoint that can then be selected with this setting. This removes the need to hard code necessary credentials. You can create a new integration connection by going to Admin Console > Connections > Add Integration Connection and selecting ApiEndPoint from the Type Name menu. This connection type stores the API address, Username, and Password.
- Real Time Inventory Service – The real-time inventory service name. Choosing Insite behaves like Generic Service and provides decrementing quantity for products in warehouses during checkout. The default value is Insite.
- Real Time Service Timeout Seconds – Time to wait for real time inventory service to return. The default value is 10.
- Real Time Service Cache Minutes – The number of minutes before caching inventory from a real time service. The default value is 15.
- Real Time Service Unavailable Retry Seconds – The number of seconds to wait if the real time service timed out. The default value is 300.
- Real Time Service Delay Seconds – The number of seconds to delay the real time inventory. This is used for testing and should be set to 0 in a production environment. The default value is 0.
- Included With Pricing – On returns inventory with pricing, and the system does not execute the inventory service until pricing is completed. The default value is Off.
- Real Time Inventory Batch Size – How many items at a time should be sent to the ERP for real-time inventory calls. The default value is 20.
- Click Save.
Display on SEO product pages
You can configure your site to display real-time inventory and pricing on SEO catalog pages (using guest ERP customer pricing).
- Go to Admin Console > Administration > Settings.
- Search for Include Real-Time Inventory and Pricing on SEO Product Pages or go to Site Configurations > SEO.
- Change the setting to Yes.
- Click Save.
Extensibility
Developers can extend real-time inventory functionality to interpret and calculate inventory collections (such as by warehouse and unit of measure), allowing customized storefront displays. Additionally, Optimizely provides options and logic to control inventory messaging on the storefront when inventory is unavailable due to various reasons. See Overview of Inventory Management.
Please sign in to leave a comment.