Amazon MCF and Buy with Prime Accelerator for IBM Sterling OMS
Buy with Prime API is now available for early access
Sign up for early access to the Buy with Prime API using the 'Sign Up' button below. The API may change as Amazon receives feedback and iterates on it.
You can use the Amazon MCF and Buy with Prime Accelerator for IBM Sterling OMS to integrate Multi-Channel Fulfillment (MCF) and Buy with Prime with your IBM Sterling order management system (OMS). The following sections describe the technical requirements, solution architecture, implementation modules, and deployment considerations for the accelerator.
Accelerator benefits
The Amazon MCF and Buy with Prime Accelerator for IBM Sterling reduces integration time and technical complexity. You can use the accelerator to implement Amazon commerce capabilities without extensive modifications to your existing inventory management, order processing, fulfillment tracking, and returns handling systems.
The accelerator works alongside your current OMS configurations with minimal system changes. This approach lets development teams focus on merchant-specific customizations instead of building core integration components.
Solution overview
The Amazon MCF and Buy with Prime Accelerator for IBM Sterling OMS processes data asynchronously without disrupting your existing IBM Sterling OMS operations. The accelerator manages data transformations and maintains state consistency between Amazon services and your OMS, adding Amazon fulfillment capabilities while preserving existing workflows.
Use cases
The following table describes several use cases for the Amazon MCF and Buy with Prime Accelerator for IBM Sterling OMS:
Use case | From | To | Description |
---|---|---|---|
Fulfill with Amazon | OMS | Amazon | Create and manage MCF and Buy with Prime orders from IBM Sterling OMS. |
Amazon Fulfillment Updates | Amazon | OMS | Update your IBM Sterling OMS with delivery cancellations, delivery failures, shipping, and tracking info from Amazon. |
Returns through Amazon | Amazon | OMS | Handle returns initiated from Amazon, create return orders in IBM Sterling OMS, and sync return delivery status. |
Returns outside Amazon | OMS | Amazon | Sync merchant-initiated returns with Amazon and maintain return visibility. |
Amazon refund requests | Amazon | OMS | Process refund requests initiated from Amazon due to delivery cancellations, delivery failures, and returns. |
Synchronize issued refunds | OMS | Amazon | Send refund updates from OMS to Amazon to ensure synchronized status. |
Merchant order cancellation | OMS | Amazon | Request order cancellation through various channels. |
Synchronize inventory | Amazon | OMS | Sync inventory in real-time and batch from Amazon to IBM Sterling OMS to maintain accurate stock levels. |
Design principles and technical architecture
Integration principles
The Amazon MCF and Buy with Prime Accelerator for IBM Sterling OMS uses principles such as keeping client systems authoritative, maintaining system boundaries, and using asynchronous, event-driven communication. For details, see Integration principles.
Architecture layers
The Amazon MCF and Buy with Prime Accelerator for IBM Sterling OMS uses three distinct architectural layers:
-
Amazon Connector layer: Handles technical connectivity and data mapping between Amazon and OMS formats.
-
OMS Integration Services layer: Handles business logic and orchestration.
-
The OMS Event Handler layer: Provides validation and routing logic. The OMS Event Handler layer is deployed on your OMS platform to identify and direct Amazon orders to the accelerator's OMS Integration Services. This layer serves as a reference implementation that you can configure or extend based on your requirements.
Event processing architecture
The architecture of the accelerator uses asynchronous event processing to reduce system coupling and increase scalability.
-
Amazon to IBM Sterling OMS: Webhooks send Amazon events to the Amazon Connector, which validates and transforms data before routing to Java Message Service (JMS) queues. The OMS Integration Services layer processes these events asynchronously, maintains OMS state, and coordinates Amazon responses. IBM Sterling OMS uses PKCS#12 certificates and basic authentication for security. The accelerator processes JSON-based Amazon events and communicates with IBM Sterling OMS using the native XML format that its APIs require.
-
IBM Sterling OMS to Amazon: The accelerator validates IBM Sterling OMS transaction events for Amazon orders and routes them to JMS queues for processing. The OMS Integration Services layer processes these events asynchronously, maintains Amazon state, and coordinates OMS responses. Access to Amazon services requires OAuth-based authentication. The accelerator communicates with Amazon services using Buy with Prime APIs and Seller Partner APIs.
IBM Sterling OMS platform integration
The accelerator design aligns with IBM Sterling OMS order lifecycle transactions, events, and processing pipeline. This design principle supports integration with your existing OMS implementation and reduces customization requirements. The architecture uses established IBM Sterling OMS mechanisms for order processing, fulfillment, and inventory management.
Accelerator configuration
The Amazon MCF and Buy with Prime Accelerator for IBM Sterling OMS lets you configure properties to change the behavior of the accelerator based on your business needs and account setup. You can modify these properties using API calls or manually modify them with the Sterling OMS Application Manager.
For details on the available configuration settings, see Amazon MCF and Buy with Prime Accelerator for IBM Sterling OMS on the Perfaware website.
Merchant-specific customizations and configurations
Minimize impact to your IBM Sterling OMS environment
To minimize impact to your IBM Sterling OMS environment, the Amazon MCF and Buy with Prime Accelerator for IBM Sterling OMS does the following:
-
Excludes configurations like hub rules, user exits, and event actions from the installation package to preserve your existing IBM Sterling OMS configurations.
-
Externalizes common, potentially overlapping configurations like transaction and status codes.
-
Provides sample pipelines for order, shipment, and return processing to avoid conflicts with your existing pipelines.
-
Processes most accelerator operations in a separate transaction boundary from core OMS transactions to minimize performance impact.
-
Prefixes all Amazon configurations with
Amz
to avoid conflicts with your existing setup.
Required configurations and customizations
To use the Amazon MCF and Buy with Prime Accelerator for IBM Sterling OMS, you need to apply the following common configurations and customizations. Your specific IBM Sterling OMS implementation might require additional customizations.
-
Configurations: Review and assess configurations like conflicting status codes and ship node values for applicability.
-
Pipelines: The accelerator provides sample pipelines for order, shipment, and return processing. You might need to modify these to include common transactions such as sales and returns posting.
-
Servers: The accelerator includes several server configurations, but you might prefer to consolidate infrastructure usage with your existing servers for common processes like creating orders and scheduling and releasing orders. This requires manual changes to the server configurations after deployment.
-
OMS Event Handler: Implement the OMS Event Handler. We provide this as a reference implementation but do not include it in the accelerator deployment package.
-
Code: You can make changes to the accelerator source code as necessary. For example, you can update the source code to add support for segmentation when updating inventory.
Implementation modules
The Amazon MCF and Buy with Prime Accelerator for IBM Sterling OMS uses several modules to integrate Amazon services with IBM Sterling OMS. These modules handle order management, fulfillment, returns processing, refund management, cancellations, and inventory synchronization. Each module uses specific APIs and event triggers to maintain data consistency between systems.
Fulfill with Amazon
The Fulfill with Amazon module supports both storefront-initiated and OMS-initiated orders. For OMS-initiated orders, the module handles creation and routing to Amazon, managing the fulfillment initialization process. For storefront-initiated orders, the accelerator initiates fulfillment.
The following table lists fulfillment APIs and events:
Component Type | Name | Purpose |
---|---|---|
Amazon APIs | mutation: createOrder | Creates new order in Amazon. |
mutation: updateOrder | Updates order status. | |
Amazon Events | N/A | - |
OMS APIs | getOrderList | Get complete order details. |
changeOrder | Update order with Amazon OrderId ; cancel OMS orderline if failed to create Amazon order. | |
OMS Events | ORDER_CREATE.0001.ON_SUCCESS | Triggers on creation of OMS order, used to create Amazon order or initiate Amazon fulfillment. |
RELEASE.0001.ON_SUCCESS | Triggers on release of OMS order, used to initialize Amazon fulfillment. |
Amazon fulfillment updates
The fulfillment status update component provides real-time visibility through event-based status updates. It processes various fulfillment events including in-transit notifications, delivery confirmations, package milestones, cancellations, and delivery failures. Once Amazon starts fulfilling an order, this module automatically updates OMS with package delivery milestones such as current package location, delivery attempts, and package status.
Once a shipment is created in OMS by the accelerator, your OMS is expected to create a shipment invoice and complete the payment processing.
The following table lists shipment and delivery APIs and events:
Component Type | Name | Purpose |
---|---|---|
Amazon APIs | query: order | Retrieves delivery/package details. |
Amazon Events | PACKAGE_DELIVERY_IN_TRANSIT | Indicates shipment started. |
PACKAGE_DELIVERED | Confirms delivery completion. | |
OMS APIs | getShipmentContainerList | Get shipment details for AmzDeliveryId . |
getOrderLineList | Get order line details for Amazon item alias. | |
createShipment | Creates shipment record. | |
changeShipmentStatus | Updates shipment status. |
The following table lists package delivery milestone APIs and events:
Component Type | Name | Purpose |
---|---|---|
Amazon APIs | query: Order | Retrieves tracking details. |
Amazon Events | PACKAGE_TRACKER_MILESTONE_CHANGED | Updates tracking milestones. |
OMS APIs | getShipmentContainerList | Get shipment details for TrackingNo . |
getContainerMilestoneList (custom) | Get milestones for AmzDeliveryId and TrackingNo . | |
updateTrackingMilestones (custom) | Updates tracking information. |
The following table lists delivery cancellation and delivery failure APIs and events:
Component Type | Name | Purpose |
---|---|---|
Amazon APIs | query: order | Retrieves delivery/package details. |
Amazon Events | PACKAGE_DELIVERY_CANCELLED | Indicates delivery cancellation. |
PACKAGE_DELIVERY_FAILURE | Indicates delivery failures. | |
OMS APIs | getShipmentContainerList | Get shipment details for AmzDeliveryId . |
getOrderLineList | Get order line details for Amazon item alias. | |
changeRelease | Cancel release. | |
changeOrder | Cancel for Buy with Prime or backorder line for MCF. | |
changeShipmentStatus | Updates shipment status. |
Returns through Amazon
This module processes returns initiated through Amazon's online returns center or Buy with Prime shopper order details page. It automatically creates return records in OMS and maintains synchronization of return delivery status updates, ensuring consistent return tracking across systems.
The following table lists Amazon return APIs and events:
Component Type | Name | Purpose |
---|---|---|
Amazon APIs | query: Order | Retrieves return details. |
Amazon Events | RETURN_STARTED | Indicates return initiation. |
RETURN_PACKAGE_IN_TRANSIT | Updates return shipment status. | |
RETURN_PACKAGE_DELIVERED | Confirms return delivery. | |
RETURN_ITEM_GRADED | Updates return item inspection status. | |
RETURN_COMPLETED | Indicates return completion. | |
OMS APIs | getOrderList | Get order details for AmzReturnId . |
getOrderLineList | Get order line details for AmzOrderId . | |
createOrder | Creates return order in OMS. | |
changeOrderStatus | Change order status. | |
changeOrder | Save events. |
Returns outside Amazon
This module manages returns initiated outside Amazon's platform, such as through your OMS customer service portal. It ensures Amazon has visibility into all returns, preventing duplicate return authorizations.
The following table lists external return APIs and events:
Component Type | Name | Purpose |
---|---|---|
Amazon APIs | mutation: updateOrder | Creates or updates return in Amazon. |
OMS APIs | getOrderList | Retrieves order details. |
changeOrder | Updates return status. | |
OMS Events | ORDER_CREATE.0003.ON_SUCCESS | Triggers external return processing. |
ORDER_CHANGE.0003.ON_SUCCESS | Triggers return status updates. |
Amazon refund requests
This module processes refund request notifications from Amazon. It handles refund requests for various scenarios including successful returns, order cancellations, and delivery failures.
Once the accelerator creates a return invoice or a credit memo, your OMS is expected to complete the payment refund processing.
The following table lists refund request APIs and events:
Component Type | Name | Purpose |
---|---|---|
Amazon APIs | mutation: updateOrder | Updates refund status in Amazon. |
query: Order | Query refund details. | |
Amazon Events | REFUND_REQUESTED | Triggers refund processing. |
OMS APIs | getReceiptLineList | Get receipts for AmzReturnId and AmzRefundId . |
receiveOrder | Mark return line as received. | |
closeReceipt | Close receipt. | |
createOrderInvoice | Create return invoice. | |
changeOrderInvoice | Update invoice with AmzRefundId . | |
recordInvoiceCreation | Creates credit memo invoice. | |
getInvoiceDetails | Retrieves invoice based on AmzRefundId . | |
getOrderLineList | Retrieve order lines based on item id alias. |
Synchronize issued refunds
This module updates Amazon with refund processing status and details after OMS completes refund payment processing. This ensures Amazon has accurate records of completed refunds and can update customer communications accordingly.
The following table lists credit memo refund APIs and events:
Component Type | Name | Purpose |
---|---|---|
Amazon APIs | mutation: updateOrder | Updates refund status in Amazon. |
OMS Events | PAYMENT_COLLECTION.ON_INVOICE_COLLECTION | Triggers refund status updates. |
The following table lists Amazon-initiated refund APIs and events:
Component Type | Name | Purpose |
---|---|---|
Amazon APIs | mutation: updateOrder | Updates refund status in Amazon. |
OMS Events | PAYMENT_COLLECTION.ON_INVOICE.0003_COLLECTION | Triggers refund status updates. |
The following table lists merchant-initiated refund APIs and events:
Component Type | Name | Purpose |
---|---|---|
Amazon APIs | mutation: updateOrder | Updates refund status in Amazon. |
OMS APIs | getOrderList | Retrieve order details. |
getInvoiceDetailList | Retrieve invoice details. | |
changeOrderInvoice | Update invoice with AmzRefundId . | |
OMS Events | PAYMENT_COLLECTION.ON_INVOICE.0003_COLLECTION | Triggers refund status updates. |
Merchant order cancellation
You can initiate cancellation of Buy with Prime or MCF orders through various channels like your website or call center. You can cancel orders for reasons such as customer remorse, out-of-stock items, payment issues, or other business scenarios. The accelerator evaluates and forwards valid cancellation requests to Amazon for processing.
The following table lists order cancellation APIs and events:
Component Type | Name | Purpose |
---|---|---|
Amazon APIs | mutation: cancelOrder | Request to cancel Amazon order. |
OMS Events | CHANGE_ORDER_ON_CANCEL | Triggers request to cancel Amazon order. |
Synchronize inventory
The inventory management module synchronizes inventory between Amazon and your IBM Sterling OMS. This module supports both real-time inventory updates through events and periodic full synchronization to ensure accurate inventory levels across systems. The periodic full synchronization operates through a scheduled agent process that systematically retrieves inventory data from Amazon and updates the OMS.
The following table lists real-time inventory APIs and events:
Component Type | Name | Purpose |
---|---|---|
Amazon APIs | getInventorySummaries | Get fulfillable quantity for Seller SKU . |
Amazon Events | INVENTORY_CHANGED | Triggered on inventory availability change. |
OMS APIs | getAggregatedDemand | Get sum of all open demand. |
syncSupply | Update supply quantity. |
The following table lists periodic inventory synchronization APIs:
Component Type | Name | Purpose |
---|---|---|
Amazon APIs | getInventorySummaries | Get fulfillable quantity for batch of seller SKUs . |
query: Products | Get external ID for seller SKU . | |
OMS APIs | getAggregatedDemand | Get sum of all open demand. |
syncSupply | Update supply quantity. |
Installation and deployment overview
Prerequisites
The installation process requires a functioning IBM Sterling OMS environment with Java Message Service (JMS) MQ platform, core components, code packages, and configurations. The accelerator supports both on-premises IBM Sterling OMS 10.0 and Order Management on Cloud (OMoC) 25.2.
Deployment
We suggest the following approach to deploy the accelerator:
- Deploy to a sandbox environment to identify gaps and conflicts.
- Merge configurations into the master configuration (MC) environment.
The implementation spans multiple layers, including application code deployment, JMS queue configuration, and server infrastructure setup. Module-specific configurations require enabling specific primitives, setting module properties, configuring database extensions, and establishing integration points aligned with your business requirements.
For more details on installing and deploying the accelerator, see Amazon MCF and Buy with Prime Accelerator for IBM Sterling OMS on the Perfaware website.
Related topics
Updated 5 days ago