Multiple Shipments Integration

The ESW SFCC Cartridge provides the capability to handle multiple shipments for a single order. This allows retailers to send multiple shipment packages for an order to ESW.

The ESW SFCC Cartridge provides the capability to handle multiple shipments for a single order. This allows retailers to send multiple shipment packages for an order to ESW.

The relevant shipment payload information is stored in SFCC custom order attributes, which can be used to synchronize with downstream systems such as OMS, WMS, or customer notification services.


Enabling the Feature

To enable or disable the multiple shipments feature:

  1. Go to the Business Manager
  2. Open Merchant Tools → Custom Preferences
  3. Open the ESW General Configuration preference group
  4. Scroll to the preference:
    ESW Enable Multiple Shipment
    
  5. Select:
    • Yes to enable the feature
    • No to disable the feature

Note:
By default, this preference is set to No.


How to Test Multiple Shipments

Step 1: Create a Multi-Shipment Order

  • Create an order containing multiple shipments in the storefront or Business Manager.

Step 2: Ship Each Shipment in Business Manager

For each shipment:

  1. Open the order in Business Manager
  2. Click the Shipment link
  3. Click Shipping status
  4. Change the status to:
    Shipped
    
  5. Apply the changes

Repeat these steps for each shipment in the order.


Step 3: Run the Package Feed Job

  1. Navigate to Administration → Jobs
  2. Select the job:
    eswRetailerPackageFeed
    
  3. Run the job

Step 4: Verify ESW Package Response

Once the job completes successfully:

  • The ESW package response is saved on the order in the custom order attribute:
    ESW Package JSON
    

Screenshot Code Snippet – ESW Package JSON (Order Attribute)

The following example reflects the ESW Package JSON stored against the order, as shown in the Business Manager screenshot.

{
  "productLines": [
    {
      "productLineId": "0001",
      "shipmentId": "shipment-1",
      "trackingNumber": "6001011185145",
      "carrier": "POST",
      "packageId": "PKG-001",
      "items": [
        {
          "productCode": "701642853695",
          "quantity": 1
        }
      ]
    },
    {
      "productLineId": "0002",
      "shipmentId": "shipment-2",
      "trackingNumber": "6001011185146",
      "carrier": "POST",
      "packageId": "PKG-002",
      "items": [
        {
          "productCode": "701642853718",
          "quantity": 1
        }
      ]
    },
    {
      "productLineId": "0003",
      "shipmentId": "shipment-3",
      "trackingNumber": "6001011185147",
      "carrier": "POST",
      "packageId": "PKG-003",
      "items": [
        {
          "productCode": "701642853720",
          "quantity": 1
        }
      ]
    }
  ]
}

This JSON represents:

  • Multiple packages generated for a single order
  • Each package mapped to a shipment
  • Individual tracking numbers per shipment

Storefront Behaviour

Once multiple shipments are processed:

  • The shopper will see multiple tracking numbers
  • Each tracking number corresponds to a separate package
  • Tracking details are displayed on the Order Confirmation / Receipt page

Example behaviour:

  • Shipment 1 → Tracking Number A
  • Shipment 2 → Tracking Number B
  • Shipment 3 → Tracking Number C

Key Notes

  • Each shipment is treated as an individual package by ESW
  • Tracking numbers are returned per package
  • The ESW Package JSON attribute can be used for:
    • Customer notifications
    • OMS/WMS synchronization
    • Shipment reconciliation
    • Support and tracking visibility