Technical summary of integration features
Following is a technical overview of the design highlights implemented by Sterling Order Management and WebSphere Commerce for this integration.
Implemented for Sterling Order Management
- The YPMgGetOrderPriceUE user exit gets unit prices, promotion discounts, free gifts, and shipping promotion discounts for a WebSphere Commerce order or cart.
- The YPMGetItemPriceUE user exit gets item prices from WebSphere Commerce for specific catalog entries for orders originating from Sterling Order Management.
- The YPMGetPricingRuleDetailsUE* user exit gets promotion details from WebSphere Commerce for a specific promotion.
* This service is available in Sterling Order Management V9.3 Fix Pack 2 (and later).
- The YPMValidateCouponUE user exit validates manual promotions (coupons) against their definitions on WebSphere Commerce.
- Sterling Order Management updates WebSphere Commerce promotion statistics when an order
is changed, canceled, or when there is a draft order confirmation using the
SCWC_SDF_changeOrderOnSuccess* service, SCWC_SDF_changeOrderOnCancel* service, and
SCWC_SDF_confirmDraftOrderOnSuccess* service respectively.
* These services are available in Sterling Order Management V9.3 Fix Pack 2 (and later).
- Customer Service Representatives are able to create an order for a WebSphere Commerce shopper from Sterling Call Center, Sterling Store, or other order management system channels.
Implemented for WebSphere Commerce
- Checks online inventory availability in the local inventory cache during the product page and check-out phases, respecting local inventory cache. If the local inventory cache is not up to date, WebSphere Commerce calls the monitorItemAvailability API of Sterling Order Management for updated inventory information.
- When an order is submitted to be picked up in-store, the real-time inventory check ignores the
local cache. It directly calls Sterling Order Management through the Service Definition Framework,
because the inventory is checked against a physical store. The findInventory API is called to
get the inventory availability information and returns it back to WebSphere Commerce.Sterling Order Management Real-Time Availability Monitor (RTAM) uses a time-triggered transaction to detect inventory changes beyond specified levels and trigger the


REALTIME_AVAILABILITY_CHANGE event. 
(and later) REALTIME_AVAILABILITY_CHANGE_LIST event.
This event starts SCWC_SDF_syncInventoryMessages service that publishes inventory information to a JMS queue. SCWC_SDF_pushInventoryMessages service picks up the message from the queue and updates the inventory cache on the WebSphere Commerce side by invoking a inventory web service from the WebSphere Commerce.
- Reserves inventory right before an order is submitted by calling the reserveAvailableInventory API of Sterling Order Management.
- Cancels the inventory reservation if the shopper edits the cart after the inventory reservation has been run.
- After the shopper submits an order, the order is transferred to Sterling Order Management by
calling the createOrder API.
- WebSphere Commerce then sends the order information to Sterling Order Management for fulfillment with the processOrder request, which is mapped to the SCWC_SDF_createOrder service. Sterling Order Management continually monitors this queue, picks up messages, and sends acknowledgement messages back to WebSphere Commerce by another JMS queue.
- The order is created in Sterling Order Management and raises an ON_SUCCESS event, which starts the SCWC_SDF_createOrderOnSuccess service to send the createOrder acknowledgement to a JMS queue.
- The SCWC_SDF_pushOrderMessages picks up the message from the queue and invokes order webservice from WebSphere Commerce to transfer the acknowledgement. WebSphere Commerce processes the acknowledgement message and updates the status of the order to Successfully Transferred .
- When a shopper wants to view a history of orders in the My Account section, WebSphere Commerce returns a consolidated order history list to the shopper that merges orders successfully created in Sterling Order Management with orders that cannot have been successfully created, but whose records are available locally in WebSphere Commerce. WebSphere Commerce uses the Sterling Order Management getOrderList API to retrieve an order history.
- When a shopper wants to view the details of an order that exists in Sterling Order Management, the getCompleteOrderDetails API is called. If the shopper wants to reorder and create a shopping cart based on these order details, WebSphere Commerce calls the same API.
- WebSphere Commerce gracefully starts the inventory operations and accepts orders during a Sterling Order Management outage.
- When a guest shopper creates a new account at a WebSphere Commerce store or places an order and then logs into the store and the order is transferred and
successfully created in Sterling Order Management, WebSphere Commerce invokes an asynchronous event. WebSphere Commerce sends a changeOrder outbound message to change the
BuyerUserId attribute of the order in Sterling Order Management.
The SCWC_SDF_changeOrder* integration server consumes the message and updates the BuyerUserId
of the order in Sterling Order Management.
* The SCWC_SDF_changeOrder service is available in Sterling Order Management V9.3 Fix Pack 2 (and later).
- When an order that is transferred to Sterling Order Management is canceled from WebSphere Commerce, a synchronous call is made
though SCWC_SDF_changeOrderRealTime** to cancel the order in Sterling Order Management. The cancel option appears in WebSphere Commerce Order Details only if the modification rules
configured in Sterling Order Management allows for cancellation
of the Sterling Order Management order in that status.
** This service is available in Sterling Order Management V9.4.