Bulk item migration for Simplified Shipping Settings

Overview

The Bulk Item Migration for Simplified Shipping Settings helps move large volumes of SKUs from legacy shipping templates to Simplified Shipping Settings (SSS) in a single, streamlined process. Instead of migrating items individually, sellers can move their assortment in bulk onto the Simplified Shipping Settings platform. This accelerates the onboarding process and reduces manual efforts. As a pre-requisite to using this API, sellers must be onboarded to Simplified Shipping Settings and have their default and custom configurations setup as needed.


Functionality

This functionality helps you bulk-migrate offers from Legacy Shipping Templates to Simplified Shipping Settings using the Feeds API. When you submit a migration feed (feedType PROGRAM_ACTIONS, requestType SHIPPING_CONFIG), the API returns a feedId to track asynchronous processing.

Use the bulk migration API to move eligible items from legacy templates to Simplified Shipping Settings, so they follow your account-level configuration, unless a fulfillment-center override applies.


Endpoint

POST https://marketplace.walmartapis.com/v3/feeds

Sample request

curl --request POST \ --url 'https://marketplace.walmartapis.com/v3/feeds?feedType=PROGRAM_ACTIONS&requestType=SHIPPING_CONFIG' \ --header 'accept: application/json' \ --header 'content-type: application/json' \ --data '
{ "ProgramActionFeedHeader": { "version": "5.0.20241002-17_27_17-api", "locale": "en", "businessUnit": "WALMART_US" }, "ProgramAction": [ { "Programs": { "ShippingConfiguration": { "itemShippingConfiguration": "Simplified Shipping Settings" } }, "ItemIdentifiers": { "sku": "8922gfgf" } } ]
}
'
import requests
import json # Endpoint to create the account-level Simplified Shipping Settings rule
url = "https://marketplace.walmartapis.com/v3/settings/shipping/simplifiedshippingsettings/account" # Replace the placeholder values with your own
headers = { "Accept": "application/json", "Content-Type": "application/json", "WM_SEC.ACCESS_TOKEN": "eyABCDEFGHI123456789…", # Your access token "WM_QOS.CORRELATION_ID": "AAAAAAAA-1111-BBBB-2222-CCCC3333DDDD", # A new GUID for each call "WM_SVC.NAME": "Walmart Service Name"
} payload = { "simplifiedShippingSettings": { "accountConfigs": { "shippingPriority": "FASTEST", "migrateEligibleOffers": False, "carrierConfigs": [ { "carriers": [ { "carrierName": "Fedex", "carrierService": "FEDEX_EXPRESS" } ], "configurations": [ { "regions": [ { "regionCode": "C", "regionName": "48 State", "subRegions": [ { "subRegionCode": "WE", "states": [ { "stateCode": "NV", "stateName": "Nevada" }, { "stateCode": "CA", "stateName": "California" } ] } ] } ], "addressTypes": ["STREET"] }, { "regions": [ { "regionCode": "H", "regionName": "AK and HI" } ], "addressTypes": ["STREET"] } ] }, { "carriers": [ { "carrierName": "Fedex", "carrierService": "FEDEX_OVERNIGHT" } ], "configurations": [ { "regions": [ { "regionCode": "C", "regionName": "48 State" }, { "regionCode": "P", "regionName": "US Protectorate 6s" } ], "addressTypes": ["PO_BOX", "STREET"] } ] } ] } }
} response = requests.post(url, headers=headers, data=json.dumps(payload)) print("Status code:", response.status_code)
print("Response JSON:", json.dumps(response.json(), indent=2)) 

Modify your code

  • Replace <YourAccessToken> with your WM_SEC.ACCESS_TOKEN.
  • Add or replace SKUs in the ItemIdentifiers section to migrate more items.
  • Submit multiple program action objects in the same payload to migrate in bulk.

Sample response

{ "feedId": "17EF05E37122540094F294ED0F8F66B8@Af8BBgAY"
}
import requests
import json # Endpoint to create the account-level Simplified Shipping Settings rule
url = "https://marketplace.walmartapis.com/v3/settings/shipping/simplifiedshippingsettings/account" # Replace the placeholder values with your own
headers = { "Accept": "application/json", "Content-Type": "application/json", "WM_SEC.ACCESS_TOKEN": "eyABCDEFGHI123456789…", # Your access token "WM_QOS.CORRELATION_ID": "AAAAAAAA-1111-BBBB-2222-CCCC3333DDDD", # A new GUID for each call "WM_SVC.NAME": "Walmart Service Name"
} payload = { "simplifiedShippingSettings": { "accountConfigs": { "shippingPriority": "FASTEST", "migrateEligibleOffers": False, "carrierConfigs": [ { "carriers": [ { "carrierName": "Fedex", "carrierService": "FEDEX_EXPRESS" } ], "configurations": [ { "regions": [ { "regionCode": "C", "regionName": "48 State", "subRegions": [ { "subRegionCode": "WE", "states": [ { "stateCode": "NV", "stateName": "Nevada" }, { "stateCode": "CA", "stateName": "California" } ] } ] } ], "addressTypes": ["STREET"] }, { "regions": [ { "regionCode": "H", "regionName": "AK and HI" } ], "addressTypes": ["STREET"] } ] }, { "carriers": [ { "carrierName": "Fedex", "carrierService": "FEDEX_OVERNIGHT" } ], "configurations": [ { "regions": [ { "regionCode": "C", "regionName": "48 State" }, { "regionCode": "P", "regionName": "US Protectorate 6s" } ], "addressTypes": ["PO_BOX", "STREET"] } ] } ] } }
} response = requests.post(url, headers=headers, data=json.dumps(payload)) print("Status code:", response.status_code)
print("Response JSON:", json.dumps(response.json(), indent=2)) 

Result

A successful call returns an HTTP 200 OK status and a feed ID. Use this ID to track the feed status and see when the migration completes.


Next steps

  1. Track the Feed item status by calling GET https://marketplace.walmartapis.com/v3/feeds/{feedId}
  2. Confirm the migration by calling GET https://marketplace.walmartapis.com/v3/settings/shipping/simplifiedshippingsettings
  3. Validate the Orders API by calling An order for a migrated SKU:  GET https://marketplace.walmartapis.com/v3/orders/{purchaseOrderId}