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 caseFromToDescription
Fulfill with AmazonOMSAmazonCreate and manage MCF and Buy with Prime orders from IBM Sterling OMS.
Amazon Fulfillment UpdatesAmazonOMSUpdate your IBM Sterling OMS with delivery cancellations, delivery failures, shipping, and tracking info from Amazon.
Returns through AmazonAmazonOMSHandle returns initiated from Amazon, create return orders in IBM Sterling OMS, and sync return delivery status.
Returns outside AmazonOMSAmazonSync merchant-initiated returns with Amazon and maintain return visibility.
Amazon refund requestsAmazonOMSProcess refund requests initiated from Amazon due to delivery cancellations, delivery failures, and returns.
Synchronize issued refundsOMSAmazonSend refund updates from OMS to Amazon to ensure synchronized status.
Merchant order cancellationOMSAmazonRequest order cancellation through various channels.
Synchronize inventoryAmazonOMSSync 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 TypeNamePurpose
Amazon APIsmutation: createOrderCreates new order in Amazon.
mutation: updateOrderUpdates order status.
Amazon EventsN/A-
OMS APIsgetOrderListGet complete order details.
changeOrderUpdate order with Amazon OrderId; cancel OMS orderline if failed to create Amazon order.
OMS EventsORDER_CREATE.0001.ON_SUCCESSTriggers on creation of OMS order, used to create Amazon order or initiate Amazon fulfillment.
RELEASE.0001.ON_SUCCESSTriggers 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 TypeNamePurpose
Amazon APIsquery: orderRetrieves delivery/package details.
Amazon EventsPACKAGE_DELIVERY_IN_TRANSITIndicates shipment started.
PACKAGE_DELIVEREDConfirms delivery completion.
OMS APIsgetShipmentContainerListGet shipment details for AmzDeliveryId.
getOrderLineListGet order line details for Amazon item alias.
createShipmentCreates shipment record.
changeShipmentStatusUpdates shipment status.

The following table lists package delivery milestone APIs and events:

Component TypeNamePurpose
Amazon APIsquery: OrderRetrieves tracking details.
Amazon EventsPACKAGE_TRACKER_MILESTONE_CHANGEDUpdates tracking milestones.
OMS APIsgetShipmentContainerListGet 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 TypeNamePurpose
Amazon APIsquery: orderRetrieves delivery/package details.
Amazon EventsPACKAGE_DELIVERY_CANCELLEDIndicates delivery cancellation.
PACKAGE_DELIVERY_FAILUREIndicates delivery failures.
OMS APIsgetShipmentContainerListGet shipment details for AmzDeliveryId.
getOrderLineListGet order line details for Amazon item alias.
changeReleaseCancel release.
changeOrderCancel for Buy with Prime or backorder line for MCF.
changeShipmentStatusUpdates 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 TypeNamePurpose
Amazon APIsquery: OrderRetrieves return details.
Amazon EventsRETURN_STARTEDIndicates return initiation.
RETURN_PACKAGE_IN_TRANSITUpdates return shipment status.
RETURN_PACKAGE_DELIVEREDConfirms return delivery.
RETURN_ITEM_GRADEDUpdates return item inspection status.
RETURN_COMPLETEDIndicates return completion.
OMS APIsgetOrderListGet order details for AmzReturnId.
getOrderLineListGet order line details for AmzOrderId.
createOrderCreates return order in OMS.
changeOrderStatusChange order status.
changeOrderSave 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 TypeNamePurpose
Amazon APIsmutation: updateOrderCreates or updates return in Amazon.
OMS APIsgetOrderListRetrieves order details.
changeOrderUpdates return status.
OMS EventsORDER_CREATE.0003.ON_SUCCESSTriggers external return processing.
ORDER_CHANGE.0003.ON_SUCCESSTriggers 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 TypeNamePurpose
Amazon APIsmutation: updateOrderUpdates refund status in Amazon.
query: OrderQuery refund details.
Amazon EventsREFUND_REQUESTEDTriggers refund processing.
OMS APIsgetReceiptLineListGet receipts for AmzReturnId and AmzRefundId.
receiveOrderMark return line as received.
closeReceiptClose receipt.
createOrderInvoiceCreate return invoice.
changeOrderInvoiceUpdate invoice with AmzRefundId.
recordInvoiceCreationCreates credit memo invoice.
getInvoiceDetailsRetrieves invoice based on AmzRefundId.
getOrderLineListRetrieve 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 TypeNamePurpose
Amazon APIsmutation: updateOrderUpdates refund status in Amazon.
OMS EventsPAYMENT_COLLECTION.ON_INVOICE_COLLECTIONTriggers refund status updates.

The following table lists Amazon-initiated refund APIs and events:

Component TypeNamePurpose
Amazon APIsmutation: updateOrderUpdates refund status in Amazon.
OMS EventsPAYMENT_COLLECTION.ON_INVOICE.0003_COLLECTIONTriggers refund status updates.

The following table lists merchant-initiated refund APIs and events:

Component TypeNamePurpose
Amazon APIsmutation: updateOrderUpdates refund status in Amazon.
OMS APIsgetOrderListRetrieve order details.
getInvoiceDetailListRetrieve invoice details.
changeOrderInvoiceUpdate invoice with AmzRefundId.
OMS EventsPAYMENT_COLLECTION.ON_INVOICE.0003_COLLECTIONTriggers 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 TypeNamePurpose
Amazon APIsmutation: cancelOrderRequest to cancel Amazon order.
OMS EventsCHANGE_ORDER_ON_CANCELTriggers 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 TypeNamePurpose
Amazon APIsgetInventorySummariesGet fulfillable quantity for Seller SKU.
Amazon EventsINVENTORY_CHANGEDTriggered on inventory availability change.
OMS APIsgetAggregatedDemandGet sum of all open demand.
syncSupplyUpdate supply quantity.

The following table lists periodic inventory synchronization APIs:

Component TypeNamePurpose
Amazon APIsgetInventorySummariesGet fulfillable quantity for batch of seller SKUs.
query: ProductsGet external ID for seller SKU.
OMS APIsgetAggregatedDemandGet sum of all open demand.
syncSupplyUpdate 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:

  1. Deploy to a sandbox environment to identify gaps and conflicts.
  2. 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