Integration with IBM Sterling Intelligent Promising for enhanced pre-purchase experience
Sterling™ Intelligent Promising delivers intelligent omnichannel fulfillment through modular, cloud-native services that enable accurate order promising, real-time inventory visibility, and optimized fulfillment decisions.
You can integrate
IBM® Sterling Selling and Fulfillment Suite with IBM Sterling Intelligent Promising for
pre-purchase capabilities like Get EDD and Get Checkout Shipment
Plan by synchronizing inventory availability into SIP.
Integrating with Sterling Intelligent Promising for pre-purchase
In this integration, inventory changes that are identified by Realtime Availability Monitor (RTAM) in Order Management System are synchronized to IBM Sterling Intelligent Promising asynchronously. IBM Sterling Intelligent Promising then uses this inventory information to support pre-purchase experiences such as estimated delivery dates and sourcing decisions.
Enabling integration with Sterling Intelligent Promising for pre-purchase
To enable this integration, configure the properties:
sip_integration.promising.syncNodeAvailability.enablesip_integration.promising.syncNodeAvailability.impl
sip_integration.promising.baseUrlsip_integration.promising.nodeAvailability.servicesip_integration.promising.nodeAvailability.apiUrl
These properties define the SIP base URL and the service/API configuration used by the integration.
- Syncing the availability
- The sync happens only when Real Time Availability Monitor (RTAM) raises event
REALTIME_AVAILABILITY_CHANGE_LISTand can be triggered as part of below processes:- RTAM Full Sync
- RTAM Activity Sync
- RTAM Quick Sync
- monitorItemAvailablity API
To sync the availability, IBM Sterling® Order Management System provides an interface
com.yantra.shared.sip.SIPNodeAvailabilitySyncthat is used to publish information related to node availability events. A default reference implementation,com.ibm.iv.adapter.SIPNodeAvailabilitySyncDefaultImplis provided out-of-the-box as part of the integration.This interface is configured via the
sip_integration.promising.syncNodeAvailability.implproperty.By overriding this property, a custom implementation of the interface can be plugged in to handle extended node availability synchronization as required. The specified class must implement the interface
com.yantra.shared.sip.SIPNodeAvailabilitySync.To update the availability in SIP, this integration uses the Define node inventory availability API in IBM Sterling Intelligent Promising:PUT /promising/{tenantId}/v1/availabilityWindows/nodes/{nodeId}Note:- This integration does not support advanced inventory dimensions and use cases, such as:
- Segment-specific inventory
- Tag-specific inventory
- Availability synchronization is performed asynchronously and does not interfere with RTAM transactional processing. Any errors that occur during the synchronization are logged for reference, but they do not cause the RTAM process to fail.
- The integration assumes the configurations required for IBM Sterling Intelligent Promising API have been done prior to executing this step. For more information, see Promising service.
- Validations for availability sync to Sterling Intelligent Promising
- In addition to the configured properties, the integration verifies certain runtime conditions
before synchronizing node-level inventory availability to IBM Sterling Intelligent Promising. These
conditions include:
-
- Valid client information
- SIP Integration Adapter has valid tenantId, clientId and secret information.
-
IV_INTEGRATION_PHASE- The rule
IV_INTEGRATION_PHASEshould be0.0.
-
REALTIME_ATP_MONITOR.REALTIME_AVAILABILITY_CHANGE_LIST- The IBM Sterling Order Management System event,
REALTIME_ATP_MONITOR.REALTIME_AVAILABILITY_CHANGE_LISTmust be enabled.
If these conditions are not met, the sync is skipped.
-
- Sample input to the class that implements the
SIPNodeAvailabilitySyncinterface -
<InventoryItem InventoryOrganizationCode="DEFAULT" ItemID="ITEM_A1" ProductClass="" UnitOfMeasure="EACH"> <AvailabilityChanges> <AvailabilityChange AgentCriteriaId="" AlertLevel="3" AlertQuantity="10.00" AlertRaisedOn="2026-07-01T12:59:05-04:00" AlertType="REALTIME_FUTURE_MAX" DeliveryMethod="SHP" FirstFutureAvailableDate="2500-01-01" FutureAvailableDate="2500-01-01" FutureAvailableQuantity="0.00" MonitorOption="3" Node="NODE1" OnhandAvailableDate="2026-07-01" OnhandAvailableQuantity="2.00"/> <AvailabilityChange AgentCriteriaId="" AlertLevel="3" AlertQuantity="10.00" AlertRaisedOn="2026-07-01T12:59:05-04:00" AlertType="REALTIME_FUTURE_MAX" DeliveryMethod="PICK" FirstFutureAvailableDate="2500-01-01" FutureAvailableDate="2500-01-01" FutureAvailableQuantity="0.00" MonitorOption="3" Node="" OnhandAvailableDate="2026-07-01" OnhandAvailableQuantity="2.00"/> <AvailabilityChange AgentCriteriaId="" AlertLevel="3" AlertQuantity="10.00" AlertRaisedOn="2026-07-01T12:59:05-04:00" AlertType="REALTIME_FUTURE_MAX" DeliveryMethod="PICK" FirstFutureAvailableDate="2500-01-01" FutureAvailableDate="2500-01-01" FutureAvailableQuantity="0.00" MonitorOption="3" Node="NODE1" OnhandAvailableDate="2026-07-01" OnhandAvailableQuantity="2.00"/> <AvailabilityChange AgentCriteriaId="" AlertLevel="3" AlertQuantity="10.00" AlertRaisedOn="2026-07-01T12:59:05-04:00" AlertType="REALTIME_FUTURE_MAX" DeliveryMethod="SHP" FirstFutureAvailableDate="2500-01-01" FutureAvailableDate="2500-01-01" FutureAvailableQuantity="0.00" MonitorOption="3" Node="" OnhandAvailableDate="2026-07-01" OnhandAvailableQuantity="2.00"/> </AvailabilityChanges> </InventoryItem>- Sample input to IBM Sterling Intelligent Promising - Define node inventory availability API
-
[ { "deliveryMethod": "SHP", "availableFrom": "1900-01-01T00:00:00.000Z", "availableTill": "2500-01-01T00:00:00.000Z", "qty": 2.0 }, { "deliveryMethod": "PICK", "availableFrom": "1900-01-01T00:00:00.000Z", "availableTill": "2500-01-01T00:00:00.000Z", "qty": 2.0 } ]