-
Notifications
You must be signed in to change notification settings - Fork 1
The Walmart Marketplace APIs help generate applications for managing items, orders, prices, promotions, inventory, and reports on Walmart.com
kevinobama/walmartMarketplaceAPI
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Introduction The Walmart Marketplace APIs help generate applications for managing items, orders, prices, promotions, inventory, and reports on Walmart.com. The Walmart Developer Center provides all the information required to directly integrate with the Walmart Marketplace APIs. To use the Marketplace APIs, you need to upload the XML or Excel file that contains information about your request. You can upload the Excel file from the Seller Center or extract the XML file from the XSD. For help with other items, go to . This Knowledge Base helps with a wide variety of topics ranging from Variant Setup to Swatches. Each XML file may contain the namespace and other parameters. The real value of the namespace could be wm, ns2, ns3 or any other random value and the XML structure should be compliant with the XSDs schema. The actual specification of the XML format is defined in the XSD files, which you can download from the respective API documentation sections. We have included a few examples of the relevant XMLs for each of our APIs. The general structure of the responses can be found in the examples on the right panel. Walmart validates XML requests against the XSDs prior to processing. Validate your Feeds before sending them to Walmart. Requests that do not validate successfully will return a parsing error in Response, either in the Feed status or in the Item status: If the Feed is not valid, the feedStatus will show "ERROR." If an Item is not valid, ingestionStatus will show "DATA ERROR." There are third-party tools available that are designed specifically for XML validation (debugging). You can find these tools by searching "XML Validator." The Walmart APIs are case-sensitive; this applies to the URLs, elements and parameters. The supported character set is UTF-8. Only use this character set or subsets thereof. Getting Started Prerequisites Before you start using Marketplace APIs, you need to: Go to SellerHelp Walmart. Scroll to Browse Guides by Topics. Click on Getting Started and review the the onboarding and registration steps. Make sure you have been approved to sell your items on Walmart Marketplace. Authentication Token-based Authentication The Walmart Marketplace APIs use OAuth for token-based authentication and authorization. This is the new standard method which should be used moving forward. The benefits of using of token-based authentication include: Current standards for API Authentication Reduced overhead of creating and signing the digital signature Easier integration with Walmart APIs Reduced number of headers per API call Integration Steps Log into the Developer Center. Retrieve Client ID/Client Secret from the API keys page. The Client ID/Client Secret is not the same as Consumer ID/Private Key used in the old authentication method. Your software uses the keys to generate a short-lived token, (which expires after 15 minute), using the Token API. Use the headers listed in the table below to authenticate your API call. These headers are mandatory for all API calls for authentication. Individual APIs may require additional headers. Note: You must contact your Solution Providers to provide the Client ID/Client Secret. Common Header Parameters The common headers are required and shared among all of the APIs. These headers are included to implement standards across APIs and provide the function of tracking and debugging issues. Name Description Required Example WM_SVC.NAME Walmart Service Name Yes Walmart Marketplace WM_QOS.CORRELATION_ID A unique ID which identifies each API call and used to track and debug issues; use a random generated GUID for this ID Yes 1234hfvgtr WM_CONSUMER.CHANNEL.TYPE A unique ID to track the consumer request by channel No 0f3e4dd4-0514-4346-b39d-... use the Consumer Channel Type received during onboarding Authorization Basic authorization header. Base 64 encodes the Client ID and Client Secret retrieved in step two of the integration steps. Yes Basic YzcyOTFjNmItNzI5MC00.... WM_SEC.ACCESS_TOKEN The token retrieved in step three of integration Yes eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM..... Common Header Sample Authorization: Basic Base64Encode(clientId:clientSecret) WM_SVC.NAME: Walmart Marketplace WM_SEC.ACCESS_TOKEN: eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM..... WM_QOS.CORRELATION_ID: b3261d2d-028a-4ef7-8602-633c23200af6 WM_CONSUMER.CHANNEL.TYPE: 0f3e4dd4-0514-4346-b39d-... Token API Get access token by providing Client ID and Client Secret Version V3 Production URL POST https://marketplace.walmartapis.com/v3/token Sandbox URL POSThttps://sandbox.walmartapis.com/v3/token Header Parameters Name Description Required Example WM_SVC.NAME Walmart Service Name Yes Walmart Marketplace WM_QOS.CORRELATION_ID A unique ID which identifies each API call and used to track and debug issues; use a random generated GUID for this ID Yes 1234hfvgtr Authorization Basic authorization header. Base 64 encodes the Client ID and Client Secret retrieved in step two of the integration steps. Base64Encode(clientId:clientSecret) Yes Basic YzcyOTFjNmItNzI5MC00.... Content-Type The data format in the request body Yes application/x-www-form-urlencoded Accept application/xml or application/json Yes application/xml Sample Request Header POST /v3/token HTTP/1.1 Authorization: Basic Base64Encode(clientId:clientSecret) Content-Type: application/x-www-form-urlencoded Accept: application/json WM_SVC.NAME: Walmart Marketplace WM_QOS.CORRELATION_ID: b3261d2d-028a-4ef7-8602-633c23200af6 WM_SVC.VERSION: 1.0.0 Request Body Name Description Required Default grant_type The type of access token to be issued Yes client_credentials ** Note: The value of the grant_type should always be 'client_credentials' to get the correct access token ** Sample Request grant_type=client_credentials Response Parameters Name Description Type access_token Unique token string generated by the API call String token_type Type of token according to user. (e.g., 'BEARER') String expires_in Seconds until expiration of token Integer Sample Response JSON XML JSONXML { "access_token": "eyJraWQiOiIzN2JmOWQ5MS04ZDRkLTQwYjEtODU4NS1mNzhlZDc3MjM4MDQiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiZGlyIn0..bKkYKqJ5CP0Qb2Qz.wQ4TTa2nwL1rbT98BBdbTi_MRNMM0gW_5q8im6uX4olRwYiuOXjaG6TbnnFOK5fT0UzMEJUf-uybalogMH78cHP0ZyL6hONKJOMJ8VK3ThcZ4AUcqrMRBNIMFiAWSTvHJg1y5g-t-WwmZbaD589dMll7-aXG6PPncpeQA1zOyOTaELjDA4O4jimc2_7PnEdc6ETv89AKcnw1J1cPz6BPG9jpyLVX_zEZcQnxbAHYZiSFscFCzdMtpFDrPWIwWuRcV5qRlH4DghHMqKG7V2wqX1VYV_gUvLH5b2y8O6Y0u9nmkBpqTGNiMpWzNE7amFyqKExGk4Jc_ziJdsrj38cSz9a4KtZOrV6E3mN5gFFEQSNAGzrdEv2IdTfWdNgTnHopQecgrlP7EcsrmGh1ARGTWr-e7RaiL8m2Sx5i9odGj5FDJKXiDeohX-KEB-Vc2KJeLxvYAHA7nPT1_pkZDBCfpqq_6GAUBDEbDZ6mJH93TAE1YhFeR_jcdl_23lND9sHKlvHA97-fHAjEVTqu-4wVmFFelGyJD4VIBkieWn94jq_opMiz-RjyYn8Vj-tfdJy8azBNt5NkjjW7Rsque04LsfujrqHDcJHio3ukT5JKwxNv9PoHMxoHnQ5fUdF4pOzt6ZShkki-jSbhileDlClh0ufLSNYgBmy6Fz4wTZWgL-DhJOcv-7Cup95Rx35Wh7XDYTbdz_z_avtfF-f-JS5XyN20Hn-gioWdNA7DNhI1O6s7zKZ2s2iD9eFkprOLGtcJzvNVjrxKZKD6R0hrUUzDXRn95oWlJXfan-OsTNdRypfGWFqIes-n8cBhzVF69LEWIDMr6YfdkRkmCq_p_A.Bvyf-k_rnsiiuf0jGGVXvw", "token_type": "Bearer", "expires_in": 900 } Authorization The Walmart Developer Center provides a Delegated Access authorization feature which allows the creation of separate, delegated access for each Solution Provider. Delegated Access allows management of Solution Providers’ API keys and gives them access to specific services (content, items setup, order management, etc.). It is recommended to implement this feature. Note: Only Partners (Sellers) have login access to the Developer Portal and Solution Providers need to contact their Sellers to get their set of keys. The benefits of Delegated Access include: Ability to define which endpoints the Solution Providers can access. Monitor the status of all Solution Providers. Option to revoke access of a specific Solution Provider. Ability to reset the API secret of a Solution Provider. Resetting the secret will only affect that user’s integrations. Delegated Access Select "API Keys" option from the dropdown provided on the Developer Center. Add a new Solution Provider from the dropdown and set permissions for the provider. Each Solution Provider will be assigned a different Client ID/Client Secret. Share the corresponding Client ID/Client Secret information with your Solution Provider. Solution Provider uses the Client ID/Client Secret to call the Token API to get the access token. Contract Requirements You and your Solution Providers must have a contract with Walmart before obtaining delegated access. You cannot add new Solution Providers if they have not signed a contract using this method. If your Solution Provider is not listed in the dropdown, contact Walmart. GET Token Details Overview Retrieves information on the access levels delegated by Sellers for their Solution Providers. The scope includes a range of API categories and their corresponding access levels, for example Reports: View Only, Item: Full Access, etc. Delegated Access Levels The Delegated Access Levels table provides the list of allowed API methods for each of the available access levels which the MP Seller can set for their Solution Provider. Access Level API Methods Allowed view_only GET full_access GET, POST, PUT, DELETE no_access no APIs allowed For more information, go to Authorization (Delegated Access). Version V3 Production URL GET https://marketplace.walmartapis.com/v3/token/detail Sandbox URL GET https://sandbox.walmartapis.com/v3/token/detail Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload No application/json Accept The returned data format in the response Yes application/json Sample Request Header GET /v3/token/detail HTTP/1.1 <<Authentication Headers>> Content-Type: application/json Accept: application/json Host: marketplace.walmartapis.com Response Parameters Name Description Type expire_at The timestamp when the token expires Integer issued_at The timestamp when the token is issued Integer is_valid Whether the token is valid; boolean value of true or false Boolean scopes The API categories with their corresponding access levels Object Sample Response { "expire_at": "1560973098000", "issued_at": "1560972198000", "is_valid": true, "scopes": { "reports": "view_only", "item": "full_access", "price": "no_access", "lagtime": "full_access", "feeds": "view_only", "returns": "full_access", "orders": "full_access", "inventory": "full_access", "content": "full_access" } } Feed Management Feeds are constructed to handle bulk functions. A feed consists of an HTTP request with an attached file. The attached file contains the XML representing the objects that need to be created or updated. The Walmart APIs version 3.0 supports only Item and Feed types. Refer to the bulk endpoints in each section to see example Feeds for each feed type. Once you upload the Feeds, you can use the Feed ID to track the status of the feeds and the status of the item within those Feeds. Feed Statuses A Feed can have one of the following statuses: RECEIVED: The feed has been received by the Walmart gateway but the (asynchronous) processing has not yet started. INPROGRESS: The element processing in the feed has begun and is not yet completed. PROCESSED: The element processing in the feed is complete. Nothing is implied about the status of the individual elements. ERROR: The feed, as a whole, has failed. No elements within the feed were processed. Recommended Calling Interval If a request returns a Feed status of INPROGRESS, you should continue calling until a different status is retrieved. The recommended calling intervals for Item is 15 minutes, 1 hour, 2 hours and every 4 hours. Ingestion Statuses The ingestion statuses are set at a per-object level. DATA_ERROR:This error means that there is either a malformed XML error or some system data is missing. If the XML passes validation against the relevant XSD, and the error persists, contact Walmart Partner Support. SYSTEM_ERROR: This error is returned when a downstream Walmart system returns an error to an attempted operation during submission. If this error occurs, wait for at least an hour and then try again. If the error persists contact Walmart Partner Support. TIMEOUT_ERROR: This error is returned when a downstream Walmart system is not available during ingestion. If this error occurs, wait for at least an hour and try again. If the error persists, contact Partner Support. SUCCESS: The object has successfully been ingested. INPROGRESS: The item ingestion has not been completed. Get a feed status This API returns the feed status for a specified Feed ID. We recommend not to use this call with the includeDetails set to true, as discrepancies may appear between the header and the item details (the item details may be incorrect). Instead, use the call GET Feed Item Status. Version V3 Production URL GET https://marketplace.walmartapis.com/v3/feeds/{feedId} Sandbox URL GET https://sandbox.marketplace.walmartapis.com/v3/feeds/{feedId} Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload No application/xml or application/json Accept The returned data format in the response Yes application/xml or application/json URL Parameters Name Description Required Type feedId A unique ID returned from the Bulk Upload API, used for tracking the Feed File. Special characters must be escaped. (e.g., feedId: '...3456@789...' must be entered in the URL as '...3456@789) Yes String Sample Request Header GET /v3/C6123CC5F9324CCA9B9DC75848830A08@ASUBAQA?includeDetails=true&limit=20&offset=0 <<Authentication Headers>> Content-Type: application/xml or application/json Accept: application/xml or application/json Host: marketplace.walmartapis.com Sample Response JSON XML JSONXML { "feedId": "C6123CC5F9324CCA9B9DC75848830A08@ASUBAQA", "feedStatus": "PROCESSED", "shipNode": null, "submittedBy": null, "feedSubmissionDate": 1548226452530, "ingestionErrors": null, "itemsReceived": 1, "itemsSucceeded": 0, "itemsFailed": 1, "itemsProcessing": 0, "offset": 0, "limit": 20, "itemDetails": { "itemIngestionStatus": [ { "martId": 0, "sku": "0", "wpid": null, "index": 0, "itemid": "", "productIdentifiers": { "productIdentifier": [ { "productIdType": "GTIN", "productId": "00071691495901" } ] }, "ingestionStatus": "DATA_ERROR", "ingestionErrors": { "ingestionError": [ { "type": "SYSTEM_ERROR", "code": "ERR_EXT_DATA_0801001", "field": "SKU", "description": "Missing walmartItemNumber in request" } ] }, "additionalAttributes": null } ] }, "additionalAttributes": null } Get all feed statuses Returns the feed statuses for all the specified Feed IDs. Version V3 Production URL GET https://marketplace.walmartapis.com/v3/feeds?feedId={feedId}&limit={limit}&offset={offset} Sandbox URL GET https://sandbox.walmartapis.com/v3/feeds?feedId={feedId}&limit={limit}&offset={offset} Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload No application/xml or application/json Accept The returned data format in the response Yes application/xml or application/json Query Parameters Name Description Default Required Type feedId A unique ID returned from the Bulk Upload API, used for tracking the Feed File. Special characters must be escaped. (e.g., feedId: '...3456@789...' must be entered in the URL as '...3456@789) N/A No String limit The number of items to be returned. Maximum 50 items. Use this parameter only when includeDetails is set to true. 50 No Integer offset The object response to the starting number, where 0 is the first entity that can be requested. Only use when includeDetails is set to true. 0 No Integer Sample Request Header GET v3/feeds?feedId={feedId}&limit={limit}&offset={offset} HTTP/1.1 <<Authentication Headers>> Content-Type: application/xml or application/json Accept: application/xml or application/json Host: marketplace.walmartapis.com Response Parameters Name Description Type totalResults Total number of feeds returned Integer offset The object response to the starting number, where 0 is the first available Integer limit The number of items to be returned. Cannot be greater than 50. Integer results The feed status results List Sample Response JSON XML JSONXML { "totalResults": 115, "offset": 0, "limit": 50, "results": { "feed": [ { "feedId": "882DAFBDCAA0480786D1E0435FBC86D7@AU8BAgA", "feedSource": "MARKETPLACE_PARTNER", "feedType": "item", "partnerId": "100009", "itemsReceived": 1, "itemsSucceeded": 1, "itemsFailed": 0, "itemsProcessing": 0, "feedStatus": "PROCESSED", "feedDate": 1568148230011, "modifiedDtm": 1568148252067, "fileName": "item.json", "itemDataErrorCount": 0, "itemSystemErrorCount": 0, "itemTimeoutErrorCount": 0, "channelType": "0f3e4dd4-0514-4346-b39d-af0e00ea066d", "orgId": "f5e3d40a-1267-46b9-a2f3-7811e4c0b2de" }, { "feedId": "9398AC344EC44070A5B336D1E6D4EF27@AQYBAgA", "feedType": "MP_ITEM_PRICE_UPDATE", "partnerId": "100009", "itemsReceived": 0, "itemsSucceeded": 0, "itemsFailed": 0, "itemsProcessing": 0, "feedStatus": "ERROR", "feedDate": 1568138099492, "modifiedDtm": 1568138099615, "fileName": "Affiliate Template v2.xlsx", "itemDataErrorCount": 0, "itemSystemErrorCount": 0, "itemTimeoutErrorCount": 0, "channelType": "57c99571-b460-43e2-bcd6-7d12f3ddd5a9", "orgId": "f5e3d40a-1267-46b9-a2f3-7811e4c0b2de" } ] } } Get feed and item status Returns the feed and item status for a specified Feed ID. Version V3 Production URL GET https://marketplace.walmartapis.com/v3/feeds/{feedId}?includeDetails={includeDetails}&limit={limit}&offset={offset} Sandbox URL GET https://sandbox.walmartapis.com/v3/feeds/{feedId}?includeDetails={includeDetails}&limit={limit}&offset={offset} Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload No application/xml or application/json Accept The returned data format in the response Yes application/xml or application/json URL Parameters Name Description Required Type feedId A unique ID returned from the Bulk Upload API, used for tracking the Feed File. Special characters must be escaped. (e.g., feedId: '...3456@789...' must be entered in the URL as '...3456@789) Yes String Query Parameters Name Description Default Required Type includeDetails Allows return of more details from each entity included in the feed false No Boolean limit The number of entities to be returned. Maximum 1000 entities. Use this parameter only when includeDetails is set to true. 50 No Integer offset The object response to the starting number, where 0 is the first entity that can be requested. Only use when includeDetails is set to true. 0 No Integer Sample Request Header GET v3/feeds/{feedId}?includeDetails={includeDetails}&limit={limit}&offset={offset} HTTP/1.1 <<Authentication Headers>> Content-Type: application/xml or application/json Accept: application/xml or application/json Host: marketplace.walmartapis.com Response Parameters Name Description Type feedId A unique ID used for tracking the Feed File String feedStatus Can be one of the following: RECEIVED, INPROGRESS, PROCESSED, or ERROR String ingestionErrors Feed-level errors showing the reasons why the feed failed List itemsReceived The number of items received in the feed Integer itemsSucceeded The number of items in the feed that processed successfully Integer itemsFailed The number of items in the feed that failed due to a data or system error Integer itemsProcessing The number of items in the feed that are still processing Integer offset The object response to the starting number, where 0 is the first entity available for request Integer limit The number of items returned. Cannot be greater than 1000. Integer itemDetails List of ingestion status details for items in the feed List Sample Response JSON XML JSONXML { "feedId": "F129C19240844B97A3C6AD8F1A2C4997@AU8BAQA", "feedStatus": "PROCESSED", "shipNode": null, "submittedBy": null, "feedSubmissionDate": 1568310803059, "ingestionErrors": null, "itemsReceived": 1, "itemsSucceeded": 1, "itemsFailed": 0, "itemsProcessing": 0, "offset": 0, "limit": 20, "itemDetails": { "itemIngestionStatus": [ { "martId": 0, "sku": "0960B3B82687490FA5E51CB0801478A4@AU8BAgA", "wpid": "71ZLHHMKNS6G", "index": 0, "itemid": "51681142", "productIdentifiers": { "productIdentifier": [ { "productIdType": "GTIN", "productId": "00363824587165" }, { "productIdType": "UPC", "productId": "363824587165" } ] }, "ingestionStatus": "SUCCESS", "ingestionErrors": null, "additionalAttributes": null } ] }, "additionalAttributes": null } Item Management Overview The Item Management APIs enable you to set up and manage items on Walmart.com. Once you have completed Registration and have access to your Consumer ID and Private Key, you can get started with the integration process. For Sellers and Partners looking for general help with item set up, go to SellerHelp Walmart. This Knowledge Base helps Partners and Sellers with a wide variety of topics ranging from Variant Setup to Swatches. The item is the basic building block for all of your operations. An item includes the item you are trying to sell as well as the listing price for the item. To make your items available for customers to purchase on Walmart.com the items must have their prices adjusted (optional), have inventory assigned, submitted and published. A submitted item is one that has been successfully parsed and classified. The amount of time this takes is typically a few hours. A published item is one that has had all necessary attributes confirmed and has been back-flushed through all required Walmart systems. Publishing typically takes a few hours. Submission and publishing are triggered by a single action on the part of the Seller, while adding or changing inventory is a separate action. A monitoring process should be set up to ensure your items are pushed to Walmart.com. To complete Item Setup, follow the steps below: Send an item feed to Walmart by calling Bulk Create/Update Items with an attached XML file. The API call is the starting point of the ingestion/publishing process for each item in the XML file. This call returns a Feed ID. Use the Feed ID to monitor items that are being ingested. You can monitor the status of the feed and the item submission. The API call Get feed and item status includes all details about the Feed status. Once the Feed has a status of PROCESSED (i.e., the Feed is complete), all of the items have either been submitted or have submission errors. ** Note: The first items may be successfully submitted days before the last items are successfully submitted. ** Monitor the published status of the submitted items by calling Get an item and checking the status. Once the status of an item is PUBLISHED, it can be edited further. Steps 2 and 3 may return errors on individual items. Examine the errors that are returned, correct them and then mark them for reingestion. A typical strategy for fixing an error is to first check the XML against the XSDs and then create a case for Partner Support. Optional: You can change the price of your items using Update a price or Update bulk prices. This step is not required, but is recommended, as the desired prices on your items may have changed since the ingestion process was initiated. Add inventory using Update inventory or Bulk update inventory. In an Item feed, if you send HTML content as a value to shortDescription you have to do character encoding to the HTML tags. If you send direct HTML tags, they will appear as is in the Description of an Item on Walmart.com. Item Object The Marketplace API contains only one set of XSDs that represents an item object, i.e., MPitem object. The MPitem object may contain either item or listing/offer information, or both. Based on the type of information it can be used for the following operations: To Set Up Full Item: If the MPitem object contains item information (i.e., item attributes) as well as the listing /offer information (i.e., price and shipping information); it will be used to set up the full item. To Update Product Only: If the MPitem object contains only item information (i.e., item attributes); it will be used for only product information updates. To Update Listing/Offer Only: If the MPitem object contains only listing /offer information; it will be used for only listing/offer information updates. Extract the Item XSDs from the Zip directory below: V3-Spec-MarketPlace-Items-3.2-XSD.zip Extract the Item JSON schemas from the Zip directory below: V3-Spec-MarketPlace-Items-3.2-JSON.zip Usage The recommended usage of the different operations mentioned above is as follows: For initial insertion, use the MPItem object with item details and item listing/offer. Once the item has been set up and the status is PUBLISHED, use the Offer Only object item for non-item edits, such as price changes. Use the Product only item object for item edits. ** Note: You should not use an MPItem object because any price change included in the MPItem object is effective only when the entire object is processed.** Published Status The published status of an item describes where the item is in the submission process. PUBLISHED: The item is visible on Walmart.com and available for sale. READY_TO_PUBLISH: The item is in the final staging process and is ready to be published. IN_PROGRESS: The item is processing. An error could still occur at this point. UNPUBLISHED: The item has been made unavailable on Walmart.com because of backend rules, such as not having inventory for too long or problems with images. STAGE: The item is in the final staging process but has not been published because the Seller has not gone live. SYSTEM_PROBLEM: The item cannot be published. Contact Partner Support. Lifecycle Status The lifecycle status of an item describes where the item listing is in the overall lifecycle. ACTIVE: The item’s offer is current. RETIRED: The offer has moved past its expiration date (as set in the EndDate field). The item is not visible on Walmart.com. It can be made ACTIVE again by extending the expiration date into the future. ARCHIVED: The offer has been in RETIRED status for over a year. To return the listing to the ACTIVE status, contact Partner Support. Sample Payload (Product) JSON XML JSONXML { "MPItemFeedHeader": { "version": "3.2", "requestId": "requestId", "requestBatchId" : "batchId" }, "MPItem": [ { "processMode": "REPLACE_ALL", "feedDate": "2019-03-25T12:44:37-04:00", "sku": "0960B3B82687490FA5E51CB0801478A4@AU8BAgA", "productIdentifiers": [ { "productIdType": "UPC", "productId": "363824587165" } ], "MPProduct" : { "SkuUpdate" : "No", "productName" : "Mucinex Fast-Max Severe Cold & Sinus Liquid Gels 16 ea", "ProductIdUpdate": "Yes", "category" : { "Animal" : { "AnimalHealthAndGrooming" : { "shortDescription": "<![CDATA[<ul><li>Mucinex Fast-Max Severe Cold & Sinus - 16 Liquid Gels</li><li>Acetaminophen - Pain Reliever / Fever Reducer</li><li>Dextromethorphan HBr - Cough Suppressant</li><li>Phenylephrine - Nasal Decongestant</li><li>Liquid Gels</li></ul>]]>", "brand": "Mucinex", "manufacturer": "Mucinex Fast-Max", "manufacturerPartNumber": "MFMSCS16", "mainImageUrl": "http://images.geekseller.com/panel/product_images/1072/5860911m_399a26dd48e33fc8715863aabd2cc3d60ad9dcec.jpg", "isProp65WarningRequired": "No", "hasPricePerUnit": "No", "hasWarranty": "No", "hasExpiration":"Yes", "isNutritionFactsLabelRequired":"No", "hasIngredientList": "No", "isDrugFactsLabelRequired": "No" } } } }, "MPOffer": { "price": 7.03, "ShippingWeight": { "measure": 0, "unit": "lb" }, "ProductTaxCode": 203871 } } ] } Sample Payload (Offer) <MPItemFeed xmlns:wal="http://walmart.com/"> <MPItemFeedHeader> <version>3.2</version> <!--Optional:--> <requestId>HP_REQUEST</requestId> <!--Optional:--> <requestBatchId>HP_REQUEST_BATCH</requestBatchId> <!--Optional:--> <feedDate>2007-10-25T23:36:28</feedDate> <!--Optional:--> <mart>WALMART_US</mart> </MPItemFeedHeader> <!--1 to 10000 repetitions:--> <MPItem> <processMode>REPLACE_ALL</processMode> <!--Optional:--> <feedDate>2006-08-19T10:27:14-07:00</feedDate> <sku>HP_CLOTHING_SKU_001</sku> <productIdentifiers> <!--1 or more repetitions:--> <productIdentifier> <productIdType>GTIN</productIdType> <productId>04889236149914</productId> </productIdentifier> </productIdentifiers> <MPOffer> <!--Optional:--> <price>80.00</price> <!--Optional:--> <MinimumAdvertisedPrice>90.00</MinimumAdvertisedPrice> <!--Optional:--> <StartDate>2017-03-10</StartDate> <!--Optional:--> <EndDate>2017-03-15</EndDate> <!--Optional:--> <MustShipAlone>Yes</MustShipAlone> <!--Optional:--> <ShippingWeight> <measure>10.00</measure> <unit>lb</unit> </ShippingWeight> <!--Optional:--> <ProductTaxCode>100</ProductTaxCode> <!--Optional:--> <shipsInOriginalPackaging>Yes</shipsInOriginalPackaging> <!--Optional:--> <additionalOfferAttributes> <!--1 or more repetitions:--> <additionalOfferAttribute> <!--Optional:--> <additionalOfferAttributeName>string</additionalOfferAttributeName> <!--Zero or more repetitions:--> <additionalOfferAttributeValue>string</additionalOfferAttributeValue> </additionalOfferAttribute> </additionalOfferAttributes> <ShippingOverrides> <ShippingOverrideAction>REPLACE_ALL</ShippingOverrideAction> <!--Zero or more repetitions:--> <shippingOverride> <ShippingOverrideIsShippingAllowed>Yes</ShippingOverrideIsShippingAllowed> <ShippingOverrideShipMethod>ONE_DAY</ShippingOverrideShipMethod> <ShippingOverrideShipRegion>APO_FPO</ShippingOverrideShipRegion> <ShippingOverrideshipPrice>100.00</ShippingOverrideshipPrice> </shippingOverride> </ShippingOverrides> <ShippingProgramOverrides> <shippingProgramOverride> <twoDayShippingOverride>Yes</twoDayShippingOverride> <twoDayShippingRegion>STREET_48_STATES</twoDayShippingRegion> <twoDayShippingWestRegionStates>AZ1,AZ2,CO,ID,NM,MT,UT,NV,WY,OR,WA,CA1,CA2</twoDayShippingWestRegionStates> <twoDayShippingNortheastRegionStates>CT,ME,MA,NH,RI,VT,NY,NJ1,NJ2,PA</twoDayShippingNortheastRegionStates> <twoDayShippingMidwestRegionStates>IN1,IN2,IL,MI,OH,WI,IA,KS,MN,MO,NE,ND,SD</twoDayShippingMidwestRegionStates> <twoDayShippingSouthRegionStates>DE,DC,FL,GA,MD,NC,SC,VA,WV,AL,KY,MS,TN,AR,LA,OK,TX</twoDayShippingSouthRegionStates> </shippingProgramOverride> </ShippingProgramOverrides> </MPOffer> </MPItem> </MPItemFeed> Item Maintenance Process Mode The process mode is used to identify what action a user needs to perform for a given item. The supported values for the process mode is listed in the table below. The following table describes each process mode: Process Mode Description Element Required Notes CREATE Creates a new item. MPProduct and MPOffer An error will occur if the request is sent with only MPProduct element REPLACE_ALL Replaces MPProduct and MPOffer information MPProduct or MPOffer The default value is the MPProduct element PARTIAL_UPDATE Merges the contents of item MPProduct An error will occur if the request is sent with the MPOffer element Product ID & SKU Product ID and SKU are important identifiers for Walmart's systems. Walmart merges items with the same Product ID and shows them as one item sold by multiple Sellers. If you provide the wrong Product ID, your item will be merged incorrectly, which can increase your order cancellation rate, create bad customer experience, produce customer fraud complaints and result in a lower rating on your Seller Scorecard. **Note: You can not update both a SKU and a product ID in the same spec. If you want to update the product ID, it must be done separately. For more details, please refer to Update an Item's Product ID. How to Update an Item’s Product ID To update the item’s Product Identifier, follow the steps below: Provide the new productId for the item in the Feed File. In the XML payload file, look for ProductIdUpdate attribute. Set the ProductIdUpdate attribute to Yes. Upload the Feed File. When the Feed is successfully processed, the item will have the new Product ID. How to Update an Item’s SKU To update the item’s SKU, follow the steps below: Provide the new SKU for the item in the Feed File. In the XML payload file, look for SkuUpdate attribute Set the SkuUpdate attribute to Yes. Upload the Feed file. When the feed is successfully processed, the item will have the new SKU. Secondary Image Deletion To delete old SECONDARY/SWATCH images, please send the value for processMode as REPLACE_ALL. Shipping Override Shipping overrides can be used for specifiying shipping attributes such as ShipMethod, ShipRegion, ShipPrice. For more information, please refer to Shipping Methods and Timing. For ShippingOverrideAction, you can set up the following values: REPLACE_ALL: This action value replaces all existing shipping overrides with the given shipping override. DELETE_ALL: This action value deletes all the shipping orders and there will be NO shipping override. ** Note: If there is no action element, no action will be performed and the override will be kept as is. ** Example: <xsd:enumeration value="REPLACE_ALL"/> <xsd:enumeration value="DELETE_ALL"/> Shipping Program Override The program offers qualified sellers a way to offer free, two-day shipping to our customers with dynamic, location-based logic that will automatically display the "2-Day Shipping" banner on eligible items. Two-day shipping is made available through additions to the request body during Item setup. See the Post Bulk Upload Sample Request Body for the added section beginning with ShippingProgramOverrides. For more information on Two-Day Shipping, go to SellerHelp Walmart. For frequently asked questions, including integration details about our programs, access the FAQ. To specify the regions and sub regions for twoDayShippingWestRegionStates, twoDayShippingNortheastRegionStates, twoDayShippingMidwestRegionStates, twoDayShippingSouthRegionStates, refer to Coverage Area Bulk Item Setup Updates items in bulk. You can update 10,000 items at once; updates with more than 10,000 items are not supported. Keep feed sizes below 10 MB to ensure optimal feed processing time. Version V3 Production URL POST https://marketplace.walmartapis.com/v3/feeds?feedType=item Sandbox URL POST https://sandbox.walmartapis.com/v3/feeds?feedType=item Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes multipart/form-data Accept The returned data format in the response Yes application/xml or application/json Query Parameters Name Description Required feedType The feed type Yes Request Body The request body consists of a Feed file attached to the request. You will receive acknowledgement when Feed File is received. Save the Feed ID so you can track your feed. For more information about regions, please refer to the Coverage Area section. Sample Request Header POST /v3/feeds?feedType=item HTTP/1.1 <<Authentication Headers>> Content-Type: multipart/form-data Accept: application/xml or application/json Host: marketplace.walmartapis.com Sample Request Body JSON XML JSONXML { "MPItemFeedHeader": { "feedDate": "2019-04-30T03:42:21.358 0000", "mart": "WALMART_US", "version": "3.2" }, "MPItem": [ { "productIdentifiers": [ { "productId": "00646822987060", "productIdType": "GTIN" } ], "MPProduct": { "msrp": 1929, "category": { "JewelryCategory": { "Jewelry": { "isProp65WarningRequired": "No", "productSecondaryImageURL": [ "http://www.silvercity.com/amazon/BOXBR3.jpg", "http://www.silvercity.com/amazon/boxbr3b.jpg" ], "color": "N/A", "shortDescription": "This Gorgeous Wedding Ring Set is of excellent quality workmanship Made in the USA in Solid 10 Karat Gold and set with Genuine Diamonds with a very nice finish to produce a nice look at very reasonable prices. To order the set please order the Ladies size (available from 5 to 10 including Half Sizes) from the drop-down menu and complete the order. then to order the Men's sizes (available from 8 to 14) contact us thru the æContact SellerÆ link and tell us your desired size after placing the order. Smaller or Larger Sizes may also be available for a nominal fee. Each of these can be bought separately. Please feel free to contact us Thru the æContact SellerÆ link with any concern or questions.", "brand": "WorldJewels", "mainImageUrl": "http://www.silvercity.com/amazon/10w014W3.jpg", "manufacturer": "WorldJewels" } } }, "productName": "10k White Gold Diamond Trio Engagement Wedding Ring Set for Him and Her 3-piece 4.5 mm & 3.5 mm wide 0.13 cttw Brilliant Cut, ladies sizes 5 û 10, mens sizes 8 - 14" }, "MPOffer": { "ShippingOverrides": { "ShippingOverrideAction": "REPLACE_ALL", "shippingOverride": [ { "ShippingOverrideShipMethod": "VALUE", "ShippingOverrideIsShippingAllowed": "No", "ShippingOverrideShipRegion": "STREET_48_STATES", "ShippingOverrideshipPrice": 0 }, { "ShippingOverrideShipMethod": "STANDARD", "ShippingOverrideIsShippingAllowed": "No", "ShippingOverrideShipRegion": "STREET_48_STATES", "ShippingOverrideshipPrice": 0 }, { "ShippingOverrideShipMethod": "EXPEDITED", "ShippingOverrideIsShippingAllowed": "Yes", "ShippingOverrideShipRegion": "STREET_48_STATES", "ShippingOverrideshipPrice": 0 }, { "ShippingOverrideShipMethod": "ONE_DAY", "ShippingOverrideIsShippingAllowed": "No", "ShippingOverrideShipRegion": "STREET_48_STATES", "ShippingOverrideshipPrice": 0 }, { "ShippingOverrideShipMethod": "FREIGHT", "ShippingOverrideIsShippingAllowed": "No", "ShippingOverrideShipRegion": "STREET_48_STATES", "ShippingOverrideshipPrice": 0 }, { "ShippingOverrideShipMethod": "FREIGHT_WITH_WHITE_GLOVE", "ShippingOverrideIsShippingAllowed": "No", "ShippingOverrideShipRegion": "STREET_48_STATES", "ShippingOverrideshipPrice": 0 } ] }, "price": 455.46, "ShippingProgramOverrides": [{ "twoDayShippingOverride": "No", "twoDayShippingRegion": "STREET_48_STATES" } ], "ProductTaxCode": 204027, "ShippingWeight": { "unit": "lb", "measure": 1 }, "EndDate": "2049-12-31T08:00:00.000 0000" }, "processMode": "CREATE", "sku": "WJ_10W014W3-6" } ] } Response Parameters Name Description Type feedId A unique ID, returned from the Bulk Upload API, used for tracking the feed file String Sample Response JSON XML JSONXML { "feedId": "F129C19240844B97A3C6AD8F1A2C4997@AU8BAQA", "additionalAttributes": null, "errors": null } Item Setup by Match Provides a quick and convenient way to set up items by matching your items to existing item content on Walmart.com. Use the Item Setup by Match schema and update the basic information for each item. The items you submit will be processed and checked to see if they already exist in the Walmart Catalog. If a match is found, your item will be automatically set up and you won’t need to provide your own content. Once the feed has been processed, the GET Feed Item Status API will return whether a match is found or not. If a match is not found or you want to provide your own content, use the Bulk Item Setup API. Download the Item Setup by Match API JSON schema from: ItemSetUpByMatch.zip Version V3 Production URL POST https://marketplace.walmartapis.com/v3/feeds?feedType=item&setupType=byMatch Sandbox URL POST https://marketplace.walmartapis.com/v3/feeds?feedType=item&setupType=byMatch Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes multipart/form-data or application/json Accept The returned data format in the response Yes application/json Query Parameters Name Description Default Required feedType The feed type item Yes setupType Query parameter to be sent when setting up item by match byMatch Yes Request Body The request body consists of a Feed file attached to the request. You will receive acknowledgement when the Feed file is received. Save the Feed ID so you can track your feed. Sample Request Header POST v3/feeds?feedType=item HTTP/1.1 <<Authentication Headers>> Content-Type: multipart/form-data or application/json Accept: application/json Host: marketplace.walmartapis.com Sample Request Body { "MPItemFeedHeader": { "version": "3.2", "requestId": "requestId", "requestBatchId" : "batchId" }, "MPItem": [ { "processMode": "REPLACE_ALL", "feedDate": "2019-03-25T12:44:37-04:00", "sku": "0960B3B82687490FA5E51CB0801478A4@AU8BAgA", "productIdentifiers": [ { "productIdType": "UPC", "productId": "363824587165" } ], "MPProduct" : { "SkuUpdate" : "No", "productName" : "Mucinex Fast-Max Severe Cold & Sinus Liquid Gels 16 ea", "ProductIdUpdate": "Yes", "category" : { "Animal" : { "AnimalHealthAndGrooming" : { "shortDescription": "<![CDATA[<ul><li>Mucinex Fast-Max Severe Cold & Sinus - 16 Liquid Gels</li><li>Acetaminophen - Pain Reliever / Fever Reducer</li><li>Dextromethorphan HBr - Cough Suppressant</li><li>Phenylephrine - Nasal Decongestant</li><li>Liquid Gels</li></ul>]]>", "brand": "Mucinex", "manufacturer": "Mucinex Fast-Max", "manufacturerPartNumber": "MFMSCS16", "mainImageUrl": "http://images.geekseller.com/panel/product_images/1072/5860911m_399a26dd48e33fc8715863aabd2cc3d60ad9dcec.jpg", "isProp65WarningRequired": "No", "hasPricePerUnit": "No", "hasWarranty": "No", "hasExpiration":"Yes", "isNutritionFactsLabelRequired":"No", "hasIngredientList": "No", "isDrugFactsLabelRequired": "No" } } } }, "MPOffer": { "price": 7.03, "ShippingWeight": { "measure": 0, "unit": "lb" }, "ProductTaxCode": 203871 } } ] } Response Parameters Name Description Type feedId A unique ID, returned from the Bulk Upload API, used for tracking the feed file String Sample Response { "feedId": "831B61EA5BDE48F495139FE2CE359252@AU8BAQA", "additionalAttributes": null, "errors": null } Get all items Displays a list of all items. Items List Pagination There are two ways of pagination for this API Using nextCursor query parameter First call will have the value of nextCursor as '*'. If a call to the endpoint results in a large number of items being returned, the results are sent back in pages. The element nextCursor which is returned in the response is required for pagination. The nextCursor element contains the string that should be send as a query parameter to the subsequent GET call to get the next page of results. A missing or empty nextCursor element in the response means that there are no more items left to retrieve. The totalCount returns the total number of available items. Therefore, analysis of the totalCount provides the number of pages to be retrieved to get the whole list of items. Using offset and limit query parameter First call to the API using offset=0 will return the first page of the list of items. The full list can be retrieved by subsequent requests to the same API with successively larger values of offset. If a SKU is included, this request is semantically identical to Get an Item request. It will return only one item and hence pagination is not required. Version V3 Production URL GET https://marketplace.walmartapis.com/v3/items?nextCursor=*&sku={SKU}&offset=2000&limit=20 GET https://marketplace.walmartapis.com/v3/items?nextCursor={nextCursor} Sandbox URL GET https://sandbox.walmartapis.com/v3/items?nextCursor=*&sku={SKU}&offset=2000&limit=20 GET https://sandbox.walmartapis.com/v3/items?nextCursor={nextCursor} Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload No application/xml or application/json Accept The returned data format in the response Yes application/xml or application/json Query Parameters Name Description Default Required nextCursor Used for pagination when more than 200 items are retrieved. The nextCursor value of the response includes a link to another GET call which retrieves the next page of results. N/A Yes, when offset is not used sku An arbitrary alphanumeric unique ID, specified by the seller, which identifies each item. This will be used by the seller in the XSD file to refer to each item. Special characters hyphen (-), space ( ), and period (.) are not allowed. N/A No limit The number of entities to be returned. Cannot be more than 20. 20 No offset The object response to the starting number, where 0 is the first entity available for request. Maximum 1000. 0 Yes, when nextCursor is not used Sample Request Header GET /v3/items?nextCursor=*&sku={SKU}&offset=2000&limit=20 HTTP/1.1 <<Authentication Headers>> Content-Type: application/xml or application/json Accept: application/xml or application/json Host: marketplace.walmartapis.com Response Parameters Name Description Type ItemResponse Items included in the response list List Sample Response JSON XML JSONXML { "ItemResponse": [ { "mart": "WALMART_US", "sku": "30348_KFTest", "wpid": "0RCPILAXM0C1", "upc": "", "gtin": "06932096330348", "productName": "Kidsform Adjustable Infant Baby Carrier Sling Wrap Rider Carrier Backpack Front/Back Pack Khaki, Blue, Pink 4 Carrying Position Modes With Storage Bag", "shelf": "[\"Home Page\",\"Baby\",\"Baby Activities & Gear\",\"Baby Carriers\"]", "productType": "Baby Carriers", "price": { "currency": "USD", "amount": 3.0 }, "publishedStatus": "PUBLISHED" }, { "mart": "WALMART_US", "sku": "97964_KFTest", "wpid": "0RCQ2IA08HZL", "upc": "638508797964", "gtin": "00638508797964", "productName": "Fall Leaf on Gingham Baby Bib BB7110BIB", "shelf": "[\"Home Page\",\"Baby\",\"Feeding\",\"Bibs and Burp Cloths\"]", "productType": "Baby Bibs", "price": { "currency": "USD", "amount": 4.0 }, "publishedStatus": "UNPUBLISHED" }, { "mart": "WALMART_US", "sku": "NOT214074-B007JL4N7Y", "wpid": "0RCSORH5WPJC", "upc": "879216016255", "gtin": "00879216016255", "productName": "Spellbinders M-Bossabilities A2 Card Embossing Folder-Enchanted", "shelf": "[\"Home Page\",\"Arts Crafts & Sewing\",\"Crafting\",\"Paper Crafting\",\"Embossing\"]", "productType": "Embossing Plates", "price": { "currency": "USD", "amount": 9.99 }, "publishedStatus": "UNPUBLISHED" } ], "totalItems": 8577, "nextCursor": "AoE/GjBSUTRXT0hGWkVWUzBTRUxMRVJfT0ZGRVI2NUE0MUVBQTg4QUE0OURDODc2ODVDQTI5QTkyOTYyOQ==" } Get an item Retrieves an item and displays the item details shown in the response sample. Version V3 Production URL GET https://marketplace.walmartapis.com/v3/items/{SKU} Sandbox URL GET https://sandbox.walmartapis.com/v3/items/{SKU} Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload No application/xml or application/json Accept The returned data format in the response Yes application/xml or application/json URL Parameters Name Description Required sku An arbitrary alphanumeric unique ID, specified by the seller, which identifies each item. This will be used by the seller in the XSD file to refer to each item. Special characters hyphen (-), space ( ), and period (.) are not allowed. Yes Query Parameter None Sample Request Header GET /v3/items/{SKU} HTTP/1.1 <<Authentication Headers>> Content-Type: application/xml or application/json Accept: application/xml or application/json Host: marketplace.walmartapis.com Response Parameters Name Description Required Example ItemResponse Items included in the response list Sample Response JSON XML JSONXML { "ItemResponse": [ { "mart": "WALMART_US", "sku": "30348_KFTest", "wpid": "0RCPILAXM0C1", "upc": "", "gtin": "06932096330348", "productName": "Kidsform Adjustable Infant Baby Carrier Sling Wrap Rider Carrier Backpack Front/Back Pack Khaki, Blue, Pink 4 Carrying Position Modes With Storage Bag", "shelf": "[\"Home Page\",\"Baby\",\"Baby Activities & Gear\",\"Baby Carriers\"]", "productType": "Baby Carriers", "price": { "currency": "USD", "amount": 3.0 }, "publishedStatus": "PUBLISHED" } ], "totalItems": 1 } Taxonomy Taxonomy API exposes the category taxonomy used by walmart.com to categorize items. It describes three available levels: Departments, Categories, and Sub-categories on Walmart.com. You can specify the exact category as a parameter when using any of the following APIs: Search Data feeds Special feeds - [Pre-order, Best sellers, Rollbacks, Clearance, and Special Buys] For example, you can restrict Search API to search within a category by supplying id as per the taxonomy. Similarly, you can use Feed API to download category specific feeds by specifying a category id. Version V3 Production URL GET https://marketplace.walmartapis.com/v3/taxonomy Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload No application/json Accept The returned data format in the response Yes application/json Sample Request Header GET /v3/taxonomy HTTP/1.1 <<Authentication Headers>> Content-Type: application/json Accept: application/json Host: marketplace.walmartapis.com Response Parameters Name Description Required category Type of item Yes subcategory Specific kind of category No subcategoryName Name of specific kind of category No subcategoryId ID of specific kind of category No Sample Response { "status": "SUCCESS", "payload": [ { "category": "Animal", "subcategory": [ { "subCategoryName": "Animal Accessories", "subCategoryId": "559c5d924fff3d64de18bf45" }, { "subCategoryName": "Animal Food", "subCategoryId": "559c5d8f4fff3d64de18bf3d" }, { "subCategoryName": "Animal Health & Grooming", "subCategoryId": "559c5d90ed25b136f13a05df" }, { "subCategoryName": "Animal Other", "subCategoryId": "56f2eb66208f9a06158f1748" } ] }, { "category": "Art & Craft", "subcategory": [ { "subCategoryName": "Art & Craft", "subCategoryId": "571fdff7208f9a0cdb760a7f" } ] } ] } Retire an item Completely deactivates and unpublishes an item from the site. Retired items are not displayed on Walmart.com, but their content stays intact in our system. You can republish an item by providing future discontinue date for the item. ** Note: You can't reuse the SKU or Product ID from a retired item. If you need to change the SKU or Product ID, see Product ID & SKU section.** Version V3 Production URL DELETE https://marketplace.walmartapis.com/v3/items/{SKU} Sandbox URL DELETE https://sandbox.walmartapis.com/v3/items/{SKU} Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes application/xml or application/json Accept The returned data format in the response Yes application/xml or application/json URL Parameters Name Description Required sku An arbitrary alphanumeric unique ID, specified by the seller, which identifies each item. This will be used by the seller in the XSD file to refer to each item. Yes Sample Request Header DELETE /v3/items/{SKU} HTTP/1.1 <<Authentication Headers>> Content-Type: application/xml or application/json Accept: application/xml or application/json Host: marketplace.walmartapis.com Response Parameters Name Description Type sku An arbitrary alphanumeric unique ID, specified by the seller, which identifies each item. This will be used by the seller in the XSD file to refer to each item. String message Message confiring the deletion or retirement of an item from the Walmart Catalog String Sample Response JSON XML JSONXML { "sku": "97964_KFTest", "message": "Thank you. Your item has been submitted for retirement from Walmart Catalog. Please note that it can take up to 48 hours for items to be retired from our catalog.", "additionalAttributes": null, "errors": null } Bulk Item Retire Completely deactivates and unpublishes items in bulk from the site. Version V3 Production URL POST https://marketplace.walmartapis.com/v3/feeds?feedType=RETIRE_ITEM Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes multipart/form-data Accept The returned data format in the response Yes application/json Query Parameters Name Description Required feedType The feed type. Yes Request Body The request body consists of a Feed file attached to the request. You will receive acknowledgement when Feed File is received. Save the Feed ID so you can track your feed. Sample Request Header POST /v3/feeds?feedType=RETIRE_ITEM HTTP/1.1 <<Authentication Headers>> Content-Type: multipart/form-data Accept: application/json Host: marketplace.walmartapis.com Sample Request Body { "RetireItemHeader": { "feedDate": "2020-01-22T00:59:14.000Z", "version": "1.0" }, "RetireItem": [ { "sku": "0960B3B82687490FA5E51CB0801478A4@AU8BAgA" } ] } Response Parameters Name Description Type feedId A unique ID, returned from the Bulk Upload API, used for tracking the feed file String Sample Response { "feedId": "F129C19240844B97A3C6AD8F1A2C4997@AU8BAQA", "additionalAttributes": null, "errors": null } Implementation Plan This section outlines a possible implementation plan as described in the Overview. The sub-sections in the proposed implementation are: Client-side statuses of Walmart items Sending items for ingestion Checking ingestion status Checking published status Correcting item errors Client-side Statuses of Walmart Items For this implementation, we assume that you will use your own client-side database to store the status of your items and feeds on Walmart.com. A possible set of statuses could be: Status Description Comment transmit To be transmitted to Walmart Can be set to this state by seller deciding to include SKU on Walmart.com, or by system requesting a re-transmission because data errors were detected and fixed data fix Schema or content is incompatible with Walmart.com Check the item XML file against the XSD file ingestion in progress Item is in the ingestion process No updates allowed at this time publish in progress Item is in publishing process Ingestion is completed, but publishing must be completed before you can add inventory published Item is published on Walmart.com Inventory can be added and the item can be sold to customers system error An error was encountered during publishing Contact Walmart Marketplace Support unpublished Not available on Walmart.com Usually caused by the removal of an item data fix - ticket Support ticket submitted Underlying error status is data fix system error - ticket Support ticket submitted Underlying error status is a system error Feed Status Description Comment active Has items that still need ingestion status checked Do not archive or delete archive All items in the feed have finished processing Archive the feed ID's or delete them Sending Items for Ingestion This flow describes how you may want to send your items to Walmart and process immediate errors. On an initial ingestion, the object used must be the MPItem object; thereafter, you may use the OfferEnvelope or the ProductEnvelope object. Checking Ingestion Status The flow below describes how you may monitor the status of your items as they are ingested. Checking Published Status The flow below describes how you may monitor the status of your items as they move through the publishing process. Correcting Item Errors The flow below describes how you may implement a process for correcting item errors. In addition to the flow below, you may want to build your own process for correcting items and their statuses as Walmart Marketplace Support responds to support tickets. Price Management The price is a fundamental building block for your listing on Walmart.com. You can use the price management APIs to set up and manage the price for a given item. Promotional pricing allows to add additional pricing information to increase customer interest. Those promotional types are: Clearance - Adds a Clearance badge, the price (the actual sale price), and a comparison price on the item page. Reduced - Functions the same as clearance, but with a Reduced badge on the item page. SubMAP Cart - Displays the price on the checkout page only. SubMAP Checkout - Functions like SubMAP cart, except that the price only displays for a customer who is logged in and is in the checkout. For details about the promotional pricing, refer to the article: https://sellerhelp.walmart.com/seller/s/guide?article=000006414 Extract the Price Management XSDs from the below directory: xsd/PriceManagement.zip Update a price Updates the regular price for a given item. Version V3 Production URL PUT https://marketplace.walmartapis.com/v3/price Sandbox URL PUT https://sandbox.walmartapis.com/v3/price Header Parameters For authentication headers, please refer to the Authentication section. Name Name Description Required Example Content-type Content-type The data format in the API payload Yes application/xml or application/json Accept Accept The returned data format in the response Yes application/xml or application/json Query Parameters None Sample Request Header PUT /v3/price HTTP/1.1 <<Authentication Headers>> Content-Type: application/xml or application/json Accept: application/xml or application/json Host: marketplace.walmartapis.com Request Body for Promotional Pricing JSON XML JSONXML { "sku": "97964_KFTest", "pricing": [ { "currentPrice": { "currency": "USD", "amount": 10 }, "currentPriceType": "REDUCED", "comparisonPrice": { "currency": "USD", "amount": 12 }, "comparisonPriceType": "BASE" } ] } Request body for a Regular Price Update JSON XML JSONXML { "sku": "97964_KFTest", "pricing": [ { "currentPriceType": "BASE", "currentPrice": { "currency": "USD", "amount": 10 } } ] } Response Parameters Name Description Type mart Marketplace name. Example: Walmart-US String sku An arbitrary alphanumeric unique ID, specified by the seller, which identifies each item. This will be used by the seller in the XSD file to refer to each item. Special characters hyphen (-), space ( ), and period (.) are not allowed. String currency The currency type. Example: USD for US Dollars String amount The numerical amount of the price. Example: 9.99 Decimal message A message of acknowledgement for a price update String Sample Response JSON XML JSONXML { "ItemPriceResponse": { "mart": "WALMART_US", "message": "Thank you. Your price has been updated. Please allow up to five minutes for this change to be reflected on the site.", "sku": "97964_KFTest" } } Update bulk prices Updates prices in bulk. In one Feed you can update up to 10,000 items in bulk. To ensure optimal Feed processing time, we recommend sending no more than 1000 items in one Feed and keeping the Feed sizes below 10 MB. The price sequence guarantee is observed by the bulk price update functionality, subject to the following rules: The timestamp used to determine precedence is passed in the request headers. All price updates in the feed are considered to have the same timestamp. The timestamp in the XML file is used only for auditing. You can send a single SKU multiple times in one Feed. If a SKU is repeated in a Feed, the price will be set for that SKU on Walmart.com, but there is no guarantee as to which SKU's price within that feed will be used. This API should be used in preference to the update a price. It should be called no sooner than 24 hours after a new item is set up and a wpid (Walmart Part ID) is available. Thereafter, the bulk price update has an service level agreement (SLA) of 15 minutes. After the update is submitted, wait for at least five minutes before verifying whether the bulk price update was successful. Individual SKU price update success or failure is only available after the entire feed is processed. If a SKU's price update fails (for example, multiple price updates were sent for the same SKU in a single feed), an error will be returned. Version V3 Production URL POST https://marketplace.walmartapis.com/v3/feeds?feedType=price Sandbox URL POST https://sandbox.walmartapis.com/v3/feeds?feedType=price Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes multipart/form-data Accept The returned data format in the response Yes application/xml or application/json Query Parameters Name Description Required feedType The feed type should be 'price' Yes Request Body The request body consists of a Feed file that is attached to the request. See the Feeds section for more details on how to construct Feed files. Response Parameters Name Description Type feedId A unique ID, returned with feed acknowledgement, used for tracking the feed file String Sample Request Header POST /v3/feeds?feedType=price HTTP/1.1 <<Authentication Headers>> Content-Type: multipart/form-data Accept: application/xml or application/json Host: marketplace.walmartapis.com Regular price update using bulk JSON XML JSONXML { "PriceHeader": { "version": "1.7" }, "Price": [ { "sku": "30348_KFTest", "pricing": [ { "currentPrice": { "currency": "USD", "amount": 3 }, "currentPriceType": "REDUCED", "currentPriceType": "REDUCED", "comparisonPriceType":"BASE", "comparisonPrice": { "currency": "USD", "amount": 4.99 } } ] }, { "sku": "OT-PP7F-QGUG", "pricing": [ { "currentPrice": { "currency": "USD", "amount": 3 }, "currentPriceType": "REDUCED", "comparisonPriceType":"BASE", "comparisonPrice": { "currency": "USD", "amount": 4.99 } } ] } ] } The above command returns XML structured like this: JSON XML JSONXML { "feedId": "14066B6642344B76A8B77AC094F8C63B@AVMBAgA" } Commission Adjustment Program Commission Adjustment Program (CAP) API allows Walmart to adjust seller's offers. Seller can completely opt-in or opt-out of the Commission Adjustment Program. Sellers also have an option to opt-in or opt-out at a SKU level. For example, Sellers can individually opt items in or out by uploading the Item Opt-in file. Items eligible for this service appear in the Item Opt-in CSV file. See Table 1 – The CSV file. Set up the SKU opt-in/opt-out for an individual item Helps Sellers to set up their SKU for an individual item’s competitive price adjustment listed in the CSV file. Sellers can simply change the SKU OPT IN column value to "Y" or "N" in the CSV file (Item Opt-in file) to opt-in or opt-out for individual items. For details, refer to Item Opt-in file. Version V3 Production URL POST https://marketplace.walmartapis.com/v3/feeds?feedType=CPT_SELLER_ELIGIBILITY Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes application/xml or application/json Accept The returned data format in the response Yes application/xml or application/json Query Parameters Name Description Required feedType Type of spec, the Excel or CSV file. Value should be 'CPT_SELLER_ELIGIBILITY' Yes Sample Request Header POST /v3/feeds?feedType=CPT_SELLER_ELIGIBILITY HTTP/1.1 <<Authentication Headers>> Content-Type: application/xml or application/json Accept: application/xml or application/json Host: marketplace.walmartapis.com Sample Request Body The CSV file gets uploaded for CAP report. Response Parameters You will receive the acknowledgement of CAP report. Name Description Type feedId A unique ID, returned after uploading the updated CAP report String Sample Response JSON XML JSONXML { "feedId": "65AC15E79EA14A5197C4FAED48586276@ARUBAgA" } Global opt-in/opt-out for all items This API helps Sellers to completely opt-in or opt-out from CAP program. If the subsidyEnrolled value = "true", the Seller enrolls in the CAP program. All eligible SKUs (current and future) are by default opt-in. Seller should use the SKU opt-in/opt-out API to opt-out individual items. If the subsidyEnrolled value = "false", the Seller stops participating in the CAP program and all eligible SKUs (current and future) are opt-out of the CAP program. Version V3 Production URL POST https://marketplace.walmartapis.com/v3/cppreference Sandbox URL POST https://sandbox.walmartapis.com/v3/cppreference Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Accept The returned data format in the response Yes application/json URL Parameters None Sample Request Header POST /v3/cppreference HTTP/1.1 <<Authentication Headers>> Accept: application/json Host: marketplace.walmartapis.com Sample Request Body { "statusInfo": { "subsidyEnrolled": { "value": true } } } Response Parameters Name Description Type subsidyEnrolled A Boolean parameter that allows all sellers to completely enroll in or out of the Competitive Price Adjustment program Boolean martId A unique ID that a user or seller uses for a marketplace String Sample Response { "martId": "0", "statusInfo": { "subsidyEnrolled": { "value": true }, "subsidyPreference": { "value": true } } } Price Sequence Guarantee The price sequence guarantee is enforced for both synchronous (individual) and asynchronous (bulk or feed) updates. These different methods have different SLAs; there is no guarantee that price updates will be received in any particular order. The price sequence guarantee ensures that the latest price update, based on its creation timestamp, is the one that changes the price of the item, overwriting the previous version. Price updates received with an earlier timestamp are ignored. As a result, we recommend all feed-based bulk updates base the value of feedDate on UTC. Promotion Management Sellers can set regular or promotional prices for their items. Setting the Promotional prices is an option to create unique pricing for events such as clearance sales or to call out a comparison price. The following rules apply to set the promotions: The maximum number of promotions for a given item should not be more than 10. The effective start date for a given promotion should be more than four hours from the current date and time. You cannot cancel a promotion within four hours of the start time. If you want to cancel a promotion that is about to start, you should let it begin and then use the delete an item call. You must provide SKU, startDate and endDate. A promotion end date cannot be before or equal to the promotion start date. The end date of a given promotion should be within 365 days from the current date and time. Any promotions beyond 365 days will result in an error. If a promotion schedule is overlapping or the same as other promotions for the same item, it will result in an error. The promotional price types are: Clearance - Adds a Clearance badge, the price (the actual sale price) and a comparison price on the Item page. Reduced - The same as Clearance, but with a Reduced badge on the Item page. SubMAP Cart - Displays the price on the checkout page only. SubMAP Checkout - Similar to SubMAP cart, except that the price only displays for a customer who is logged in and is in the checkout. XSD Attributes for Setting Up a Promotion Name Description Type Required Default replaceAll Replaces all previously set promotions for a SKU. To delete all promotions for a SKU, set replaceAll to an empty payload. Set replaceAll to false when using the processMode UPSERT or DELETE. Boolean Yes true effectiveDate The effective start date for a given promotion String Yes N/A expirationDate The end date for a given promotion. It should be no more than 365 days from the current date and time. String Yes N/A currentPrice The current price for the item. If setting a promotion, set this value to the promotional price. String No N/A currentPriceType The current price Type to indicate a promotion, such as REDUCED or CLEARANCE String No N/A comparisonPrice The regular (BASE) or list price of the item. If a promotion is set up, this price may display as the 'was' price. String Yes N/A promoId A system-generated ID for each promotion. Can be used to update or delete an existing promotion. String No N/A processMode Use the processMode attribute to update or delete a promotion. To update a promotion for a SKU that includes multiple promotions, set the processMode to UPSERT and include a promoId. To delete a SKU, set the processMode to DELETE and include the promoId to be deleted. Additionally, a promotion can be updated or deleted by sending in a startDate and endDate for an SKU. String Yes N/A processModeType Valid values are UPSERT or DELETE String No N/A For more information about promotions, refer to the article: https://sellerhelp.walmart.com/seller/s/guide?article=000006414 For details on how to use Excel bulk upload, refer to the article: https://sellerhelp.walmart.com/seller/s/guide?article=000006435 Get promotional prices Retrieves a list of promotional prices for a single SKU. Version V3 Production URL GET https://marketplace.walmartapis.com/v3/promo/sku/{sku} Sandbox URL GET https://sandbox.walmartapis.com/v3/promo/sku/{sku} Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload No application/xml Accept The returned data format in the response Yes application/xml URL Parameters Name Description Required sku An arbitrary alphanumeric unique ID, specified by the Seller, which identifies each item. This will be used by the Seller in the XSD file to refer to each item. Special characters hyphen (-), space ( ), and period (.) are not allowed. Yes Sample Request Header GET /v3/promo/sku/Promo7 HTTP/1.1 <<Authentication Headers>> Content-Type: application/xml Accept: application/xml Host: marketplace.walmartapis.com Sample Response <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ServiceResponse xmlns:ns2="http://walmart.com/"> <status>OK</status> <errors/> <header> <headerAttributes/> </header> <payload xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:itemPriceType"> <ns2:itemIdentifier> <ns2:sku>WGU-002 Standalone</ns2:sku> </ns2:itemIdentifier> <ns2:pricingList> <ns2:pricing effectiveDate="2016-09-04T01:26:44.296Z" expirationDate="2016-09-05T01:26:44.296Z" promoId="889b4d96-2e00-4a4a-8152-42d101b99192"> <ns2:currentPrice> <ns2:value amount="24"></ns2:value> </ns2:currentPrice> <ns2:currentPriceType>CLEARANCE</ns2:currentPriceType> <ns2:comparisonPrice> <ns2:value amount="86"></ns2:value> </ns2:comparisonPrice> </ns2:pricing> </ns2:pricingList> </payload> </ServiceResponse> Update a promotional price Updates the promotional price. Sellers can update or delete an existing promotional price as well as set up a new promotional price. To set a new promotional price or update an existing one, set the XML pricing attribute processMode to UPSERT. To delete a promotional price, set the XML pricing attribute processMode to DELETE. To delete all promotions for a SKU, set replaceAll to an empty payload. Version V3 Production URL PUT https://marketplace.walmartapis.com/v3/price?promo=true Sandbox URL PUT https://sandbox.walmartapis.com/v3/price?promo=true Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes application/xml Accept The returned data format in the response Yes application/xml Query Parameters Name Description Required Type promo The promotional price. Set to 'true' in order to retrieve promotional prices Yes Boolean Sample Request Header PUT /v3/price?promo=true HTTP/1.1 <<Authentication Headers>> Content-Type: application/xml Accept: application/xml Host: marketplace.walmartapis.com Sample Request Body for Promotional Pricing, Update <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Price xmlns="http://walmart.com/"> <itemIdentifier> <sku>promoSync3</sku> </itemIdentifier> <pricingList> <pricing effectiveDate="2016-09-09T21:29:39.420Z" expirationDate="2016-09-10T21:29:39.420Z" processMode="UPSERT"> <currentPrice> <value amount="35.00"/> </currentPrice> <currentPriceType>REDUCED</currentPriceType> <comparisonPrice> <value amount="97.00"/> </comparisonPrice> </pricing> <pricing effectiveDate="2016-09-11T21:29:39.420Z" expirationDate="2016-09-12T21:29:39.420Z" processMode="UPSERT"> <currentPrice> <value amount="44.00"/> </currentPrice> </pricing> </pricingList> </Price> Sample Request Body for Promotional Pricing, Delete <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Price xmlns="http://walmart.com/"> <itemIdentifier> <sku>promoSync3</sku> </itemIdentifier> <pricingList> <pricing effectiveDate="2016-09-09T21:29:39.420Z" expirationDate="2016-09-10T21:29:39.420Z" processMode="DELETE"> <currentPrice> <value amount="35.00"/> </currentPrice> <currentPriceType>REDUCED</currentPriceType> <comparisonPrice> <value amount="97.00"/> </comparisonPrice> </pricing> <pricing effectiveDate="2016-09-11T21:29:39.420Z" expirationDate="2016-09-12T21:29:39.420Z" processMode="DELETE"> <currentPrice> <value amount="44.00"/> </currentPrice> </pricing> </pricingList> </Price> Response Parameters Name Description Type feedId A unique ID, returned with feed acknowledgement, used for tracking the feed file String Sample Response <?xml version="1.0" encoding="UTF-8"?> <ItemPriceResponse xmlns:ns2="http://walmart.com/"> <mart>WALMART_US</mart> <sku>VEX1437_9507240_9507247</sku> <currency>USD</currency> <amount>10.000</amount> <message>Thank you. Your price has been updated. Please allow up to five minutes for this change to be reflected on the site.</message> </ItemPriceResponse> Update bulk promotional prices Updates or creates promotional prices for multiple specified SKUs. You can update the price up to 10,000 items in bulk in one Feed. To ensure optimal Feed processing time, we recommend sending no more than 1000 items in one Feed and keeping Feed sizes below 10 MB. To create a new promotional price or update an existing one, set the XML pricing attribute processMode to UPSERT. To delete a promotional price, set the XML pricing attribute processMode to DELETE. To delete all promotions for a SKU, set replaceAll to an empty payload. Version V3 Production URL POST https://marketplace.walmartapis.com/v3/feeds?feedType=promo Sandbox URL POST https://sandbox.walmartapis.com/v3/feeds?feedType=promo Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes multipart/form-data Accept The returned data format in the response Yes application/xml Query Parameters Name Description Required feedType The feed type should be 'promo' Yes Response Parameters Name Description Type feedId A unique ID, returned with feed acknowledgement, used for tracking the feed file String Sample Request Header POST /v3/feeds?feedType=promo HTTP/1.1 <<Authentication Headers>> Content-Type: multipart/form-data Accept: application/xml Host: marketplace.walmartapis.com Sample Request Body for Promotional Pricing, Update <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <PriceFeed xmlns="http://walmart.com/"> <PriceHeader> <version>1.5.1</version> <feedDate>2016-04-18T11:46:32.483-07:00</feedDate> </PriceHeader> <Price> <itemIdentifier> <sku>promo1</sku> </itemIdentifier> <pricingList replaceAll='true'> <pricing effectiveDate="2016-11-03T09:49:57.943Z" expirationDate="2016-11-04T09:49:57.943Z" processMode="UPSERT"> <currentPrice> <value amount="30.00"/> </currentPrice> <currentPriceType>CLEARANCE</currentPriceType> <comparisonPrice> <value amount="69.00"/> </comparisonPrice> </pricing> <pricing effectiveDate="2016-11-07T16:02:58.762Z" expirationDate="2016-11-08T16:02:58.762Z" processMode="UPSERT"> <currentPrice> <value amount="32.00"/> </currentPrice> <currentPriceType>REDUCED</currentPriceType> <comparisonPrice> <value amount="55.00"/> </comparisonPrice> </pricing> </pricingList> </Price> </PriceFeed> Sample Request Body for Promotional Pricing, Delete <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <PriceFeed xmlns="http://walmart.com/"> <PriceHeader> <version>1.5.1</version> <feedDate>2016-04-18T11:46:32.483-07:00</feedDate> </PriceHeader> <Price> <itemIdentifier> <sku>MD-12345678</sku> </itemIdentifier> <pricingList replaceAll='false'> <pricing effectiveDate="2016-11-03T09:49:57.943Z" expirationDate="2016-11-04T09:49:57.943Z" processMode="DELETE"> <currentPrice> <value amount="44.00"/> </currentPrice> <currentPriceType>CLEARANCE</currentPriceType> <comparisonPrice> <value amount="62.00"/> </comparisonPrice> </pricing> <pricing effectiveDate="2016-11-07T16:02:58.762Z" expirationDate="2016-11-08T16:02:58.762Z" processMode="DELETE"> <currentPrice> <value amount="32.00"/> </currentPrice> <currentPriceType>REDUCED</currentPriceType> <comparisonPrice> <value amount="55.00"/> </comparisonPrice> </pricing> </pricingList> </Price> </PriceFeed> Sample Response <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <FeedAcknowledgement xmlns:ns2="http://walmart.com/"> <feedId>E9C04D1FFD99479FBC1341D56DD5F930@AQMB_wA</feedId> </FeedAcknowledgement> Promotional Price Error Codes The table below shows the error codes that may occur when updating promotional prices. The first field shows a data or system code concatenated with the API that was being invoked at the time of the error. The second field shows the error type. The third field provides the error description. Code Description Type ERR_EXT_DATA_0101130 The request payload is empty or missing Data Error ERR_EXT_DATA_0101131 Invalid or missing a promoId Data Error ERR_EXT_DATA_0101132 Promotions cannot be modified or set before 24 hours of the effective date and time Data Error ERR_EXT_DATA_0101133 Future promotions should be with 365 days Data Error ERR_EXT_DATA_0101134 A promotion start date cannot be later than the promotion end date Data Error ERR_EXT_DATA_0101135 A promotion already exists for the given promoId Data Error ERR_EXT_DATA_0101136 A promotion already exists with this date range Data Error ERR_EXT_DATA_0101137 Exceeded the maximum number of pormotions set for a given promoId Data Error ERR_EXT_DATA_0101138 The promotion does not exist for the given promoId Data Error ERR_INT_SYS_0101139 Missing required parameters: offerId, startDate and endDate Data Error ERR_EXT_DATA_0101140 The partnerId is missing Data Error ERR_EXT_DATA_0101142 Invalid or missing SKU or offerId Data Error ERR_EXT_DATA_0101143 The promotion does not exist for the given SKU Data Error ERR_EXT_DATA_0101144 Invalid or missing SKU or partnerId Data Error ERR_EXT_DATA_0101145 The entered promotion dates range is overlapping Data Error ERR_EXT_DATA_0101146 The system is busy or not responding, try again shortly. Contact Walmart Marketplace Support if the issue continues to occur. System Error If any of these errors occur, an error message will be displayed: "Unable to process this request" Order Management Overview The Walmart Order Management APIs help Sellers to manage customer’s Sales Orders and to stay up-to-date on orders fulfillment, which orders to fulfill, and when to fulfill them. When a customer places an on-line order with Walmart, it creates a Sales Order and this Sales Order is used to generate the Purchase Order. The Sales Order may contain one or more Purchase Orders that may be assigned to different Sellers. Every unique item that is ordered in a Purchase Order has a line number. The Order Object Extract the Order Management XSDs from the below directory: OrderManagement.zip A Walmart order object represents a purchase order and consists of a group of one or more line items that a customer ordered. ** Note: The order has no inherit status, but the line items do. ** The valid statuses for a line item are: Created: The Purchase Orders for the line items are created and have been released from the Walmart Order Management System to the Seller for processing. You will need to acknowledge this order before shipping. Acknowledged: The Purchase Order has been acknowledged by the assigned Sellers, including all of its order line items. If it is in this state by default, it already has been acknowledged. Shipped: The items included in the purchase order has been shipped. Cancelled: The line order has been cancelled. Sellers cannot fulfill the Purchase Order. The values that supports Walmart Charge Types are: PRODUCT: The product charges for the specified line item in Purchase Order. SHIPPING: The shipping charges for the specified Purchase Order line item. Walmart only support UTC shipDateTime. Workflow To successfully fulfill and /or refund orders properly, Walmart follows a workflow. See the figure below: Walmart Order Management Workflow Sample order object JSON XML JSONXML { "order": { "purchaseOrderId": "1796330120075", "customerOrderId": "1568964842632", "customerEmailId": "[email protected]", "orderDate": 1568878435000, "shippingInfo": { "phone": "5106793150", "estimatedDeliveryDate": 1570129200000, "estimatedShipDate": 1569990600000, "methodCode": "OneDay", "postalAddress": { "name": "Shai Kodela", "address1": "640 West California Avenue", "address2": "asdasd", "city": "Sunnyvale", "postalCode": "94043", "country": "USA", "addressType": "RESIDENTIAL" } }, "orderLines": { "orderLine": [ { "lineNumber": "1", "item": { "productName": "Item 1" }, "charges": { "charge": [ { "chargeType": "PRODUCT", "chargeName": "ItemPrice", "chargeAmount": { "currency": "USD", "amount": 0 }, "tax": null }, { "chargeType": "SHIPPING", "chargeName": "Shipping", "chargeAmount": { "currency": "USD", "amount": 0 }, "tax": null } ] }, "orderLineQuantity": { "unitOfMeasurement": "EACH", "amount": "1" }, "statusDate": 1569908220727, "orderLineStatuses": { "orderLineStatus": [ { "status": "Created", "statusQuantity": { "unitOfMeasurement": "EACH", "amount": "1" }, "cancellationReason": null, "trackingInfo": null, "returnCenterAddress": null } ] }, "refund": null, "originalCarrierMethod": "67", "fulfillment": { "fulfillmentOption": "S2H", "shipMethod": "RUSH", "storeId": null, "pickUpDateTime": 1569828835000, "pickUpBy": "Raj Accept Kumar", "shippingProgramType": "TWO_DAY" } } ] }, "shipNode": { "type": "3PLFulfilled" } } } Get all released orders Retrieves all the orders with line items that are in the "created" status, that is, these orders have been released from the Walmart Order Management System to the seller for processing. The released orders are the orders that are ready for a seller to fulfill. ** Note: There is a maximum limit of 2000 orders that can be downloaded at a time. Attempting to download more than 2000 orders will return an error. ** Version V3 Production URL GET https://marketplace.walmartapis.com/v3/orders/released?createdStartDate={createdStartDate}&limit={limit}&shippingProgramType={shippingProgramType}&shipNodeType={shipNodeType} or GET https://marketplace.walmartapis.com/v3/orders/released?{nextCursor} Sandbox URL GET https://sandbox.walmartapis.com/v3/orders/released?createdStartDate={createdStartDate}&limit={limit} or GET https://sandbox.walmartapis.com/v3/orders/released?{nextCursor} Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload No application/xml or application/json Accept The returned data format in the response Yes application/xml or application/json URL Parameters Name Description Required nextCursor String returned from a call to Get All Released Orders. Used for pagination when more than 200 orders are retrieved. No. If specified, no other parameters should be specified Query Parameters Name Description Default Required createdStartDate Start Date for querying all purchase orders after that date. Use one of the following formats, based on UTC, ISO 8601. Date example: '2013-08-16' Timestamp example: '2013-08-16T10:30:15Z' N/A Yes createdEndDate End date for querying all purchase orders prior to the date. Use one of the following formats, based on UTC, ISO 8601. Date example: '2013-08-16' Timestamp example: '2013-08-16T10:30:15Z' N/A Yes limit The number of orders to be returned. Cannot be larger than 200. 10 No productinfo Provides the image URL and product weight in response, if available. This parameter must be boolean, e.g.: productinfo=true. N/A No shipNodeType Specifies the type of shipNode. Allowed values are 3PLFulfilled, SellerFulfilled. N/A No shippingProgramType Specifies the type of program . Allowed values are TWO_DAY. N/A No Released Orders List Pagination If a call to an API results in a large number of orders being returned, the results are sent back in pages. The response element that is required for pagination is nextCursor. The nextCursor element contains the string that should be appended to the basic GET call to get the next page of results. A missing or empty nextCursor element means that there are no more orders left to retrieve. The totalCount returns the total number of available orders. Therefore, analysis of the totalCount provides the number of pages to be retrieved to get the whole list of orders. Sample Request Header GET /v3/orders/released?createdStartDate={createdStartDate}&limit={limit}&shippingProgramType={shippingProgramType}&shipNodeType={shipNodeType} HTTP/1.1 <<Authentication Headers>> Content-Type: application/xml or application/json Accept: application/xml or application/json Host: marketplace.walmartapis.com Response Parameters Name Description Type order Information about the purchase order List Sample Response JSON XML JSONXML { "list": { "meta": { "totalCount": 25228, "limit": 10, "nextCursor": "?limit=10&hasMoreElements=true&soIndex=25228&poIndex=10&sellerId=152&createdStartDate=2019-04-02T00:00:00.000Z&createdEndDate=2019-09-26T16:05:49.648Z" }, "elements": { "order": [ { "purchaseOrderId": "4792701510371", "customerOrderId": "5401973367419", "customerEmailId": "[email protected]", "orderDate": 1569513584000, "shippingInfo": { "phone": "2134488377", "estimatedDeliveryDate": 1569870000000, "estimatedShipDate": 1569553200000, "methodCode": "Express", "postalAddress": { "name": "Julio Hernandez", "address1": "9713 pleasant view dr", "address2": null, "city": "Rancho Cucamonga", "state": "CA", "postalCode": "91701", "country": "USA", "addressType": "RESIDENTIAL" } }, "orderLines": { "orderLine": [ { "lineNumber": "1", "item": { "productName": "Refurbished Lenovo YB1-X90F Grey Yoga Book with WiFi 10.1\" Touchscreen Tablet Android 6.0.1", "sku": "VO190403007727R" }, "charges": { "charge": [ { "chargeType": "PRODUCT", "chargeName": "ItemPrice", "chargeAmount": { "currency": "USD", "amount": 259 }, "tax": { "taxName": "Tax1", "taxAmount": { "currency": "USD", "amount": 20.07 } } }, { "chargeType": "FEE", "chargeName": "Fee", "chargeAmount": { "currency": "USD", "amount": 0 }, "tax": { "taxName": "Electronic Waste Recycling Fee", "taxAmount": { "currency": "USD", "amount": 5 } } } ] }, "orderLineQuantity": { "unitOfMeasurement": "EACH", "amount": "1" }, "statusDate": 1569513724000, "orderLineStatuses": { "orderLineStatus": [ { "status": "Acknowledged", "statusQuantity": { "unitOfMeasurement": "EACH", "amount": "1" }, "cancellationReason": null, "trackingInfo": null, "returnCenterAddress": null } ] }, "refund": null, "fulfillment": { "fulfillmentOption": "S2H", "shipMethod": "EXPEDITED", "storeId": null, "pickUpDateTime": 1569870000000, "pickUpBy": null, "shippingProgramType": "TWO_DAY" } } ] }, "shipNode": { "type": "3PLFulfilled" } } ] } } } Get all orders Retrieves the details of all the orders for specified search criteria. Version V3 Production URL GET https://marketplace.walmartapis.com/v3/orders?sku={sku}&customerOrderId={customerOrderId}&purchaseOrderId={purchaseOrderId}&status={status}&createdStartDate={createdStartDate}&createdEndDate={createdEndDate}&fromExpectedShipDate={fromExpectedShipDate}&toExpectedShipDate={toExpectedShipDate}&limit={limit}&shippingProgramType={shippingProgramType}&shipNodeType={shipNodeType} or GET https://marketplace.walmartapis.com/v3/orders?{nextCursor} Sandbox URL GET https://sandbox.walmartapis.com/v3/orders?sku={sku}&customerOrderId={customerOrderId}&purchaseOrderId={purchaseOrderId}&status={status}&createdStartDate={createdStartDate}&createdEndDate={createdEndDate}&fromExpectedShipDate={fromExpectedShipDate}&toExpectedShipDate={toExpectedShipDate}&limit={limit} or GET https://sandbox.walmartapis.com/v3/orders?{nextCursor} Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload No application/xml or application/json Accept The returned data format in the response Yes application/xml or application/json Sample Request Header GET /v3/orders?sku={sku}&customerOrderId={customerOrderId}&purchaseOrderId={purchaseOrderId}&status={status}&createdStartDate={createdStartDate}&createdEndDate={createdEndDate}&fromExpectedShipDate={fromExpectedShipDate}&toExpectedShipDate={toExpectedShipDate}&limit={limit}&shippingProgramType={shippingProgramType}&shipNodeType={shipNodeType} HTTP/1.1 <<Authentication Headers>> Content-Type: application/xml or application/json Accept: application/xml or application/json Host: marketplace.walmartapis.com URL Parameters Name Description Required nextCursor String returned from a call to Get All Released Orders. Used for pagination when more than 200 orders are retrieved No. If specified, no other parameters should be specified Query Parameters Name Description Default Required sku A seller-provided Product ID N/A No customerOrderId The customer order ID N/A No purchaseOrderId The purchase order ID. One customer may have multiple purchase orders. N/A No status Status may be specified to return orders of that type. Valid statuses are: Created, Acknowledged, Shipped, and Cancelled. N/A No createdStartDate Start Date for querying all purchase orders after that date. Use one of the following formats, based on UTC, ISO 8601. Date example: '2013-08-16' Timestamp example: '2013-08-16T10:30:15Z' N/A Yes createdEndDate Limits orders returned to those created before this createdEndDate. Two formats, based on ISO 8601, are allowed: UTC date or timestamp. Examples: '2016-08-16T10:30:30.155Z' or '2016-08-16' N/A Required when toExpectedShipDate is specified fromExpectedShipDate Limits orders returned to those that have orderLines with an expected ship date after this fromExpectedShipDate. Format: YYYY-MM-DD N/A No toExpectedShipDate Limits orders returned to those that have orderLines with an expected ship date before this toExpectedShipDate. Format: YYYY-MM-DD N/A No limit The number of orders to be returned. Cannot be larger than 200. 10 No nextCursor Used for pagination when more than 200 orders are retrieved. The nextCursor value of the response includes a link to another GET call which retrieves the next page of results. N/A No. If specified, no other parameter should be specified productinfo Provides the image URL and product weight in response, if available. This parameter must be boolean, e.g.: productinfo=true. N/A No shipNodeType Specifies the type of shipNode. Allowed values are 3PLFulfilled, SellerFulfilled. N/A No shippingProgramType Specifies the type of program . Allowed values are TWO_DAY. N/A No In general, if more than one query parameter is included, they will be combined with each other using a logical sequence and with the following exceptions: If the customerOrderID and/or the purchaseOrderID is provided, the createdStartDate is not mandatory. If the createdStartDate and a timestamp are provided after the order creation, an empty set is returned. If the customerOrderID and/or the purchaseOrderID is specified as well as some other parameter that can vary between line items (such as status), then any orders that have at least one line item in the relevant status are returned in their entirety. Orders List Pagination If a call to the endpoint results in a large number of orders being returned, the results are sent back in pages. The response element that is required for pagination is nextCursor. The nextCursor element contains the string that should be appended to the basic GET call to get the next page of results. A missing or empty nextCursor element means that there are no more orders left to retrieve. The totalCount returns the total number of available orders. Therefore, analysis of the totalCount provides the number of pages to be retrieved to get the whole list of orders. Response Parameters Name Description Type order Information about the purchase order List Sample Response JSON XML JSONXML { "list": { "meta": { "totalCount": 25228, "limit": 10, "nextCursor": "?limit=10&hasMoreElements=true&soIndex=25228&poIndex=10&sellerId=152&createdStartDate=2019-04-02T00:00:00.000Z&createdEndDate=2019-09-26T16:05:49.648Z" }, "elements": { "order": [ { "purchaseOrderId": "4792701510371", "customerOrderId": "5401973367419", "customerEmailId": "[email protected]", "orderDate": 1569513584000, "shippingInfo": { "phone": "2134488377", "estimatedDeliveryDate": 1569870000000, "estimatedShipDate": 1569553200000, "methodCode": "Express", "postalAddress": { "name": "Julio Hernandez", "address1": "9713 pleasant view dr", "address2": null, "city": "Rancho Cucamonga", "state": "CA", "postalCode": "91701", "country": "USA", "addressType": "RESIDENTIAL" } }, "orderLines": { "orderLine": [ { "lineNumber": "1", "item": { "productName": "Refurbished Lenovo YB1-X90F Grey Yoga Book with WiFi 10.1\" Touchscreen Tablet Android 6.0.1", "sku": "VO190403007727R" }, "charges": { "charge": [ { "chargeType": "PRODUCT", "chargeName": "ItemPrice", "chargeAmount": { "currency": "USD", "amount": 259 }, "tax": { "taxName": "Tax1", "taxAmount": { "currency": "USD", "amount": 20.07 } } }, { "chargeType": "FEE", "chargeName": "Fee", "chargeAmount": { "currency": "USD", "amount": 0 }, "tax": { "taxName": "Electronic Waste Recycling Fee", "taxAmount": { "currency": "USD", "amount": 5 } } } ] }, "orderLineQuantity": { "unitOfMeasurement": "EACH", "amount": "1" }, "statusDate": 1569513724000, "orderLineStatuses": { "orderLineStatus": [ { "status": "Acknowledged", "statusQuantity": { "unitOfMeasurement": "EACH", "amount": "1" }, "cancellationReason": null, "trackingInfo": null, "returnCenterAddress": null } ] }, "refund": null, "fulfillment": { "fulfillmentOption": "S2H", "shipMethod": "EXPEDITED", "storeId": null, "pickUpDateTime": 1569870000000, "pickUpBy": null, "shippingProgramType": "TWO_DAY" } } ] }, "shipNode": { "type": "3PLFulfilled" } } ] } } } Get an order Retrieves an order detail for a specific purchaseOrderId. Version V3 Production URL GET https://marketplace.walmartapis.com/v3/orders/{purchaseOrderId} Sandbox URL GET https://sandbox.walmartapis.com/v3/orders/{purchaseOrderId} Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload No application/xml or application/json Accept The returned data format in the response Yes application/xml or application/json URL Parameters Name Description Required purchaseOrderId The purchase order ID Yes Query Parameters Name Description Default Required productinfo Provides the image URL and product weight in response, if available. This parameter must be boolean, e.g.: productinfo=true. N/A No Sample Request Header GET /v3/orders/2575193093776 HTTP/1.1 <<Authentication Headers>> Content-Type: application/xml or application/json Accept: application/xml or application/json Host: marketplace.walmartapis.com Response Parameters Name Description Type order Information about the purchase order List Sample Response JSON XML JSONXML { "order": { "purchaseOrderId": "1792410114462", "customerOrderId": "5101900976745", "customerEmailId": "[email protected]", "orderDate": 1241718635678, "buyerId": "52e3962d-90e4-46e1-ab1c-ba579fac5a39", "mart": "xyz", "isGuest": true, "shippingInfo": { "phone": "7777777777", "estimatedDeliveryDate": 1241718635678, "estimatedShipDate": 1241718635678, "methodCode": "Express", "postalAddress": { "name": "Suresh R", "address1": "860 W California Ave", "address2": "xyz", "city": "Sunnyvale", "state": "CA", "postalCode": "94086", "country": "USA", "addressType": "RESIDENTIAL" } }, "orderLines": { "orderLine": [ { "lineNumber": "2", "item": { "productName": "4 Naturals Next Day Cycle", "sku": "567259563", "imageUrl": "https://i5-qa.walmartimages.com/asr/f03975d8-184c-4bc0-8478-54f2b7c1cef7_2.3bb72b734984871d53899fe476ec44c0.jpeg", "weight": { "value": "xyz", "unit": "10" } }, "charges": { "charge": [ { "chargeType": "PRODUCT", "chargeName": "ItemPrice", "chargeAmount": { "currency": "USD", "amount": 798.0 }, "tax": { "taxName": "Tax1", "taxAmount": { "currency": "USD", "amount": 798.0 } } } ] }, "orderLineQuantity": { "unitOfMeasurement": "EACH", "amount": "1" }, "statusDate": 1241718635678, "orderLineStatuses": { "orderLineStatus": [ { "status": "Created", "statusQuantity": { "unitOfMeasurement": "EACH", "amount": "1" }, "cancellationReason": "xyz", "trackingInfo": { "shipDateTime": 1241718635678, "carrierName": { "otherCarrier": "xyz", "carrier": "FED_EX" }, "methodCode": "Standard", "carrierMethodCode": 19, "trackingNumber": "001792410114462199", "trackingURL": "http://www.fedex.com/Tracking?action=track=english=us=x=001792410114462199" }, "returnCenterAddress": { "name": "xyz", "address1": "xyz", "address2": "xyz", "city": "Sunnyvale", "state": "CA", "postalCode": "123", "country": "CA", "dayPhone": "9999999", "emailId": "[email protected]" } } ] }, "refund": { "refundId": "123", "refundComments": "xyz", "refundCharges": { "refundCharge": [ { "refundReason": "INCORRECT_ITEM_RECEIVED", "charge": { "chargeType": "PRODUCT", "chargeName": "ItemPrice", "chargeAmount": { "currency": "USD", "amount": 798.0 }, "tax": { "taxName": "Tax1", "taxAmount": { "currency": "USD", "amount": 798.0 } } } } ] } }, "originalCarrierMethod": "503", "referenceLineId": "xyz", "fulfillment": { "fulfillmentOption": "S2H", "shipMethod": "Standard", "storeId": "xyz", "pickUpDateTime": 1241718635678, "pickUpBy": "xyz", "shippingProgramType": "THREE_TO_FIVE_DAY" }, "intentToCancel": "xyz", "configId": "xyz", "sellerOrderId": "xyz" } ] }, "paymentTypes": [ "CREDIT_CARD", "DEBIT_CARD", "COD" ], "orderSummary": { "totalAmount": { "currencyAmount": 123.0, "currencyUnit": "USD" }, "orderSubTotals": [ { "subTotalType": "xyz", "totalAmount": { "currencyAmount": 123.0, "currencyUnit": "USD" } } ] }, "pickupPersons": [ { "name": { "completeName": "xyz", "firstName": "xyz", "middleName": "xyz", "lastName": "xyz", "generalSuffix": "xyz", "maturitySuffix": "xyz", "titleOfRespect": "xyz", "empty": false }, "phone": { "id": "ed475ea3-6a09-4c03-a95f-17871be5ceba", "areaCode": "xyz", "extension": "xyz", "completeNumber": "xyz", "type": "MOBILE", "subscriberNumber": "xyz", "countryCode": "xyz", "phoneValidity": { "validationType": "CALL", "validationStatus": "SUCCESS", "validatedDate": 1403685556000, "validatedBy": "xyz" } } } ], "shipNode": { "type": "3PLFulfilled", "name": "xyz", "id": "123" } } } Acknowledge orders You can use this API to acknowledge an entire order, including all of its order lines. Walmart requires a seller to acknowledge orders within four hours of receipt of the order, except in extenuating circumstances. The response to a successful call contains the acknowledged order. In general, only orders that are in a Created state should be acknowledged. As a good practice, acknowledge your orders to avoid underselling. Orders that are in an Acknowledged state can be re-acknowledged, possibly in response to an error response from an earlier call to acknowledge order. Orders with line items that are shipped or canceled should not be re-acknowledged. Version V3 Production URL POST https://marketplace.walmartapis.com/v3/orders/{purchaseOrderId}/acknowledge Sandbox URL POST https://sandbox.walmartapis.com/v3/orders/{purchaseOrderId}/acknowledge Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes application/xml or application/json Accept The returned data format in the response Yes application/xml or application/json URL Parameters Name Description Required purchaseOrderId The purchase order ID Yes Sample Request Header POST /v3/orders/2575193093772/acknowledge HTTP/1.1 <<Authentication Headers>> Content-Type: application/xml or application/json Accept: application/xml or application/json Host: marketplace.walmartapis.com Response Parameters Name Description Type order Information about the purchase order List Sample Response JSON XML JSONXML { "order": { "purchaseOrderId": "1796330120075", "customerOrderId": "1568964842632", "customerEmailId": "[email protected]", "orderDate": 1568878435000, "shippingInfo": { "phone": "5106793150", "estimatedDeliveryDate": 1570129200000, "estimatedShipDate": 1569990600000, "methodCode": "OneDay", "postalAddress": { "name": "Shai Kodela", "address1": "640 West California Avenue", "address2": "asdasd", "city": "Sunnyvale", "postalCode": "94043", "country": "USA", "addressType": "RESIDENTIAL" } }, "orderLines": { "orderLine": [ { "lineNumber": "1", "item": { "productName": "Item 1" }, "charges": { "charge": [ { "chargeType": "PRODUCT", "chargeName": "ItemPrice", "chargeAmount": { "currency": "USD", "amount": 0 }, "tax": null }, { "chargeType": "SHIPPING", "chargeName": "Shipping", "chargeAmount": { "currency": "USD", "amount": 0 }, "tax": null } ] }, "orderLineQuantity": { "unitOfMeasurement": "EACH", "amount": "1" }, "statusDate": 1569908220727, "orderLineStatuses": { "orderLineStatus": [ { "status": "Created", "statusQuantity": { "unitOfMeasurement": "EACH", "amount": "1" }, "cancellationReason": null, "trackingInfo": null, "returnCenterAddress": null } ] }, "refund": null, "originalCarrierMethod": "67", "fulfillment": { "fulfillmentOption": "S2H", "shipMethod": "RUSH", "storeId": null, "pickUpDateTime": 1569828835000, "pickUpBy": "Raj Accept Kumar", "shippingProgramType": "TWO_DAY" } } ] }, "shipNode": { "type": "3PLFulfilled" } } } Cancel order lines You can cancel one or more order lines. You must include a purchaseOrderId when cancelling an order line. After cancelling your order, update the inventory for the cancelled order and send it in the next inventory feed. The response to a successful call contains the order with the cancelled line item. Cancellation Reasons supported: CUSTOMER_REQUESTED_SELLER_TO_CANCEL SELLER_CANCEL_OUT_OF_STOCK SELLER_CANCEL_CUSTOMER_DUPLICATE_ORDER SELLER_CANCEL_CUSTOMER_CHANGE_ORDER SELLER_CANCEL_CUSTOMER_INCORRECT_ADDRESS SELLER_CANCEL_FRAUD_STOP_SHIPMENT SELLER_CANCEL_PRICING_ERROR Version V3 Production URL POST https://marketplace.walmartapis.com/v3/orders/{purchaseOrderId}/cancel Sandbox URL POST https://sandbox.walmartapis.com/v3/orders/{purchaseOrderId}/cancel Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes application/xml or application/json Accept The returned data format in the response Yes application/xml or application/json Query Parameters Name Description Required purchaseOrderId The purchase order ID Yes Sample Request Header POST /v3/orders/8692032942352/cancel HTTP/1.1 <<Authentication Headers>> Content-Type: application/xml or application/json Accept: application/xml or application/json Host: marketplace.walmartapis.com Request body Name Description Type orderCancellation Container for the cancellation details List Sample Request Body JSON XML JSONXML { "orderCancellation": { "orderLines": { "orderLine": [ { "lineNumber": "1", "orderLineStatuses": { "orderLineStatus": [ { "status": "Cancelled", "cancellationReason": "CUSTOMER_REQUESTED_SELLER_TO_CANCEL", "statusQuantity": { "unitOfMeasurement": "EA", "amount": "1" } } ] } } ] } } } Response Parameters Name Description Type order Information about the purchase order List Sample Response JSON XML JSONXML { "order": { "purchaseOrderId": "1577914061094", "customerOrderId": "5571600820432", "customerEmailId": "[email protected]", "orderDate": 1476387173000, "shippingInfo": { "phone": "6502248603", "estimatedDeliveryDate": 1479798000000, "estimatedShipDate": 1476424800000, "methodCode": "Standard", "postalAddress": { "name": "Madhukara PGOMS", "address1": "860 W Cal Ave", "address2": "Seat # 860C.2.176", "city": "Sunnyvale", "state": "CA", "postalCode": "94086", "country": "USA", "addressType": "RESIDENTIAL" } }, "orderLines": { "orderLine": [ { "lineNumber": "1", "item": { "productName": "Ozark Trail 4-Person Dome Tent", "sku": "NJ_WITHOUT_RCA_003" }, "charges": { "charge": [ { "chargeType": "PRODUCT", "chargeName": "ItemPrice", "chargeAmount": { "currency": "USD", "amount": 0 }, "tax": { "taxName": "Tax1", "taxAmount": { "currency": "USD", "amount": 0 } } }, { "chargeType": "SHIPPING", "chargeName": "Shipping", "chargeAmount": { "currency": "USD", "amount": 0 }, "tax": { "taxName": "Tax2", "taxAmount": { "currency": "USD", "amount": 0 } } } ] }, "orderLineQuantity": { "unitOfMeasurement": "EACH", "amount": "1" }, "statusDate": 1481755720000, "orderLineStatuses": { "orderLineStatus": [ { "status": "Cancelled", "statusQuantity": { "unitOfMeasurement": "EACH", "amount": "1" }, "cancellationReason": null, "trackingInfo": null } ] }, "refund": null } ] } } } Refund order lines Refunds one or more order lines that have been shipped. The response to a successful call contains the order with the refunded line item. You can only refund an order line that has a status of Shipped. The value for the amount element in the refund must be negative. The magnitude of the amount specified as the refund cannot be greater than the original amount that was charged for the line. Version V3 Production URL POST https://marketplace.walmartapis.com/v3/orders/{purchaseOrderId}/refund Sandbox URL POST https://sandbox.walmartapis.com/v3/orders/{purchaseOrderId}/refund Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload No application/xml or application/json Accept The returned data format in the response Yes application/xml or application/json Query Parameters Name Description Required purchaseOrderId The purchase order ID Yes Sample Request Header POST /v3/orders/8692032942352/refund HTTP/1.1 <<Authentication Headers>> Content-Type: application/xml or application/json Accept: application/xml or application/json Host: marketplace.walmartapis.com Request Body Refer to the XML sample request. All fields are required. Request Body JSON XML JSONXML { "orderRefund": { "purchaseOrderId": "2577453162650", "orderLines": { "orderLine": [ { "lineNumber": "4", "refunds": { "refund": [ { "refundComments": "test test", "refundCharges": { "refundCharge": [ { "refundReason": "Merchandise not received", "charge": { "chargeType": "PRODUCT", "chargeName": "Item Price", "chargeAmount": { "currency": "USD", "amount": -0.1 }, "tax": { "taxName": "Item Price Tax", "taxAmount": { "currency": "USD", "amount": -0.1 } } } } ] } } ] } } ] } } } Response Parameters Name Description Type order Information about the purchase order List Sample Response JSON XML JSONXML { "order": { "purchaseOrderId": "2577573191435", "customerOrderId": "5571600820146", "customerEmailId": "[email protected]", "orderDate": 1476392223000, "shippingInfo": { "phone": "6502248603", "estimatedDeliveryDate": 1479798000000, "estimatedShipDate": 1476424800000, "methodCode": "Standard", "postalAddress": { "name": "Madhukara PGOMS", "address1": "860 W Cal Ave", "address2": "Seat # 860C.2.176", "city": "Sunnyvale", "state": "CA", "postalCode": "94086", "country": "USA", "addressType": "RESIDENTIAL" } }, "orderLines": { "orderLine": [ { "lineNumber": "1", "item": { "productName": "Ozark Trail 4-Person Dome Tent", "sku": "NJ_WITHOUT_RCA_003" }, "charges": { "charge": [ { "chargeType": "PRODUCT", "chargeName": "ItemPrice", "chargeAmount": { "currency": "USD", "amount": 19.99 }, "tax": { "taxName": "Tax1", "taxAmount": { "currency": "USD", "amount": 0 } } }, { "chargeType": "SHIPPING", "chargeName": "Shipping", "chargeAmount": { "currency": "USD", "amount": 2 }, "tax": { "taxName": "Tax2", "taxAmount": { "currency": "USD", "amount": 0 } } } ] }, "orderLineQuantity": { "unitOfMeasurement": "EACH", "amount": "1" }, "statusDate": 1476470187000, "orderLineStatuses": { "orderLineStatus": [ { "status": "Shipped", "statusQuantity": { "unitOfMeasurement": "EACH", "amount": "1" }, "cancellationReason": null, "trackingInfo": { "shipDateTime": 1475008215000, "carrierName": { "otherCarrier": null, "carrier": "FedEx" }, "methodCode": "Standard", "trackingNumber": "3445435443441221", "trackingURL": "http://www.fedex.com" } } ] }, "refund": { "refundId": null, "refundComments": null, "refundCharges": { "refundCharge": [ { "refundReason": "BillingError", "charge": { "chargeType": "PRODUCT", "chargeName": "Billing Error", "chargeAmount": { "currency": "USD", "amount": -19.99 }, "tax": null } }, { "refundReason": "BillingError", "charge": { "chargeType": "SHIPPING", "chargeName": "Billing Error", "chargeAmount": { "currency": "USD", "amount": -2 }, "tax": null } } ] } } } ] } } } Ship Order Lines Allows sellers to ship one or more order lines. Updates the status of order lines to Shipped and triggers the charge to the customer. Orders must be acknowledged before shipping to avoid underselling. An order line, once marked as shipped, can be updated using Process Mode . **NOTE: shipDateTime must be in UTC. ** The response to a successful call contains the order with the shipped line item. Process Mode The processMode parameter allows the seller to track and update any shipment information after the order has already shipped. This parameter is used to differentiate between the first shipment and subsequent shipments, and track information updates post shipment. The seller can update the shipment within 4 hours of sending the first shipping information. The status of the order line should be 'Shipped'. This is an optional parameter, and if not passed it will be considered as a regular shipment update. The supported value for processMode is listed in the table below : processMode Description Required PARTIAL_UPDATE Allows tracking of order shipment information Yes Version V3 Production URL POST https://marketplace.walmartapis.com/v3/orders/{purchaseOrderId}/shipping Sandbox URL POST https://sandbox.walmartapis.com/v3/orders/{purchaseOrderId}/shipping Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload No application/xml or application/json Accept The returned data format in the response Yes application/xml or application/json URL Parameters Name Description Required purchaseOrderId The purchase order ID Yes Sample Request Header POST /v3/orders/8692032942352/shipping HTTP/1.1 <<Authentication Headers>> Content-Type: application/xml or application/json Accept: application/xml or application/json Host: marketplace.walmartapis.com Request Body Name Description Type orderShipment Information about a shipment Object Sample Request Body JSON JSON (UPDATE TRACKING) XML XML (UPDATE TRACKING) JSONJSON (UPDATE TRACKING)XMLXML (UPDATE TRACKING) { "orderShipment": { "orderLines": { "orderLine": [ { "lineNumber": "1", "sellerOrderId": "92344", "orderLineStatuses": { "orderLineStatus": [ { "status": "Shipped", "statusQuantity": { "unitOfMeasurement": "EACH", "amount": "1" }, "trackingInfo": { "shipDateTime": 1580821866000, "carrierName": { "otherCarrier": null, "carrier": "UPS" }, "methodCode": "Standard", "trackingNumber": "22344", "trackingURL": "http://walmart/tracking/ups?&type=MP&seller_id=12345&promise_date=03/02/2020&dzip=92840&tracking_numbers=92345" }, "returnCenterAddress": { "name": "walmart", "address1": "walmart store 2", "address2": null, "city": "Huntsville", "state": "AL", "postalCode": "35805", "country": "USA", "dayPhone": "12344", "emailId": "[email protected]" } } ] } }, { "lineNumber": "2", "sellerOrderId": "92344", "orderLineStatuses": { "orderLineStatus": [ { "status": "Shipped", "statusQuantity": { "unitOfMeasurement": "EACH", "amount": "1" }, "trackingInfo": { "shipDateTime": 1580821866000, "carrierName": { "otherCarrier": null, "carrier": "FedEx" }, "methodCode": "Express", "trackingNumber": "22344", "trackingURL": "http://walmart/tracking/fedEx?&type=MP&seller_id=12345&promise_date=03/02/2020&dzip=92840&tracking_numbers=92344" }, "returnCenterAddress": { "name": "walmart", "address1": "walmart store 2", "address2": null, "city": "Huntsville", "state": "AL", "postalCode": "35805", "country": "USA", "dayPhone": "12344", "emailId": "[email protected]" } } ] } } ] } } } Response Parameters Name Description Type order Information about the purchase order Object Sample Response JSON XML JSONXML { "order": { "purchaseOrderId": "11582892579982", "customerOrderId": "9770000000000", "customerEmailId": "[email protected]", "orderDate": 1582799405000, "shippingInfo": { "phone": "8888888888", "estimatedDeliveryDate": 1583141496000, "estimatedShipDate": 1583055096000, "methodCode": "Value", "postalAddress": { "name": "Peter test", "address1": "12332 oakwood st", "address2": null, "city": "Garden Grove", "state": "CA", "postalCode": "92840", "country": "USA", "addressType": "RESIDENTIAL" } }, "orderLines": { "orderLine": [ { "lineNumber": "1", "item": { "productName": "Yosoo 1/4'' Flexible Shaft Connecting Link/ Flex Hex Shank Extension Socket Bit Holder for Electric Drill / Screwdriver Bit", "sku": "004634169", "imageUrl": "https://i5.walmartimages.com/asr/50c071ed-18bd-4481-8dbf-e56c2cceabd6_1.00f9b1251b7cc941e2ff1bcee2fa4103.jpeg", "weight": { "value": "10", "unit": "Pound" } }, "charges": { "charge": [ { "chargeType": "PRODUCT", "chargeName": "ItemPrice", "chargeAmount": { "currency": "USD", "amount": 12 }, "tax": { "taxName": "Tax1", "taxAmount": { "currency": "USD", "amount": 1.17 } } }, { "chargeType": "SHIPPING", "chargeName": "Shipping", "chargeAmount": { "currency": "USD", "amount": 12 }, "tax": null } ] }, "orderLineQuantity": { "unitOfMeasurement": "EACH", "amount": "1" }, "statusDate": 1582898969500, "orderLineStatuses": { "orderLineStatus": [ { "status": "Shipped", "statusQuantity": { "unitOfMeasurement": "EACH", "amount": "1" }, "cancellationReason": null, "trackingInfo": { "shipDateTime": 1582867815000, "carrierName": { "otherCarrier": null, "carrier": "FedEx" }, "methodCode": "Value", "trackingNumber": "12333634122", "trackingURL": "http://walmart.narvar.com/walmart/tracking/Fedex?&type=MP&seller_id=127287&promise_date=03/02/2020&dzip=92840&tracking_numbers=12333634122", "carrierMethodCode": null }, "returnCenterAddress": { "name": "walmart", "address1": "walmart store 1 ", "address2": "walmart store 2 ", "city": "Huntsville", "state": "AL", "postalCode": "35805", "country": "USA", "dayPhone": "12344", "emailId": "[email protected]" } } ] }, "refund": null, "originalCarrierMethod": "24", "fulfillment": { "fulfillmentOption": "S2H", "shipMethod": "VALUE", "storeId": null, "pickUpDateTime": 1582799405000, "pickUpBy": "test user", "shippingProgramType": null }, "sellerOrderId": "23456" } ] }, "shipNode": { "type": "3PLFulfilled" }, "buyerId": "52e3962d-90e4-46e1-ab1c-ba579fac5a39", "mart": "xyz", "isGuest": true } } Returns Management Returns can be initiated from Walmart.com, even for items purchased from marketplace sellers (Except for HAZMAT or FREIGHT items). Previously customers had to contact the sellers directly. For more details, see the announcement for Marketplace Returns Program. Download the Returns APIs JSON Schema from: MPReturnsJsonSchema.zip Returns Status The return status at the return order line are listed below including the "status" mapping to the more detailed "eventTag" in returnTrackingDetail object. Return status Event Tags Description INITIATED RETURN_INITIATED The return has been initiated by the customer. RETURN_IN_TRANSIT The initiated return is in transit. DELIVERED DELIVERED_AT_RETURN_CENTER The return has been delivered to the Return Center. COMPLETED REFUND_INITIATED The refund has been initiated. REFUND_ISSUED The return has been invoiced and customer notified. RETURN_CANCELLED The return has been cancelled before completion. INTRANSIT_AFTER_INVOICE The refund has been issued and the return is in Transit . DELIVERED_AFTER_INVOICE The refund has been issued and the return is delivered to the Return Center. Get returns Retrieves the details of return orders for the specified filter criteria. Version V3 Production URL GET https://marketplace.walmartapis.com/v3/returns?returnOrderId={returnOrderId}&customerOrderId={customerOrderId}&returnCreationStartDate={returnCreationStartDate}&returnCreationEndDate={returnCreationEndDate}&limit={limit}&status={status} or GET https://marketplace.walmartapis.com/v3/returns?{nextCursor} Sandbox URL GET https://sandbox.walmartapis.com/v3/returns?returnOrderId={returnOrderId}&customerOrderId={customerOrderId}&returnCreationStartDate={returnCreationStartDate}&returnCreationEndDate={returnCreationEndDate}&limit={limit}&status={status} or GET https://sandbox.walmartapis.com/v3/returns?{nextCursor} Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload No application/json Accept The returned data format in the response Yes application/json Query Parameters Name Description Default Required returnOrderId Return order identifier of the return order object as part of array. This is the same as RMA number. N/A No customerOrderId A unique ID associated with the sales order for specified customer N/A No status Status may be specified to query the returns with specific status. Valid statuses are: INITIATED, DELIVERED, COMPLETED N/A No returnCreationStartDate Start Date for querying all return orders that were created after that date. Use one of the following formats, based on UTC, ISO 8601. Date example: '2013-08-16' Timestamp example: '2013-08-16T10:30:15Z' N/A No returnCreationEndDate Limits the query to the return orders that were created before this returnCreationEndDate. Use one of the following formats, based on ISO 8601, are allowed: UTC date or timestamp. Examples: '2016-08-16T10:30:30.155Z' or '2016-08-16' N/A Required when returnCreationStartDate is specified limit The number of orders to be returned. Cannot be larger than 200 10 No nextCursor Used for pagination when more than 200 return orders are retrieved. The nextCursor value of the response includes a link to another GET call which retrieves the next page of results N/A No. If specified, no other parameter should be specified Sample Request Header GET /v3/returns HTTP/1.1 <<Authentication Headers>> Content-Type: application/json Accept: application/json Host: marketplace.walmartapis.com Response Parameters Name Description Type returnOrders List of returns for the seller. List of Objects Sample Response { "meta": { "totalCount": 32, "limit": 10, "nextCursor": "?sellerId=151&limit=10&offset=10" }, "returnOrders": [ { "returnOrderId": "103738048909818825", "customerEmailId": "[email protected]", "customerName": { "firstName": "Jane", "lastName": "Doe" }, "customerOrderId": "1234567891234", "returnOrderDate": "2019-02-21T01:01:08.000Z", "returnByDate": "2019-03-23T01:01:06.000Z", "refundMode": "POST_DELIVERY", "totalRefundAmount": { "currencyAmount": 127.45, "currencyUnit": "USD" }, "returnLineGroups": [ { "groupNo": 1, "returnLines": [ { "returnOrderLineNumber": 1 } ], "labels": [ { "labelImageURL": "https://i5.walmartimages.com/asr/0a0c7462-7a85-4d3d-b7cf-91738b6883d4_1.c2c4f7b05e1cfe67910134779aa7c571.png", "carrierInfoList": [ { "carrierId": "11", "carrierName": "FEDEX", "serviceType": "FedEx Ground", "trackingNo": "785611449666" } ] } ], "returnExpectedFlag": true } ], "returnOrderLines": [ { "returnOrderLineNumber": 1, "salesOrderLineNumber": 1, "returnReason": "ARRIVED_LATE", "purchaseOrderId": "4790210558890", "sellerOrderId": "123", "purchaseOrderLineNumber": 1, "item": { "sku": "ANTL_GDL-0700", "productName": "Antlion Audio ModMic Wireless Attachable Boom Microphone", "itemWeight": { "unitOfMeasure": "POUND", "measurementValue": 5 } }, "charges": [ { "chargeCategory": "PRODUCT", "chargeName": "ItemPrice", "chargePerUnit": { "currencyAmount": 119.95, "currencyUnit": "USD" }, "isDiscount": false, "isBillable": true, "tax": [ { "taxName": "Tax1", "excessTax": { "currencyAmount": 0, "currencyUnit": "USD" }, "taxPerUnit": { "currencyAmount": 7.5, "currencyUnit": "USD" } } ], "excessCharge": { "currencyAmount": 0, "currencyUnit": "USD" }, "references": [ { "name": "isAdjustment", "value": "false" } ] } ], "unitPrice": { "currencyAmount": 119.95, "currencyUnit": "USD" }, "chargeTotals": [ { "name": "lineUnitPrice", "value": { "currencyAmount": 119.95, "currencyUnit": "USD" } }, { "name": "lineProductTaxes", "value": { "currencyAmount": 7.5, "currencyUnit": "USD" } }, { "name": "lineTotalTaxes", "value": { "currencyAmount": 7.5, "currencyUnit": "USD" } }, { "name": "lineSubTotal", "value": { "currencyAmount": 119.95, "currencyUnit": "USD" } }, { "name": "lineTotal", "value": { "currencyAmount": 127.45, "currencyUnit": "USD" } } ], "cancellableQty": 0, "quantity": { "unitOfMeasure": "EACH", "measurementValue": 1 }, "returnExpectedFlag": true, "isFastReplacement": false, "isKeepIt": false, "lastItem": false, "refundedQty": 1, "rechargeableQty": 0, "refundChannel": "SELLER_AUTO_REFUND", "returnTrackingDetail": [ { "sequenceNo": 1, "eventTag": "RETURN_IN_TRANSIT", "eventDescription": "A MARKET_PLACE Return in Transit", "eventTime": "2019-02-23T00:46:11.000Z", "references": [ { "name": "ReturnDate", "value": "2019-02-21T01:01:08.000Z" }, { "name": "SLA for Receiving Items", "value": "7 Days" } ] }, { "sequenceNo": 0, "eventTag": "RETURN_INITIATED", "eventDescription": "Return initiated for MARKET_PLACE", "eventTime": "2019-02-21T01:01:08.000Z", "references": [ { "name": "ReturnDate", "value": "2019-02-21T01:01:08.000Z" }, { "name": "FedexTrackingLink", "value": "https://www.fedex.com/apps/fedextrack/?tracknumbers=785611449666" } ] } ], "status": "COMPLETED", "statusTime": "2019-03-02T05:45:45.000Z", "currentDeliveryStatus": "NOT_SHIPPED", "currentRefundStatus": "NOT_REFUNDED" } ], "returnChannel": { "channelName": "IN_STORE" } } ] } Bulk item override feed Sellers can specify global settings for returns in Seller Center, and they can override individual item level settings using this API. Empty values for the settings will remove the existing overriden values and revert them to global settings. For more details, see the announcement for Bulk Return Rules. Version V3 Production URL POST https://marketplace.walmartapis.com/v3/feeds?feedType=RETURNS_OVERRIDES Sandbox URL POST https://sandbox.walmartapis.com/v3/feeds?feedType=RETURNS_OVERRIDES Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes multipart/form-data Accept The returned data format in the response Yes application/json Query Parameters Name Description Default Required feedType The feed type RETURNS_OVERRIDES Yes Sample Request Headers POST /v3/feeds?feedType=RETURNS_OVERRIDES HTTP/1.1 <<Authentication Headers>> Content-Type: multipart/form-data Accept: application/json Host: marketplace.walmartapis.com Request Body The request body can contain different attributes depending on the type of request. Sample 1 is an example of defining an override for a SKU. Sample 2 is an example of setting "keep-it" override for a SKU. Sample 3 is an example of removing restricting a return for a SKU.. Sample 4 is an example of deleting an existing override for a SKU. Name Description Required Type header Additional header information Object overrideFeed The Feed containing the list of sku level settings Object Sample Requests SAMPLE 1 SAMPLE 2 SAMPLE 3 SAMPLE 4 SAMPLE 1SAMPLE 2SAMPLE 3SAMPLE 4 { "header": { "feedDate": "2018-08-31T20:59:14.000Z" }, "overrideFeed": [ { "sku": "ABC001", "overrides": { "returnCenterAlias": "CAL1" } } ] } ** Note: Certain parameters (i.e.: shippingFee) are being deprecated due to changes to the return policy. For more details on updates to policy, see Return Policy - Fee and Refund Changes. Response Body Name Description Type feedId A unique ID, returned with feed acknowledgement, used for tracking the feed file String Save the Feed ID so you can track your feed using the Feed Status API. Sample Response { "feedId": "C0771C26FF1A4282A73C6F3EB659D9BF@ATgBAQA" } Issue refund This API allows sellers to issue refund against a return order. Shipping and restocking fees can be specified as part of this API. ** Note: That the existing order refund API will continue to work and can be used for adjustment workflows where the seller can determine the refund amount and can be used especially for items that will not be part of the Marketplace Returns Program like Hazmat and Freight items** Refunds Errors The table below shows the error codes that may occur when initiating returns. The first field shows a data or system code concatenated with the API that was being invoked at the time of the error. The second field provides the error description. The third field indicates the error type. Code Description Type 400 Invalid request. One or more mandatory fields are missing. Data Error 400 Requested quantity is not available. Please check if there is refundable quantity. Data Error 400 The return order number is not valid Data Error 500 Unexpected error occurred. Please try again or contact support. Data Error 500 We are not able to perform this operation at this time. Please try again or contact support. Data Error In general, if any "500" errors occur, retry. For '400' errors, try to fix the input data. Version V3 Production URL POST https://marketplace.walmartapis.com/v3/returns/{returnOrderId}/refund Sandbox URL POST https://sandbox.walmartapis.com/v3/returns/{returnOrderId}/refund Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes application/json Accept The returned data format in the response Yes application/json URL Parameters Name Description Required returnOrderId The return order ID Yes Sample Request Header POST /v3/returns/{returnOrderId}/refund HTTP/1.1 <<Authentication Headers>> Content-Type: application/json Accept: application/json Host: marketplace.walmartapis.com Request Body The sample displayed to the right shows an example of issuing a customer refund. Name Description Required Type customerOrderId A unique ID associated with the sales order for specified customer Yes String refundLines Array of refund lines Yes List Sample Requests SAMPLE 1 SAMPLE 1 { "customerOrderId": "1535274411287", "refundLines": [ { "returnOrderLineNumber": 1} ] } Response Parameters Name Description Type returnOrderId The return order id String customerOrderId A unique ID associated with the sales order for specified customer String refundLines Array of refund lines List Sample Response { "returnOrderId": "106152711271982880", "customerOrderId": "1535274411287", "refundLines": [ { "returnOrderLineNumber": 1 } ] } Inventory Management Maintaining up-to-date inventory for your items on Walmart.com ensures a great experience for your customers and greater sales opportunities for you. For details on how to calculate inventory, refer to the article: https://sellerhelp.walmart.com/seller/s/guide?article=000007887 Download the Inventory Management JSON schemas from the below directory: InventoryJsonSchema.zip Download the Inventory Management XSDs from the below directory: InventoryManagement.zip Get inventory for an item You can use this API to get the inventory for a given item. Version V3 Production URL GET https://marketplace.walmartapis.com/v3/inventory?sku={SKU}&shipNode={shipNode} Sandbox URL GET https://sandbox.walmartapis.com/v3/inventory?sku={SKU}&shipNode={shipNode} Header Parameters For authentication headers please refer Authentication section Name Description Required Example Content-type The data format in the API payload No application/xml or application/json Accept The returned data format in the response Yes application/xml or application/json Query parameters Name Description Required sku A seller-provided Product ID Yes shipNode The shipNode for which the inventory is requested No To get the shipnode refer to Get all fulfillment center. Sample Request Header GET /v3/inventory?sku=86678GHGHGKL&shipNode=91539778610008065 HTTP/1.1 <<Authentication Headers>> Content-Type: application/xml or application/json Accept: application/xml or application/json Host: marketplace.walmartapis.com Response Parameters Name Description Type sku A seller-provided Product ID String quantity Information about the quantity in inventory List Get the fulfillmentLagTime value from Lagtime API Sample Response JSON XML JSONXML { "sku": "1068155", "quantity": { "unit": "EACH", "amount": 2 } } Update inventory for an item Updates the inventory for a given item. Version V3 Production URL PUT https://marketplace.walmartapis.com/v3/inventory?sku={SKU}&shipNode={shipNode} Sandbox URL PUT https://sandbox.walmartapis.com/v3/inventory?sku={SKU}&shipNode={shipNode} Header Parameters For authentication headers please refer Authentication section Name Description Required Example Content-type The data format in the API payload Yes application/xml or application/json Accept The returned data format in the response Yes application/xml or application/json Query Parameters Name Description Required sku An arbitrary alphanumeric unique ID, specified by the seller, identifying each item. This is used by the seller in the XSD file to refer to each item. Special characters hyphen (-), space ( ), and period (.) are not allowed. Yes shipNode The shipNode for which the inventory is to be updated No To get the shipnode refer to Get all fulfillment center. Sample Request Header PUT /v3/inventory?sku=86678GHGHGKL&shipNode=91539778610008065 HTTP/1.1 <<Authentication Headers>> Content-Type: application/xml or application/json Accept: application/xml or application/json Host: marketplace.walmartapis.com Sample Request Body JSON XML JSONXML { "sku": "1068155", "quantity": { "unit": "EACH", "amount": "10" } } Response Parameters Name Description Type sku A seller-provided Product ID String quantity Information about the quantity in inventory List Sample Response JSON XML JSONXML { "sku": "1068155", "quantity": { "unit": "EACH", "amount": 10 } } Update bulk inventory Updates inventory for items in bulk. Refer to the throttling limits before uploading the Feed files. Version V3 Production URL POST https://marketplace.walmartapis.com/v3/feeds?feedType=inventory&shipNode={shipNode} Sandbox URL POST https://sandbox.walmartapis.com/v3/feeds?feedType=inventory&shipNode={shipNode} Header Parameters For authentication headers, refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes multipart/form-data Accept The returned data format in the response Yes application/xml or application/json Query Parameters Name Name Description Required sku sku A seller-provided Product ID Yes shipNode shipNode The shipNode for which the inventory is to be updated No To get the shipnode refer to Get all fulfillment center. Sample Request Header POST /v3/feeds?feedType=inventory&shipNode=91539778610008065 HTTP/1.1 <<Authentication Headers>> Content-Type: multipart/form-data Accept: application/xml or application/json Host: marketplace.walmartapis.com Sample Request JSON XML JSONXML { "InventoryHeader": { "version": "1.4" }, "Inventory": [ { "sku": "1068155", "quantity": { "unit": "EACH", "amount": "10" } }, { "sku": "10210321", "quantity": { "unit": "EACH", "amount": "20" } } ] } Response Parameters Name Description Type feedId A unique ID, returned from the Bulk Upload API, used for tracking a feed file String Sample Response JSON XML JSONXML { "feedId": "FFE538D9B25A4000AD2A067ACEDCF4C4@AUoBAQA" } Get lag time This API allows the retrieval of Lag Time for an item with a given SKU. Lag Time is the number of days between when an item is ordered and when it is shipped. Lag time of two days or more requires approval at the item setup category level. Please refer to the Request Lag Time Exceptions article for more details on this process. Download the Lag Time Exception XSDs from the below directory: xsd/LagTimeException.zip. Download the Lag Time JSON schema from the below directory: xsd/LagTimeException.zip. Version V3 Production HTTP Request GET https://marketplace.walmartapis.com/v3/lagtime?sku={SKU} Sandbox HTTP Request GET https://sandbox.walmartapis.com/v3/lagtime?sku={SKU} Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload No application/xml or application/json Accept The returned data format in the response Yes application/xml or application/json Query Parameters Name Description Default Required sku A seller-provided Product ID. N/A Yes Sample Request Header GET /v3/lagtime?sku={SKU} HTTP/1.1 <<Authentication Headers>> Content-Type: application/xml or application/json Accept: application/xml or application/json Host: marketplace.walmartapis.com Response Parameters Name Description Type sku A seller-provided Product ID. String fulfillmentLagTime The number of days between when the item is ordered and when it is shipped Integer Sample Response JSON XML JSONXML { "sku": "183688", "fulfillmentLagTime": 0 } Update lag time for items in bulk This API allows the update of lag time for items in bulk. Lag Time is the number of days between when an item is ordered and when it is shipped. Lag time of two days or more requires approval at the item setup category level. Please refer to the Request Lag Time Exceptions article for more details on this process. Download the Lag Time Exception XSDs from the below directory: xsd/LagTimeException.zip. Version V3 Production HTTP Request POST https://marketplace.walmartapis.com/v3/feeds?feedType=lagtime Sandbox HTTP Request POST https://sandbox.walmartapis.com/v3/feeds?feedType=lagtime Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes multipart/form-data Accept The returned data format in the response Yes application/xml or application/json Query Parameters Name Description Default Required feedType Use 'lagtime' N/A Yes Request Body The request body consists of a Feed file that is attached to the request. See the Feeds section for more details on how to construct and track feeds. Name Description Type sku A seller-provided Product ID. String fulfillmentLagTime The number of days between when the item is ordered and when it is shipped. Can be either 0, 1, or {blank} Integer Sample Request Header POST /v3/feeds?feedType=lagtime HTTP/1.1 <<Authentication Headers>> Content-Type: multipart/form-data Accept: application/xml or application/json Host: marketplace.walmartapis.com Sample Request Body JSON XML JSONXML { "LagTimeHeader": { "version": "1.0", "feedDate": "2019-06-26T17:16:30.1144Z" }, "lagTime": [{ "sku": "WJ_10W014W3-6", "fulfillmentLagTime": "2" }] } Response Parameters Name Description Type feedId A unique ID, returned from the Bulk Upload API, used for tracking the Feed File. String Sample Response JSON XML JSONXML { "feedId": "E7BB7DBAF3FF461AB63A2169F3BEAADE@AVQBAgA" } Item report Returns all the information associated with Seller's items that are set up on Walmart’s platform. Version V3 Production URL GET https://marketplace.walmartapis.com/v3/getReport?type=item&version={version} Sandbox URL GET https://sandbox.walmartapis.com/v3/getReport?type=item Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload No application/xml Accept The returned data format in the response Yes application/xml Query Parameters Name Description Required version Use this query parameter (version=2) to access the latest version of the item report that includes competitor price data. No Response The data will be streamed in a .CSV file in your folder. The response to a successful call includes a header as an attachment called Content-Disposition. The Content-Disposition header contains the name of the report. As an example, attachment: filename=10000000354_2016-01-15T23:09:54.438 0000.zip. The title includes your partner ID (in this case, 10000000354) and the timestamp when the file was generated. The attachment contains the report in a compressed zip format. The java code example demonstrates the use of the header and the body when processing the response The report is regenerated periodically. We recommend that you not retrieve the report more frequently than once every two hours. Field List Name Description Origin Seller ID The Seller ID on Walmart.com Walmart SKU The Item SKU Seller OFFER START DATE Date at which the item becomes visible on Walmart.com Seller OFFER END DATE Date after which the item becomes invisible on Walmart.com Seller PRICE The current price of the item Seller CURRENCY The currency of the item price Seller PUBLISH STATUS Whether the item is published on Walmart.com Walmart STATUS CHANGE REASON Reason for status change Walmart LIFECYCLE STATUS The offer lifecycle status Walmart INVENTORY COUNT The number of items in stock Seller SHIP METHODS Shipping methods available for each item Seller WPID Unique item identifier Walmart ITEM ID Unique Item ID Walmart PRODUCT NAME The Name of this item Seller PRODUCT CATEGORY The category of this item. This may differ from what was suggested when the item was ingested Walmart GTIN The item's Global Trade Item Number. This may differ from what was suggested when the item was ingested. Walmart UPC The item's Universal Product Code. This may differ from what was suggested when the item was ingested. Walmart PRIMARY IMAGE URL The primary image URL Walmart SHELF NAME Walmart assigned an item shelf Name Walmart PRIMARY CAT PATH The primary item category path on Walmart.com Walmart ITEM CREATION DATE The system timestamp date when an item was created Walmart ITEM LAST UPDATED The system timestamp when an item was updated Walmart ITEM PAGE URL The item page URL Walmart REVIEWS COUNT The total number of customer reviews for the item Walmart AVERAGE RATING An average rating number for an item from customers Walmart SEARCHABLE? Signifies how easy it is to find an item on Walmart.com Walmart COMPETITOR URL Competitor's website URL Walmart COMPETITOR PRICE Competitor's item price Walmart COMPETITOR SHIP PRICE Competitor's price to ship item Walmart COMPETITOR LAST DATE FETCHED Date when the competitor's data was last fetched Walmart **For information regarding status change reasons, refer to the article: https://sellerhelp.walmart.com/seller/s/guide?article=000006417 Sample Request Header GET /v3/getReport?type=item&version=2 HTTP/1.1 <<Authentication Headers>> Content-Type: application/xml Accept: application/xml Host: marketplace.walmartapis.com Sample Response Parsing Code in Java if (response.getStatus() == Response.Status.OK.getStatusCode() && response.hasEntity()) { InputStream inputStream = (InputStream)response.getEntity(); try { String header = response.getHeaderString("Content-Disposition"); if(header != null && !("").equals(header)) { if(header.contains("filename")){ //header value will be something like: //attachment; filename=10000000354_2016-01-15T23:09:54.438 0000.zip int length = header.length(); String fileName = header.substring(header.indexOf("filename="),length); System.out.println("filenameText " fileName); String [] str = fileName.split("="); System.out.println("fileName: " str[1]); //replace "/Users/anauti1/Documents/" below with your values File reportFile = new File("/Users/anauti1/Documents/" str[1].toString()); OutputStream outStream = new FileOutputStream(reportFile); byte[] buffer = new byte[8 * 1024]; int bytesRead; while ((bytesRead = inputStream.read(buffer)) != -1) { outStream.write(buffer, 0, bytesRead); } IOUtils.closeQuietly(inputStream); IOUtils.closeQuietly(outStream); } } } catch (Exception ex){ System.out.print("Exception: " ex.getMessage()); } } Get Buy Box report Returns the Buy Box data for a given item. Version V3 Production URL GET https://marketplace.walmartapis.com/v3/getReport?type=buybox Sandbox URL GET https://sandbox.walmartapis.com/v3/getReport?type=buybox Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload No application/xml Accept The returned data format in the response Yes application/xml Query Parameters Name Description Required feedType Use 'buybox' Yes Sample Request Header GET /v3/getReport?type=buybox HTTP/1.1 <<Authentication Headers>> Content-Type: application/xml Accept: application/xml Host: marketplace.walmartapis.com Response The data will be streamed in a .CSV file in your folder. The response to a successful call includes a header as an attachment called Content-Disposition. The Content-Disposition header contains the name of the report. As an example, attachment: filename=10000000354_2016-01-15T23:09:54.438 0000.zip. The title includes your partner ID (in this case, 10000000354) and the timestamp when the file was generated. The attachment contains the report in a compressed zip format. The java code example demonstrates the use of the header and the body when processing the response. The report is regenerated periodically. We recommend that do not retrieve the report more than once every two hours. Response Parameters Name Description Origin Seller ID The seller ID on Walmart.com Walmart SKU The Item SKU Seller Item ID The item ID on Walmart.com Seller Product Name The name of this item Seller Product Category The category of this item. Seller Seller Name Name of the seller Seller Seller Item Price The price of the item Seller Seller Ship Price The item price that includes shipping Seller isSellerBuyBoxWinner Specifies if a Seller is the BuyBox winner Walmart BuyBox Seller ID The BuyBox Seller ID Walmart BuyBox Item Price The BuyBox item price Walmart BuyBox Ship price The BuyBox price that includes shipping Walmart Offer2 Seller ID The Seller ID for offer 2 Seller Offer2 Item Price The item price for offer 2 Seller Offer2 Ship Price The item price that includes shipping for offer 2 Seller Offer3 Seller ID The Seller ID for offer 2 Seller Offer3 Item Price The item price for offer 2 Seller Offer3 Ship Price The item price that includes shipping for offer 2 Seller Offer4 Seller ID The Seller ID for offer 2 Seller Offer4 Item Price The item price for offer 2 Seller Offer4 Ship Price The item price that includes shipping for offer 2 Seller For each subsequent offer, such as Offer 3, add the Seller Name, Item Price and Ship Price. ** Note: For information regarding status change reasons, refer to the article: https://sellerhelp.walmart.com/seller/s/guide?article=000006417 ** Sample Response Parsing Code in Java if (response.getStatus() == Response.Status.OK.getStatusCode() && response.hasEntity()) { InputStream inputStream = (InputStream)response.getEntity(); try { String header = response.getHeaderString("Content-Disposition"); if(header != null && !("").equals(header)) { if(header.contains("filename")){ //header value will be something like: //attachment; filename=10000000354_2016-01-15T23:09:54.438 0000.zip int length = header.length(); String fileName = header.substring(header.indexOf("filename="),length); System.out.println("filenameText " fileName); String [] str = fileName.split("="); System.out.println("fileName: " str[1]); //replace "/Users/anauti1/Documents/" below with your values File reportFile = new File("/Users/anauti1/Documents/" str[1].toString()); OutputStream outStream = new FileOutputStream(reportFile); byte[] buffer = new byte[8 * 1024]; int bytesRead; while ((bytesRead = inputStream.read(buffer)) != -1) { outStream.write(buffer, 0, bytesRead); } IOUtils.closeQuietly(inputStream); IOUtils.closeQuietly(outStream); } } } catch (Exception ex){ System.out.print("Exception: " ex.getMessage()); } } Get a CAP Item Opt-in file The CAP Item Opt-in file only lists SKUs that are eligible for a competitive price adjustment. If a SKU is not in this report, it is not eligible. If there are no SKUs and report is empty, then none of your items are eligible for price adjustment. If the price displayed and charged to the customer is lower than the price submitted by the Seller for the item, the Seller receives the same payment for the item as if the item’s price was not adjusted. For example, Seller sets the price of its eligible item at $50, with $5 shipping. The price displayed to the customer is $48 with $5 shipping, and the customer is charged $48, with $5 shipping. Seller receives payment for the sale as if the price charged and paid was $50 and $5 shipping. Retrieves a copy of the CAP Item Opt-in file that helps Sellers to get information about all SKUs eligible for Competitive price adjustments. Version V3 Production URL GET https://marketplace.walmartapis.com/v3/getReport?type=cpa Sandbox URL GET https://sandbox.walmartapis.com/v3/getReport?type=cpa Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload No application/xml Accept The returned data format in the response Yes application/xml Query Parameters Name Description Required Type Use 'cpa' to retrieve the competitive price adjustment report Yes Sample Request Header GET /v3/getReport?type=cpa HTTP/1.1 <<Authentication Headers>> Content-Type: application/xml Accept: application/xml Host: marketplace.walmartapis.com Response The data is streamed in a .CSV file in Seller’s folder, see an example below: Figure 1- CAP report (CSV file) The response to a successful call includes a header as an attachment called Content-Disposition. The Content-Disposition header contains the name of the report. As an example, attachment: filename=10000000354_2016-01-15T23:09:54.438 0000.zip. The title includes your partner ID (in this case, 10000000354) and the timestamp when the file was generated. The attachment contains the report in a compressed zip format. Response Parameters Name Description Origin Partner ID Partner ID on Walmart.com Walmart SKU An arbitrary alphanumeric unique ID, assigned by the Seller to each item in the XSD. The SKU is used to filter or retrieve an item. Cannot be more than 50 characters. Special Characters hyphen (-), space ( ) and period (.) are not allowed. Seller SKU OPT IN The opt in status for the SKU Seller PRODUCT NAME The product name on Walmart.com Walmart CURRENCY The currency associated with price and shipment. (e.g., USD for US Dollars) Seller PRICE The item's current price Seller SHIP PRICE The shipping price of the specified item Seller ** Note: All parameters except Partner ID and SKU listed in the above table are for information purpose only and will be ignored during the upload. ** Reconciliation Management Partners can look up available Marketplace reconciliation reports dates by partner ID and download Marketplace reconciliation reports by partner ID and report date. Get available reconciliation report dates This API will list all the available Marketplace reconciliation report dates for the Seller. Version V3 Production URL GET https://marketplace.walmartapis.com/v3/report/reconreport/availableReconFiles Sandbox URL GET https://sandbox.walmartapis.com/v3/report/reconreport/availableReconFiles Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload No application/json Accept The returned data format in the response Yes application/json Sample Request Header GET /v3/report/reconreport/availableReconFiles HTTP/1.1 <<Authentication Headers>> Content-Type: application/json Accept: application/json Host: marketplace.walmartapis.com Response Parameters Name Description Type availableApReportDates All available report dates are returned List Sample Response { "availableApReportDates": [ "07012018", "07032018", "07102018", "07172018", "07242018", "07312018", "08072018", "08142018", "08212018", "08282018" ] } Get reconciliation report to download Seller can download the reconciliation report for a specific date using this API. Dates available to be downloaded can be found by using the Get available reconciliation report dates API. Version V3 Production URL GET https://marketplace.walmartapis.com/v3/report/reconreport/reconFile?reportDate={reportDate} Sandbox URL GET https://sandbox.walmartapis.com/v3/report/reconreport/reconFile?reportDate={reportDate} Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload No application/octetStream Accept The returned data format in the response Yes application/octetStream Query Parameters Name Description Required reportDate The date for which the reconcilation file is available Yes Sample Request Header GET v3/report/reconreport/reconFile?reportDate={reportDate} HTTP/1.1 <<Authentication Headers>> Content-Type: application/octet-stream Accept: application/octet-stream Host: marketplace.walmartapis.com Response Parameters The data will be streamed as a file in your folder. Name Description Type orderId Customer order identifier String lineNumber The line number associated with the details for each individual item in the purchase order Integer purchaseOrderId A unique ID associated with the seller's purchase order Integer transactionType The type of transaction (e.g., SALE or REFUNDED) String transactionDateTime Date of the transaction String Error Handling 404 - File Not Found This means that the cached report was not generated by Walmart. If this error is encountered, perform the following: Verify that there are items in the account, either through a call to Get all items or by using a UI. If there are no items, the 404 response is a valid response. If items do exist, repeat the call after two hours, the file may have been regenerated. If the error persists, contact Walmart Marketplace Support. 500 - Internal Server Error This means an internal error occured. Wait for at least 15 minutes and try again. If the error persists, contact Walmart Marketplace Support. Settings Management Shipnode Management Walmart is making program enhancements to the existing free 2-Day Shipping Program, to enable US marketplace sellers to add multiple fulfillment centers along with capability to manage them and easily configure item assortment setup for 2-Day program. The capability, Fulfillment center management and specification of inventory, will part of the enhancements . These APIs can be integrated with directly or via channel partners that have adopted these changes. These changes can also be accessed via Walmart Seller Center. The APIs use the standard header parameters as with other APIs listed in Developer Portal: Marketplace Settings Program. Download the Shipnode APIs JSON Schema from: MPShipnodeJsonSchema.zip Create a fulfillment center This API creates a fulfillment center. Version V3 Production URL POST https://marketplace.walmartapis.com/v3/settings/shipping/shipnodes Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes application/json Accept The returned data format in the response Yes application/json Request Body Name Description Type shipNodeName Name of the fulfillment center. String status Status of fulfillment center. Allowed values: ACTIVE, INACTIVE.. String timeZone Time zone that the seller ships from.Allowed timezones are PST, EST, CST, MST. String distributorSupportedServices The services supported by the defined physical ship node . The allowed values: TWO_DAY_DELIVERY. String customNodeId Custom node identifier provided by seller. Allowed values are alphanumeric | String String postalAddress Address of the fulfillment center. Object addressLine1 Street address of the fulfillment center. String city City of the fulfillment center. String state State of the fulfillment center. String country Country of the fulfillment center. String postalCode Postal code of the fulfillment center. String shippingDetails Shipping Details. List twoDayShipping Shipping type provided. List carrierMethodName Name of the shipping carrier. Carrier names can be retrieved from the Get carrier methods API. string carrierMethodType Shipping method. String Sample Request Header POST /v3/settings/shipping/shipnodes HTTP/1.1 <<Authentication Headers>> Content-Type: application/json Accept: application/json Host: marketplace.walmartapis.com Sample Request Body { "shipNodeHeader": { "version": "1.2" }, "shipNode": [ { "shipNodeName": "my distrubutor786", "status": "ACTIVE", "timeZone": "PST", "distributorSupportedServices": [ "TWO_DAY_DELIVERY" ], "customNodeId": "92hb1234", "postalAddress": { "addressLine1": "36 CALIFORNIA SAA233", "city": "SC GABRIEL22", "state": "CA", "country": "USA", "postalCode": "90100" }, "shippingDetails": [ { "twoDayShipping": [ { "carrierMethodName": "FEDEX", "carrierMethodType": "GROUND" } ] } ] } ] } Response Parameters Name Description Type shipNode The fulfillment center or ship node Id which uniquely identifies each facility and is autogenerated during the creation of fulfillment center. Every time a facility is added, a new ship node id is generated. String nodeType Defines if the fulfillment center is virtual, seller owned or third party owned. Allowed values: PHYSICAL, VIRTUAL, 3PL. String shipNodeName Name of the fulfillment center. String status Status of fulfillment center. Allowed values: ACTIVE, INACTIVE. String timeZone Time zone that the seller ships from. String distributorSupportedServices The services supported by the defined physical ship node . The allowed values: TWO_DAY_DELIVERY. String customNodeId Custom node identifier provided by seller. Allowed values are alphanumeric | String. String postalAddress Address of the fulfillment center. Object addressLine1 Street address of the fulfillment center. String city City of the fulfillment center. String state State of the fulfillment center. String country Country of the fulfillment center. String postalCode Postal code of the fulfillment center. String shippingDetails Shipping Details. List twoDayShipping Shipping type provided. List carrierMethodName Name of the shipping carrier. string carrierMethodType Shipping method. Allowed Value is GROUND. String Sample Response [ { "shipNode": "91539778610008065", "nodeType": "PHYSICAL", "shipNodeName": "my distrubutor786", "status": "ACTIVE", "timeZone": "PST", "distributorSupportedServices": [ "TWO_DAY_DELIVERY" ], "customNodeId": "92hb1234", "postalAddress": { "addressLine1": "36 CALIFORNIA SAA233", "city": "SC GABRIEL22", "state": "CA", "country": "USA", "postalCode": "90100" }, "shippingDetails": [ { "twoDayShipping": [ { "carrierMethodName": "FEDEX", "carrierMethodType": "GROUND" } ] } ] } ] Get all third party fulfillment providers Get a list of all third party fulfillment providers. Version V3 Production URL GET https://marketplace.walmartapis.com/v3/settings/shipping/3plproviders Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload No application/json Accept The returned data format in the response Yes application/json Sample Request Header GET /v3/settings/shipping/3plproviders HTTP/1.1 <<Authentication Headers>> Content-Type: application/json Accept: application/json Host: marketplace.walmartapis.com Response Parameters Name Description Type shipNode The fulfillment center or ship node Id which uniquely identifies each facility and is autogenerated during the creation of fulfillment center. Every time a facility is added, a new ship node id is generated. String shipNodeName Name of the fulfillment center. String Sample Response [ { "shipNode": "99351656957153281", "shipNodeName": "MP_Deliverr" } ] Create third party fulfillment center This API creates a third party fulfillment center. Version V3 Production URL POST https://marketplace.walmartapis.com/v3/settings/shipping/3plshipnodes Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes application/json Accept The returned data format in the response Yes application/json Request Body Name Description Type shipNode The fulfillment center or ship node which uniquely identifies each facility and is retrieved from the Get all third party fulfillment providers API. String status Status of fulfillment center. Allowed values: ACTIVE, INACTIVE. String Sample Request Header POST /v3/settings/shipping/3plshipnodes HTTP/1.1 <<Authentication Headers>> Content-Type: application/json Accept: application/json Host: marketplace.walmartapis.com Sample Request Body { "shipNodeHeader": { "version": "1.2" }, "shipNode": [ { "shipNode": "99351656957153281", "status": "ACTIVE" } ] } Response Parameters Name Description Type shipNode The fulfillment center or ship node Id which uniquely identifies each facility and is autogenerated during the creation of fulfillment center. Every time a facility is added, a new ship node id is generated. String status Status of fulfillment center. Allowed values: ACTIVE, INACTIVE. String Sample Response [ { "shipNode": "99351656957153281", "status": "ACTIVE" } ] Get carrier methods Gets the available carrier methods Version V3 Production URL GET https://marketplace.walmartapis.com/v3/settings/shipping/carriers Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload No application/json Accept The returned data format in the response Yes application/json Sample Request Header GET /v3/settings/shipping/carriers HTTP/1.1 <<Authentication Headers>> Content-Type: application/json Accept: application/json Host: marketplace.walmartapis.com Response Parameters Name Description Type carrierMethodId Carrier Id String carrierMethodName Carrier Name String carrierMethodType Shipping method. Allowed Value is GROUND. String carrierMethodDescription A description for the method carrier. String Sample Response [ { "carrierMethodId": "1000014", "carrierMethodName": "USPS", "carrierMethodType": "GROUND", "carrierMethodDescription": "USPS for Marketplace" }, { "carrierMethodId": "1000013", "carrierMethodName": "UPS", "carrierMethodType": "GROUND", "carrierMethodDescription": "UPS for Marketplace" }, { "carrierMethodId": "1000012", "carrierMethodName": "FEDEX", "carrierMethodType": "GROUND", "carrierMethodDescription": "Fedex for Marketplace" } ] Get coverage for fulfillment centers This API provides the list of all fullfillment centers for the seller and their coverage areas defined by Walmart based on the address Version V3 Production URL GET https://marketplace.walmartapis.com/v3/settings/shipping/shipnodes/coverage Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload No application/json Accept The returned data format in the response Yes application/json Sample Request Header GET /v3/settings/shipping/shipnodes/coverage HTTP/1.1 <<Authentication Headers>> Content-Type: application/json Accept: application/json Host: marketplace.walmartapis.com Response Parameters Name Description Type shipNode The fulfillment center or ship node Id which uniquely identifies each facility and is autogenerated during the creation of fulfillment center. Every time a facility is added, a new ship node id is generated. String shipNodeName Name of the fulfillment center. String coverageArea Two day shipping regions defined by Walmart for sellers. List For Coverage Areas List, please refer to the Coverage Area section. Sample Response [ { "shipNode": "81087939095695361", "shipNodeName": "Seller test-distributor1", "coverageArea": [] }, { "shipNode": "79112975786049537", "shipNodeName": "Seller test-distributor2", "coverageArea": [ "AR1", "AR2", "CA1", "AR3", "PA4", "CA3", "CA2" ] }, { "shipNode": "79114105970622465", "shipNodeName": "Seller test-distributor3", "coverageArea": [ "PA2", "PA1", "NY1" ] }, { "shipNode": "80359164518989825", "shipNodeName": "Seller test-distributor4", "coverageArea": [] } ] Get all fullfillment centers This API provides a list of all the fullfillment centers Version V3 Production URL GET https://marketplace.walmartapis.com/v3/settings/shipping/shipnodes Header Parameters For authentication headers please refer Authentication section Name Description Required Example Content-type The data format in the API payload No application/json Accept The returned data format in the response Yes application/json Sample Request Header GET /v3/settings/shipping/shipnodes HTTP/1.1 <<Authentication Headers>> Content-Type: application/json Accept: application/json Host: marketplace.walmartapis.com Response Parameters Name Description Type shipNode The fulfillment center or ship node Id which uniquely identifies each facility and is autogenerated during the creation of fulfillment center. Every time a facility is added, a new ship node id is generated. String nodeType Defines if the fulfillment center is virtual, seller owned or third party owned. Allowed values: PHYSICAL, VIRTUAL, 3PL. String shipNodeName Name of the fulfillment center. String status Status of fulfillment center. Allowed values: ACTIVE, INACTIVE. String timeZone Time zone that the seller ships from. String distributorSupportedServices The services supported by the defined physical ship node . The allowed values: TWO_DAY_DELIVERY. String customNodeId Custom node identifier provided by seller. Allowed values are alphanumeric | String. String postalAddress Address of the fulfillment center. Object addressLine1 Street address of the fulfillment center. String city City of the fulfillment center. String state State of the fulfillment center. String country Country of the fulfillment center. String postalCode Postal code of the fulfillment center. String shippingDetails Shipping Details. List twoDayShipping Shipping type provided. List carrierMethodName Name of the shipping carrier. string carrierMethodType Shipping method. Allowed Value is GROUND. String Sample Response [ { "shipNode": "99351656957153281", "nodeType": "3PL", "shipNodeName": "MP_Deliverr", "status": "INACTIVE", "timeZone": "EST", "distributorSupportedServices": [ "TWO_DAY_DELIVERY" ], "postalAddress": { "addressLine1": "110 Sutter St. Fl 9", "city": "San Francisco", "state": "CA", "country": "USA", "postalCode": "94104" }, "shippingDetails": [ { "twoDayShipping": [ { "carrierMethodName": "3PL_CARRIER", "carrierMethodType": "GROUND" } ] } ] }, { "shipNode": "84955660770217985", "nodeType": "PHYSICAL", "shipNodeName": "Seller test-distributor", "status": "INACTIVE", "timeZone": "PST", "distributorSupportedServices": [ "TWO_DAY_DELIVERY" ], "customNodeId": "91ab1234", "postalAddress": { "addressLine1": "111 CALIFORNIA SA", "city": "SC GABRIEL", "state": "CA", "country": "USA", "postalCode": "90706" }, "shippingDetails": [ { "twoDayShipping": [ { "carrierMethodName": "FEDEX", "carrierMethodType": "GROUND" } ] } ] } ] Update a fulfillment center This API enables or disables a fullfillment center. Version V3 Production URL PUT https://marketplace.walmartapis.com/v3/settings/shipping/shipnodes Header Parameters For authentication headers please refer Authentication section Name Description Required Example Content-type The data format in the API payload Yes application/json Accept The returned data format in the response Yes application/json Request Parameters Name Description Type shipNodeName Name of the fulfillment center. String status Status of fulfillment center. Allowed values: ACTIVE, INACTIVE.. String timeZone Time zone that the seller ships from.Allowed timezones are PST, EST, CST, MST. String distributorSupportedServices The services supported by the defined physical ship node . The allowed values: TWO_DAY_DELIVERY. String customNodeId Custom node identifier provided by seller. Allowed values are alphanumeric | String String postalAddress Address of the fulfillment center. Object addressLine1 Street address of the fulfillment center. String city City of the fulfillment center. String state State of the fulfillment center. String country Country of the fulfillment center. String postalCode Postal code of the fulfillment center. String shippingDetails Shipping Details. List twoDayShipping Shipping type provided. List carrierMethodName Name of the shipping carrier. Carrier names can be retrieved from the Get carrier methods API. string carrierMethodType Shipping method. String Sample Request Header PUT /v3/settings/shipping/shipnodes HTTP/1.1 <<Authentication Headers>> Content-Type: application/json Accept: application/json Host: marketplace.walmartapis.com Sample Request Body { "shipNodeHeader": { "version": "1.2" }, "shipNode": { "shipNode": "84955660770217985", "shipNodeName": "Seller test-distributor", "status": "ACTIVE", "timeZone": "PST", "distributorSupportedServices": [ "TWO_DAY_DELIVERY" ], "customNodeId": "91ab1234", "postalAddress": { "addressLine1": "111 CALIFORNIA SA", "city": "SC GABRIEL", "state": "CA", "country": "USA", "postalCode": "90706" }, "shippingDetails": [ { "twoDayShipping": [ { "carrierMethodName": "FEDEX", "carrierMethodType": "GROUND" } ] } ] } } Response Parameters Name Description Type shipNode The fulfillment center or ship node Id which uniquely identifies each facility and is autogenerated during the creation of fulfillment center. Every time a facility is added, a new ship node id is generated. String nodeType Defines if the fulfillment center is virtual, seller owned or third party owned. Allowed values: PHYSICAL, VIRTUAL, 3PL. String shipNodeName Name of the fulfillment center. String status Status of fulfillment center. Allowed values: ACTIVE, INACTIVE. String timeZone Time zone that the seller ships from. String distributorSupportedServices The services supported by the defined physical ship node . The allowed values: TWO_DAY_DELIVERY. String customNodeId Custom node identifier provided by seller. Allowed values are alphanumeric | String. String postalAddress Address of the fulfillment center. Object addressLine1 Street address of the fulfillment center. String city City of the fulfillment center. String state State of the fulfillment center. String country Country of the fulfillment center. String postalCode Postal code of the fulfillment center. String shippingDetails Shipping Details. List twoDayShipping Shipping type provided. List carrierMethodName Name of the shipping carrier. string carrierMethodType Shipping method. Allowed Value is GROUND. String Sample Response { "shipNode": "84955660770217985", "nodeType": "PHYSICAL", "shipNodeName": "Seller test-distributor", "status": "ACTIVE", "timeZone": "PST", "distributorSupportedServices": [ "TWO_DAY_DELIVERY" ], "customNodeId": "91ab1234", "postalAddress": { "addressLine1": "111 CALIFORNIA SA", "city": "SC GABRIEL", "state": "CA", "country": "USA", "postalCode": "90706" }, "shippingDetails": [ { "twoDayShipping": [ { "carrierMethodName": "FEDEX", "carrierMethodType": "GROUND" } ] } ] } Coverage Areas Overview These are all Walmart allowed two day shipping regions for sellers. Download the Coverage Area details from: RegionMappingTable.xlsx Rules Management Shipping Rules Management Walmart is making program enhancements to the existing free 2-Day Shipping Program, to enable US marketplace sellers to add multiple fulfillment centers along with capability to manage them and easily configure item assortment setup for 2-Day program. The capabilty ,Item assortment rules for 2-Day program setup, will part of the enhancements: Create rules for items based on filter conditions like price, weight, category and then apply actions to specify the 2 Day coverage areas, sub regions. Simulate the rule to preview the items impacted and then activate the rule to easily manage assortment for 2-Day setup. Total number of rules activated total number of rules Inactivated total number of active rules deleted = 5 per day. These APIs can be integrated with directly or via channel partners that have adopted these changes. These changes can also be accessed via Walmart Seller Center. The APIs use the standard header parameters as with other APIs listed in Developer Portal: . The following diagram explains the Custom Assortment Journey Download the Rules APIs JSON Schema from: RulesJsonSchema.zip Create an item rule This API is used to create a rule by selecting any combination of conditions for Sub-category, Price and Weight. Use "Get All Sub-Categories" API to get the list of subcategories. Use sub-categories in condition, if you want to put all the sku's of a sub-category on two day. Once the rule is created, you can use "Get Simulation Result" API to get the number of items to be affected by the rule. Version V3 Production HTTP URL POST https://marketplace.walmartapis.com/v3/rules/create Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes application/json Accept The returned data format in the response Yes application/json Sample Request Header POST /v3/rules/create HTTP/1.1 <<Authentication Headers>> Content-Type: application/json Accept: application/json Host: marketplace.walmartapis.com Request Parameters Name Description Type name Name of the rule created for custom rule assortment. String description Description of the rule created for custom rule assortment. String priority Priority of the rule created for custom rule assortment. String conditions Seller creates conditions while defining the custom rule assortment.There are three condition which a seller can use : subCategories, price, weight. List -name Name of the condition. String -operator Seller uses operator while defining conditions in the rule. Operators allowed for condition price and weight: EQUALS, GREATER_THAN, LESS_THAN,GREATER_THAN_OR_EQUALS,LESS_THAN_OR_EQUALS. and for condition subcategories : IN . String -value Values for each condition. Value can be a comma separated strings for subcategories and numerical value for price and weight. String Sample Request Body { "ruleHeader": { "version": "1.2" }, "rules": { "name": "testing-new-501", "description": "testing-new-501", "priority": "832", "conditions": [ { "name": "price", "operator": "EQUALS", "value": "20" }, { "name": "subCategories", "operator": "IN", "value": "571fdff7208f9a0cdb760a7f,56f2eb65208f9a0612c3adbd" } ] } } Response Parameters Name Description Type conditions Seller creates conditions while defining the custom rule assortment.There are three condition which a seller can use : subCategories, price, weight. List -name Name of the condition. String -operator Seller uses operator while defining conditions in the rule. Operators allowed for condition price and weight: EQUALS, GREATER_THAN, LESS_THAN,GREATER_THAN_OR_EQUALS,LESS_THAN_OR_EQUALS. and for condition subcategories : IN . String -value Values for each condition. Value can be a comma separated strings for subcategories and Integer value for Price. String description Description of the rule created for custom rule assortment. String name Name of the rule created for custom rule assortment. String priority Priority of the rule created for custom rule assortment. String ruleAction Defines the two day state coverage areas. String ruleId Unique identifier of the rule created for custom rule assortment. String ruleStatus Status of the rule post the rule creation. Allowed values are Active, Inactive, Submitted. String skuProcessingStatus When the rule gets activated, skuProcessingStatus represents the state of all items being processed for two-day. The two values for skuProcessingStatus are Processing and Completed. String Sample Response { "rules": [ { "conditions": [ { "name": "price", "operator": "EQUALS", "value": "20" }, { "name": "subCategories", "operator": "IN", "value": "571fdff7208f9a0cdb760a7f,56f2eb65208f9a0612c3adbd" } ], "description": "testing-new-501", "name": "testing-new-501", "priority": "832", "ruleAction": null, "ruleId": "511", "ruleStatus": "Submitted", "skuProcessingStatus": null } ], "status": "SUCCESS" } Get all rules This API retrieves the details of all the rules defined using "create an Item rule" API. Version V3 Production URL GET https://marketplace.walmartapis.com/v3/rules Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Accept The returned data format in the response Yes application/json Response Parameters Name Description Type conditions Seller creates conditions while defining the custom rule assortment.There are three condition which a seller can use : subCategories, price, weight. List -name Name of the condition. String -operator Seller uses operator while defining conditions in the rule. Operators allowed for condition price and weight: EQUALS, GREATER_THAN, LESS_THAN,GREATER_THAN_OR_EQUALS,LESS_THAN_OR_EQUALS. and for condition subcategories : IN . String -value Values for each condition. Value can be a comma separated strings for subcategories and Integer value for Price. String description Description of the rule created for custom rule assortment. String name Name of the rule created for custom rule assortment. String priority Priority of the rule created for custom rule assortment. String ruleAction Defines the two day state coverage areas. String twoDayShippingRegions List of two-day regions. List -regionCode regionCode String -subRegions subRegions List -subRegionCode subRegionCode String ruleId Unique identifier of the rule created for custom rule assortment. String ruleStatus Status of the rule post the rule creation. Allowed values are Active, Inactive, Submitted. String skuProcessingStatus When the rule gets activated, skuProcessingStatus represents the state of all items being processed for two-day. The two values for skuProcessingStatus are Processing and Completed. String Sample Request Header GET /v3/rules HTTP/1.1 <<Authentication Headers>> Accept: application/json Host: marketplace.walmartapis.com Sample Response { "rules": [ { "conditions": [ { "name": "weight", "operator": "LESS_THAN", "value": "10" }, { "name": "subCategories", "operator": "IN", "value": "559c5d924fff3d64de18bf45,559c5d8f4fff3d64de18bf3d" } ], "description": null, "name": "Test rule Issue2", "priority": "6", "ruleAction": null, "ruleId": "565", "ruleStatus": "Active", "skuProcessingStatus": "Success" }, { "conditions": [ { "name": "subCategories", "operator": "IN", "value": "559c5d924fff3d64de18bf45" } ], "description": null, "name": "njnjn", "priority": "10", "ruleAction": { "twoDayShippingRegions": [ { "regionCode": "NE", "subRegions": [ { "subRegionCode": "RI" }, { "subRegionCode": "ME1" }, { "subRegionCode": "ME2" }, { "subRegionCode": "NH" }, { "subRegionCode": "NY3" }, { "subRegionCode": "NY1" }, { "subRegionCode": "NY5" }, { "subRegionCode": "NY2" }, { "subRegionCode": "NY4" }, { "subRegionCode": "NJ3" }, { "subRegionCode": "NJ4" }, { "subRegionCode": "NJ1" }, { "subRegionCode": "NJ2" }, { "subRegionCode": "VT" } ] } ] }, "ruleId": "602", "ruleStatus": "Active", "skuProcessingStatus": "Processing" } ], "status": "success" } Get a rule Retrieves a rule detail for a specific ruleId and ruleStatus. Version V3 Production URL GET https://marketplace.walmartapis.com/v3/rules/{ruleId}/status/{ruleStatus} Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Accept The returned data format in the response Yes application/json URL Parameters Name Description Type ruleId Unique identifier of the rule created for custom rule assortment. String ruleStatus Status of the rule post the rule creation. Allowed values are Active, Inactive, Submitted. String Sample Request Header GET /v3/rules/{ruleId}/status/{ruleStatus} HTTP/1.1 <<Authentication Headers>> Accept: application/json Host: marketplace.walmartapis.com Response Parameters Name Description Type conditions Seller creates conditions while defining the custom rule assortment. List -name There are three condition which a seller can use : subCategories, price, weight. String -operator Seller uses operator while defining conditions in the rule. Operators allowed for condition price and weight: EQUALS, GREATER_THAN, LESS_THAN,GREATER_THAN_OR_EQUALS,LESS_THAN_OR_EQUALS. and for condition subcategories : IN . String -value Values for each condition. Value can be a comma separated strings for subcategories and Integer value for Price. String description Description of the rule created for custom rule assortment. String name Name of the rule created for custom rule assortment. String priority Priority of the rule created for custom rule assortment. String ruleAction Defines the two day state coverage areas. String twoDayShippingRegions List of two-day regions. List -regionCode regionCode String -subRegions subRegions String -subRegionCode subRegionCode String ruleId Unique identifier of the rule created for custom rule assortment. String ruleStatus Status of the rule post the rule creation. Allowed values are Active, Inactive, Submitted. String skuProcessingStatus When the rule gets activated, skuProcessingStatus represents the state of all items being processed for two-day. The two values for skuProcessingStatus are Processing and Completed. String Sample Response { "rules": [ { "conditions": [ { "name": "price", "operator": "IN", "value": "20" }, { "name": "subCategories", "operator": "IN", "value": "559c5d924fff3d64de18bf45" } ], "description": "testing-new-501", "name": "testing-new-501", "priority": "832", "ruleAction": { "twoDayShippingRegions": [ { "regionCode": "NE", "subRegions": [ { "subRegionCode": "CT2" }, { "subRegionCode": "CT1" }, { "subRegionCode": "PA1" } ] } ] }, "ruleId": "511", "ruleStatus": "Submitted", "skuProcessingStatus": null } ], "status": "success" } Get simulation result You can use this API to get the count of items shortlisted for two-day shipping for a specific rule defined by ruleId and ruleStatus. Version V3 Production URL GET https://marketplace.walmartapis.com/v3/rules/{ruleId}/status/{ruleStatus}/simulationcount Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Accept The returned data format in the response Yes application/json URL Parameters Name Description Type ruleId Unique identifier of the rule created for custom rule assortment. String ruleStatus Status of the rule post the rule creation. Allowed values are Active, Inactive, Submitted. String Sample Request Header GET /v3/rules/{ruleId}/status/{ruleStatus}/simulationcount HTTP/1.1 <<Authentication Headers>> Accept: application/json Host: marketplace.walmartapis.com Response Parameters Name Description Type ruleId Unique identifier of the rule created for custom rule assortment. String ruleStatus Status of the rule post the rule creation. Allowed values are Active, Inactive, Submitted. String simulationCount Number of items that would be set for two-day if the rule gets activated. String Sample Response { "ruleId": "677", "ruleStatus": "Active", "simulationCount": "0" } Download simulation result You can use this API to get the details of items shortlisted for two-day shipping for a specific rule defined by ruleId and ruleStatus. Version V3 Production URL GET https://marketplace.walmartapis.com/v3/rules/{ruleId}/status/{ruleStatus}/simulation Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes application/json Accept The returned data format in the response Yes application/json URL Parameters Name Description Type ruleId Unique identifier of the rule created for custom rule assortment. String ruleStatus Status of the rule post the rule creation. Allowed values are Active, Inactive, Submitted. String Sample Request Header GET /v3/rules/{ruleId}/status/{ruleStatus}/simulation HTTP/1.1 <<Authentication Headers>> Content-Type: application/json Accept: application/json Host: marketplace.walmartapis.com Response Downloads a CSV with all the data related to skus Update shipping area to rules This API helps you define coverage areas for your items that are held outside of the fulfillment centers defined by your shipNode management API's. Use "Get Areas" API to provide list of states in the action part. Version V3 Production URL PUT https://marketplace.walmartapis.com/v3/rules/actions Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes application/json Accept The returned data format in the response Yes application/json Sample Request Header PUT /v3/rules/actions HTTP/1.1 <<Authentication Headers>> Content-Type: application/json Accept: application/json Host: marketplace.walmartapis.com Request Parameters Name Description Type ruleId Unique identifier of the rule created for custom rule assortment. String ruleStatus Status of the rule post the rule creation. Allowed values are Active, Inactive, Submitted. String ruleAction Defines the two day state coverage areas. Object twoDayShippingRegions List of two-day regions. List -regionCode regionCode String -subRegions regionCode List -subRegionCode subRegionCode String Sample Request Body { "ruleHeader": { "version": "1.2" }, "rules": { "ruleId": "612", "ruleStatus": "Submitted", "actions": [ { "twoDayShippingRegions": [ { "regionCode": "NE", "subRegions": [ { "subRegionCode": "NY1" }, { "subRegionCode": "NY2" } ] } ] } ] } } Response Parameters Name Description Type conditions Seller creates conditions while defining the custom rule assortment.There are three condition which a seller can use : subCategories, price, weight. List -name Name of the condition. String operator Seller uses operator while defining conditions in the rule. Example of operators : LESS THAN, GREATER THAN, GREATER THAN EQUAL etc. String value Values for each condition. Value can be a comma separated strings for subcategories and Integer value for Price. String name Name of the rule created for custom rule assortment. String description Description of the rule created for custom rule assortment. String priority Priority of the rule created for custom rule assortment. String actions Defines the two day state coverage areas. List twoDayShippingRegions List of two-day regions. List -regionCode regionCode String -subRegions subRegions List -subRegionCode subRegionCode String ruleId Unique identifier of the rule created for custom rule assortment. String ruleStatus Status of the rule post the rule creation. Allowed values are Active, Inactive, Submitted. String skuProcessingStatus When the rule gets activated, skuProcessingStatus represents the state of all items being processed for two-day. The two values for skuProcessingStatus are Processing and Completed. String For Coverage Areas List, please refer to the Coverage Area section. Sample Response { "rules": [ { "conditions": [ { "name": "price", "operator": "EQUALS", "value": "20" }, { "name": "subCategories", "operator": "IN", "value": "571fdff7208f9a0cdb760a7f,56f2eb65208f9a0612c3adbd" } ], "description": "testing-new-510", "name": "testing-new-510", "priority": "21", "ruleAction": { "twoDayShippingRegions": [ { "regionCode": "NE", "subRegions": [ { "subRegionCode": "NY1" }, { "subRegionCode": "NY2" } ] } ] }, "ruleId": "612", "ruleStatus": "Submitted", "skuProcessingStatus": null } ], "status": "OK" } Activate rule This API is used to activate a rule for a specific ruleId and ruleStatus. Only Rules which are in submitted and inactive state can be activated. Version V3 Production URL PUT https://marketplace.walmartapis.com/v3/rules/activate Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes application/json Accept The returned data format in the response Yes application/json Request Body Name Description Type ruleId Unique identifier of the rule created for custom rule assortment. String ruleStatus Status of the rule post the rule creation. Allowed values are Active, Inactive, Submitted. String Sample Request Header PUT /v3/rules/activate HTTP/1.1 <<Authentication Headers>> Content-Type: application/json Accept: application/json Host: marketplace.walmartapis.com Sample Request Body { "ruleHeader": { "version": "1.2" }, "rules": [ { "ruleId": "39", "ruleStatus": "Submitted" }, { "ruleId": "44", "ruleStatus": "Inactive" } ] } Response Parameters Name Description Type message Message and ruleId List Sample Response { "message": "Rules are activated: [39, 44]", "status":"Success" } Update rule “This API updates a rule defined using "create an Item rule". You can update priority, Description, conditions and name of a rule. a.An update to a rule with ruleStatus as “Active” or “Inactive “ will create a new rule with same ruleId but ruleStatus as Submitted. You must check using get all Rules API. b.An update to a rule with ruleStatus as “Submitted” will not create any new rule. You must check using get all Rules API. Version V3 Production URL PUT https://marketplace.walmartapis.com/v3/rules Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes application/json Accept The returned data format in the response Yes application/json Request Body Name Description Type ruleId Unique identifier of the rule created for custom rule assortment. String ruleStatus Status of the rule post the rule creation. Allowed values are Active, Inactive, Submitted. String name Name of the rule created for custom rule assortment. String description Description of the rule created for custom rule assortment. String priority Priority of the rule created for custom rule assortment. String conditions Seller creates conditions while defining the custom rule assortment.There are three condition which a seller can use : subCategories, price, weight. List -name Name of the condition. String -operator Seller uses operator while defining conditions in the rule. Operators allowed for condition price and weight: EQUALS, GREATER_THAN, LESS_THAN,GREATER_THAN_OR_EQUALS,LESS_THAN_OR_EQUALS. and for condition subcategories : IN . String -value Values for each condition. Value can be a comma separated strings for subcategories and Integer value for Price. String Sample Request Header PUT /v3/rules HTTP/1.1 <<Authentication Headers>> Content-Type: application/json Accept: application/json Host: marketplace.walmartapis.com Sample Request Body { "ruleHeader": { "version": "1.2" }, "rules": [ { "ruleId": "511", "ruleStatus": "Submitted", "name": "testing-new-501", "description": "testing-new-501", "priority": "832", "conditions": [ { "name": "subCategories", "operator": "IN", "value": "571fdff7208f9a0cdb760a7f,56f2eb65208f9a0612c3adbd" } ] } ] } Response Parameters Name Description Type conditions Seller creates conditions while defining the custom rule assortment.There are three condition which a seller can use : subCategories, price, weight. List -name Name of the condition. String -operator Seller uses operator while defining conditions in the rule. Operators allowed for condition price and weight: EQUALS, GREATER_THAN, LESS_THAN,GREATER_THAN_OR_EQUALS,LESS_THAN_OR_EQUALS. and for condition subcategories : IN . String -value Values for each condition. Value can be a comma separated strings for subcategories and Integer value for Price. String description Description of the rule created for custom rule assortment. String name Name of the rule created for custom rule assortment. String priority Priority of the rule created for custom rule assortment. String ruleAction Defines the two day state coverage areas. String twoDayShippingRegions List of two-day regions. List -regionCode regionCode String -subRegions subRegions List -subRegionCode subRegionCode String ruleId Unique identifier of the rule created for custom rule assortment. String ruleStatus Status of the rule post the rule creation. Allowed values are Active, Inactive, Submitted. String skuProcessingStatus When the rule gets activated, skuProcessingStatus represents the state of all items being processed for two-day. The two values for skuProcessingStatus are Processing and Completed. String Sample Response { "rules": [ { "conditions": [ { "name": "subCategories", "operator": "IN", "value": "571fdff7208f9a0cdb760a7f,56f2eb65208f9a0612c3adbd" } ], "description": "testing-new-501", "name": "testing-new-501", "priority": "832", "ruleAction": { "twoDayShippingRegions": [ { "regionCode": "NE", "subRegions": [ { "subRegionCode": "CT2" }, { "subRegionCode": "CT1" }, { "subRegionCode": "PA1" } ] } ] }, "ruleId": "511", "ruleStatus": "Submitted", "skuProcessingStatus": null } ], "status": "SUCCESS" } Delete rule This API is used to delete a rule for a specific ruleId and ruleStatus. Version V3 Production HTTP URL DELETE https://marketplace.walmartapis.com/v3/rules/{ruleId}/status/{ruleStatus} Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes application/json Accept The returned data format in the response Yes application/json URL Parameters Name Description Type ruleId Unique identifier of the rule created for custom rule assortment. String ruleStatus Status of the rule post the rule creation. Allowed values are Active, Inactive, Submitted. String Sample Request Header DELETE /v3/rules/{ruleId}/status/{ruleStatus} HTTP/1.1 <<Authentication Headers>> Content-Type: application/json Accept: application/json Host: marketplace.walmartapis.com Response Parameters Name Description Type message Message and status of deletion List Sample Response { "status": "SUCCESS", "message": "Rule is deleted, ruleId: 327" } Inactivate rule You can use this API to inactivate one or more rules for a specific ruleId and ruleStatus.Only rules which are in Activate state can be inactivated. Version V3 Production URL PUT https://marketplace.walmartapis.com/v3/rules/inactivate Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes application/json Accept The returned data format in the response Yes application/json Request Body Name Description Type ruleId Unique identifier of the rule created for custom rule assortment. String ruleStatus Status of the rule post the rule creation. Allowed values are Active, Inactive, Submitted. String Sample Request Header PUT /v3/rules/inactivate HTTP/1.1 <<Authentication Headers>> Content-Type: application/json Accept: application/json Host: marketplace.walmartapis.com Sample Request Body { "ruleHeader": { "version": "1.2" }, "rules": [ { "ruleId": "39", "ruleStatus": "Submitted" }, { "ruleId": "44", "ruleStatus": "Active" } ] } Response Parameters Name Description Type message Message and status of inactivation of rule List Sample Response { "message": "Rules are inactivated: [39, 44]", "status":"SUCCESS" } Create override exceptions This API is used if any SKU is required to be removed from Two-day delivery settings Version V3 Production URL POST https://marketplace.walmartapis.com/v3/rules/exceptions Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes application/json Accept The returned data format in the response Yes application/json Request Body Name Description Type sku A seller-provided Product ID. String Sample Request Header POST /v3/rules/exceptions HTTP/1.1 <<Authentication Headers>> Content-Type: application/json Accept: application/json Host: marketplace.walmartapis.com Sample Request Body { "ruleHeader": { "version": "1.2" }, "rules": { "skus": [ { "sku": "sku-1234" }, { "sku": "sku-2323" } ] } } Response Parameters Name Description Type feedId A unique ID, returned from the Create Override Exception API, used for tracking a feed file String Sample Response { "feedId": "5ED712C698FD43B999EC5EEFD5C63655@ATgBAQA", "status": "OK" } Delete exceptions This API is used to bring back any SKU to Two-day Delivery settings. Version V3 Production URL PUT https://marketplace.walmartapis.com/v3/settings/rules/exceptions Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes application/json Accept The returned data format in the response Yes application/json Request Body Name Description Type sku A seller-provided Product ID. String Sample Request Header PUT /v3/settings/rules/exceptions HTTP/1.1 <<Authentication Headers>> Content-Type: application/json Accept: application/json Host: marketplace.walmartapis.com Sample Request Body { "ruleHeader": { "version": "1.2" }, "rules": { "skus": [ { "sku": "sku-1234" }, { "sku": "sku-2323" } ] } } Response Parameters Name Description Type feedId A unique ID, returned from the Create Override Exception API, used for tracking a feed file String Sample Response { "feedId": "5ED712C698FD43B999EC5EEFD5C63655@ATgBAQA", "status": "OK" } Gets all exceptions This API retrieves all the items which has been defined as exceptions using "Create Override Exception" API. Version V3 Production URL GET https://marketplace.walmartapis.com/v3/rules/exceptions Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Accept The returned data format in the response Yes application/json Sample Request Header GET /v3/rules/exceptions HTTP/1.1 <<Authentication Headers>> Accept: application/json Host: marketplace.walmartapis.com Response Parameters Name Description Type sku A seller-provided Product ID. String Sample Response { "skuIds": ["123456", "789065"], "status":"SUCCESS" } Download exceptions You can use this API to get list of the items defined using "Create Override Exceptions". Version V3 Production URL GET https://marketplace.walmartapis.com/v3/rules/downloadexceptions Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes application/json Accept The returned data format in the response Yes application/json Sample Request Header GET /v3/rules/downloadexceptions HTTP/1.1 <<Authentication Headers>> Content-Type: application/json Accept: application/json Host: marketplace.walmartapis.com Response Downloads a CSV with all the exceptions set. Get all sub-categories This API provides the complete list of sub-categories which can be used while defining the rule. Version V3 Production URL GET https://marketplace.walmartapis.com/v3/rules/subcategories Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Accept The returned data format in the response Yes application/json Sample Request Header GET /v3/rules/subcategories HTTP/1.1 <<Authentication Headers>> Accept: application/json Host: marketplace.walmartapis.com Response Parameters Name Description Type category category String subCategory subCategory String subCategoryName subCategoryName String subCategoryId subCategoryId String Sample Response { "status": "SUCCESS", "payload": [ { "category": "Animal", "subcategory": [ { "subCategoryName": "Animal Accessories", "subCategoryId": "559c5d924fff3d64de18bf45" }, { "subCategoryName": "Animal Food", "subCategoryId": "559c5d8f4fff3d64de18bf3d" }, { "subCategoryName": "Animal Health & Grooming", "subCategoryId": "559c5d90ed25b136f13a05df" }, { "subCategoryName": "Animal Other", "subCategoryId": "56f2eb66208f9a06158f1748" } ] }, { "category": "Art & Craft", "subcategory": [ { "subCategoryName": "Art & Craft", "subCategoryId": "571fdff7208f9a0cdb760a7f" } ] } ] } Change assortment type This API helps you enable or disable the two-day assortment type. Version V3 Production URL PUT https://marketplace.walmartapis.com/v3/rules/assortment?enable={enable} Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Content-type The data format in the API payload Yes application/json Accept The returned data format in the response Yes application/json Sample Request Header PUT /v3/rules/assortment?enable={enable} HTTP/1.1 <<Authentication Headers>> Content-Type: application/json Accept: application/json Host: marketplace.walmartapis.com Response Parameters Name Description Type id Unique identifier of the rule created for custom rule assortment. String Sample Response { "status": "OK", "payload": { "id": "366efe47-61cc-4493-978a-6bab0604f78e" } } Get all areas This API provides you the list of states on which you can provide two-day shipping of an item. Version V3 Production URL GET https://marketplace.walmartapis.com/v3/rules/areas Header Parameters For authentication headers, please refer to the Authentication section. Name Description Required Example Accept The returned data format in the response Yes application/json Sample Request Header GET /v3/rules/areas HTTP/1.1 <<Authentication Headers>> Accept: application/json Host: marketplace.walmartapis.com Response Parameters Name Description Type status Status of the rule post the rule creation. String states states. Object stateSubregions statesubregions List stateSubregionCode stateSubregionCode String stateSubregionName stateSubregionName String regionCode regionCode String regionName regionName String Sample Response { "status": "OK", "payload": { "entities": [ { "states": [ { "stateSubregions": [ { "stateSubregionCode": "CT1", "stateSubregionName": "CT_REST_ALL" }, { "stateSubregionCode": "CT2", "stateSubregionName": "CT_SOUTH_WEST" } ] }, { "stateSubregions": [ { "stateSubregionCode": "PA3", "stateSubregionName": "PA_NORTH_EAST" }, { "stateSubregionCode": "PA1", "stateSubregionName": "PA_CENTRAL" }, { "stateSubregionCode": "PA2", "stateSubregionName": "PA_CENTRAL_NORTH" }, { "stateSubregionCode": "PA5", "stateSubregionName": "PA_WEST" }, { "stateSubregionCode": "PA4", "stateSubregionName": "PA_SOUTH" } ] }, { "stateSubregions": [ { "stateSubregionCode": "MA1", "stateSubregionName": "MA_EAST" }, { "stateSubregionCode": "MA2", "stateSubregionName": "MA_WEST" } ] }, { "stateSubregions": [ { "stateSubregionCode": "RI", "stateSubregionName": "RI" } ] }, { "stateSubregions": [ { "stateSubregionCode": "ME1", "stateSubregionName": "ME_EAST" }, { "stateSubregionCode": "ME2", "stateSubregionName": "ME_WEST" } ] }, { "stateSubregions": [ { "stateSubregionCode": "NH", "stateSubregionName": "NH" } ] }, { "stateSubregions": [ { "stateSubregionCode": "NY3", "stateSubregionName": "NY_NORTH_CENTRAL" }, { "stateSubregionCode": "NY5", "stateSubregionName": "NY_SOUTH" }, { "stateSubregionCode": "NY1", "stateSubregionName": "NY_BROOKLYN" }, { "stateSubregionCode": "NY2", "stateSubregionName": "NY_CENTRAL" }, { "stateSubregionCode": "NY4", "stateSubregionName": "NY_NORTH_WEST" } ] }, { "stateSubregions": [ { "stateSubregionCode": "NJ3", "stateSubregionName": "NJ_SOUTH" }, { "stateSubregionCode": "NJ2", "stateSubregionName": "NJ_NORTH" }, { "stateSubregionCode": "NJ4", "stateSubregionName": "NJ_KEARNY" }, { "stateSubregionCode": "NJ1", "stateSubregionName": "NJ_CENTRAL" } ] }, { "stateSubregions": [ { "stateSubregionCode": "VT", "stateSubregionName": "VT" } ] } ], "regionCode": "NE", "regionName": "Northeast" }, { "states": [ { "stateSubregions": [ { "stateSubregionCode": "SD2", "stateSubregionName": "SD_WEST" }, { "stateSubregionCode": "SD1", "stateSubregionName": "SD_EAST" } ] }, { "stateSubregions": [ { "stateSubregionCode": "MN2", "stateSubregionName": "MN_REST_ALL" }, { "stateSubregionCode": "MN1", "stateSubregionName": "MN_CENTRAL_EAST" } ] }, { "stateSubregions": [ { "stateSubregionCode": "MO3", "stateSubregionName": "MO_WEST" }, { "stateSubregionCode": "MO1", "stateSubregionName": "MO_EAST" }, { "stateSubregionCode": "MO2", "stateSubregionName": "MO_SOUTH" } ] }, { "stateSubregions": [ { "stateSubregionCode": "WI2", "stateSubregionName": "WI_WEST" }, { "stateSubregionCode": "WI1", "stateSubregionName": "WI_EAST" } ] }, { "stateSubregions": [ { "stateSubregionCode": "IL1", "stateSubregionName": "IL_CHICAGO" }, { "stateSubregionCode": "IL3", "stateSubregionName": "IL_NORTH_WEST" }, { "stateSubregionCode": "IL4", "stateSubregionName": "IL_SOUTHEAST" }, { "stateSubregionCode": "IL5", "stateSubregionName": "IL_SOUTHWEST" }, { "stateSubregionCode": "IL2", "stateSubregionName": "IL_NORTH_EAST" } ] }, { "stateSubregions": [ { "stateSubregionCode": "IN1", "stateSubregionName": "IN_CENTRAL_AND_EAST" }, { "stateSubregionCode": "IN3", "stateSubregionName": "IN_SOUTH" }, { "stateSubregionCode": "IN2", "stateSubregionName": "IN_NORTH" }, { "stateSubregionCode": "IN4", "stateSubregionName": "IN_WEST" } ] }, { "stateSubregions": [ { "stateSubregionCode": "ND", "stateSubregionName": "ND" } ] }, { "stateSubregions": [ { "stateSubregionCode": "NE", "stateSubregionName": "NE" } ] }, { "stateSubregions": [ { "stateSubregionCode": "IA1", "stateSubregionName": "IA_CENTRAL" }, { "stateSubregionCode": "IA2", "stateSubregionName": "IA_REST" } ] }, { "stateSubregions": [ { "stateSubregionCode": "KS1", "stateSubregionName": "KS_EAST" }, { "stateSubregionCode": "KS2", "stateSubregionName": "KS_WEST" } ] }, { "stateSubregions": [ { "stateSubregionCode": "OH3", "stateSubregionName": "OH_SOUTH_EAST" }, { "stateSubregionCode": "OH1", "stateSubregionName": "OH_CENTRAL" }, { "stateSubregionCode": "OH2", "stateSubregionName": "OH_NORTH" }, { "stateSubregionCode": "OH4", "stateSubregionName": "OH_WEST" } ] }, { "stateSubregions": [ { "stateSubregionCode": "MI2", "stateSubregionName": "MI_NORTH" }, { "stateSubregionCode": "MI3", "stateSubregionName": "MI_SOUTH_EAST" }, { "stateSubregionCode": "MI1", "stateSubregionName": "MI_CENTRAL" } ] } ], "regionCode": "MW", "regionName": "Midwest" }, { "states": [ { "stateSubregions": [ { "stateSubregionCode": "DE", "stateSubregionName": "DE" } ] }, { "stateSubregions": [ { "stateSubregionCode": "TX2", "stateSubregionName": "TX_CENTRAL_NORTH" }, { "stateSubregionCode": "TX3", "stateSubregionName": "TX_CENTRAL_WEST" }, { "stateSubregionCode": "TX6", "stateSubregionName": "TX_NORTH_EAST" }, { "stateSubregionCode": "TX7", "stateSubregionName": "TX_NORTH_WEST" }, { "stateSubregionCode": "TX4", "stateSubregionName": "TX_DALLAS" }, { "stateSubregionCode": "TX5", "stateSubregionName": "TX_HOUSTON" }, { "stateSubregionCode": "TX1", "stateSubregionName": "TX_CENTRAL" }, { "stateSubregionCode": "TX9", "stateSubregionName": "TX_SOUTH_EAST" }, { "stateSubregionCode": "TX8", "stateSubregionName": "TX_SOUTH" }, { "stateSubregionCode": "TX10", "stateSubregionName": "TX_SOUTH_WEST" } ] }, { "stateSubregions": [ { "stateSubregionCode": "FL6", "stateSubregionName": "FL_SOUTH_WEST" }, { "stateSubregionCode": "FL4", "stateSubregionName": "FL_NORTH" }, { "stateSubregionCode": "FL3", "stateSubregionName": "FL_MIAMI" }, { "stateSubregionCode": "FL1", "stateSubregionName": "FL_CENTRAL_EAST" }, { "stateSubregionCode": "FL5", "stateSubregionName": "FL_SOUTH_EAST" }, { "stateSubregionCode": "FL2", "stateSubregionName": "FL_CENTRAL_WEST" } ] }, { "stateSubregions": [ { "stateSubregionCode": "MS2", "stateSubregionName": "MS_SOUTH" }, { "stateSubregionCode": "MS1", "stateSubregionName": "MS_NORTH" } ] }, { "stateSubregions": [ { "stateSubregionCode": "VA4", "stateSubregionName": "VA_SOUTH_WEST" }, { "stateSubregionCode": "VA1", "stateSubregionName": "VA_CENTRAL" }, { "stateSubregionCode": "VA2", "stateSubregionName": "VA_NORTH" }, { "stateSubregionCode": "VA3", "stateSubregionName": "VA_SOUTH_EAST" } ] }, { "stateSubregions": [ { "stateSubregionCode": "AL2", "stateSubregionName": "AL_SOUTH" }, { "stateSubregionCode": "AL1", "stateSubregionName": "AL_NORTH" } ] }, { "stateSubregions": [ { "stateSubregionCode": "KY1", "stateSubregionName": "KY_EAST" }, { "stateSubregionCode": "KY2", "stateSubregionName": "KY_WEST" } ] }, { "stateSubregions": [ { "stateSubregionCode": "SC1", "stateSubregionName": "SC_CENTRAL" }, { "stateSubregionCode": "SC2", "stateSubregionName": "SC_NORTH" }, { "stateSubregionCode": "SC3", "stateSubregionName": "SC_SOUTH" } ] }, { "stateSubregions": [ { "stateSubregionCode": "AR2", "stateSubregionName": "AR_WEST" }, { "stateSubregionCode": "AR1", "stateSubregionName": "AR_EAST" } ] }, { "stateSubregions": [ { "stateSubregionCode": "NC3", "stateSubregionName": "NC_SOUTH" }, { "stateSubregionCode": "NC2", "stateSubregionName": "NC_NORTH" }, { "stateSubregionCode": "NC4", "stateSubregionName": "NC_WEST" }, { "stateSubregionCode": "NC1", "stateSubregionName": "NC_EAST" } ] }, { "stateSubregions": [ { "stateSubregionCode": "LA2", "stateSubregionName": "LA_SOUTH" }, { "stateSubregionCode": "LA1", "stateSubregionName": "LA_NORTH" } ] }, { "stateSubregions": [ { "stateSubregionCode": "MD1", "stateSubregionName": "MD_CENTRAL" }, { "stateSubregionCode": "MD2", "stateSubregionName": "MD_REST_ALL" } ] }, { "stateSubregions": [ { "stateSubregionCode": "TN3", "stateSubregionName": "TN_WEST" }, { "stateSubregionCode": "TN2", "stateSubregionName": "TN_EAST" }, { "stateSubregionCode": "TN1", "stateSubregionName": "TN_CENTRAL" } ] }, { "stateSubregions": [ { "stateSubregionCode": "GA5", "stateSubregionName": "GA_SOUTH" }, { "stateSubregionCode": "GA2", "stateSubregionName": "GA_CENTRAL" }, { "stateSubregionCode": "GA3", "stateSubregionName": "GA_NORTH_EAST" }, { "stateSubregionCode": "GA4", "stateSubregionName": "GA_NORTH_WEST" }, { "stateSubregionCode": "GA1", "stateSubregionName": "GA_ATLANTA" } ] }, { "stateSubregions": [ { "stateSubregionCode": "OK2", "stateSubregionName": "OK_REST_ALL" }, { "stateSubregionCode": "OK1", "stateSubregionName": "OK_NORTH_EAST" } ] }, { "stateSubregions": [ { "stateSubregionCode": "DC", "stateSubregionName": "DC" } ] }, { "stateSubregions": [ { "stateSubregionCode": "WV2", "stateSubregionName": "WV_WEST" }, { "stateSubregionCode": "WV1", "stateSubregionName": "WV_EAST" } ] } ], "regionCode": "SO", "regionName": "South" }, { "states": [ { "stateSubregions": [ { "stateSubregionCode": "WY", "stateSubregionName": "WY" } ] }, { "stateSubregions": [ { "stateSubregionCode": "OR2", "stateSubregionName": "OR_NORTH_WEST" }, { "stateSubregionCode": "OR1", "stateSubregionName": "OR_CENTRAL" } ] }, { "stateSubregions": [ { "stateSubregionCode": "MT", "stateSubregionName": "MT" } ] }, { "stateSubregions": [ { "stateSubregionCode": "NV2", "stateSubregionName": "NV_NORTH" }, { "stateSubregionCode": "NV3", "stateSubregionName": "NV_SOUTH" }, { "stateSubregionCode": "NV1", "stateSubregionName": "NV_LAS_VEGAS" } ] }, { "stateSubregions": [ { "stateSubregionCode": "AZ3", "stateSubregionName": "AZ_SOUTH" }, { "stateSubregionCode": "AZ2", "stateSubregionName": "AZ_PHOENIX" }, { "stateSubregionCode": "AZ1", "stateSubregionName": "AZ_NORTH" } ] }, { "stateSubregions": [ { "stateSubregionCode": "WA", "stateSubregionName": "WA" } ] }, { "stateSubregions": [ { "stateSubregionCode": "ID2", "stateSubregionName": "ID_NORTH_AND_EAST" }, { "stateSubregionCode": "ID1", "stateSubregionName": "ID_BOISE_AND_NAMPA" } ] }, { "stateSubregions": [ { "stateSubregionCode": "CO2", "stateSubregionName": "CO_REST_ALL" }, { "stateSubregionCode": "CO1", "stateSubregionName": "CO_CENTRAL" } ] }, { "stateSubregions": [ { "stateSubregionCode": "CA8", "stateSubregionName": "CA_NORTH" }, { "stateSubregionCode": "CA10", "stateSubregionName": "CA_RIVERSIDE_IMPERIAL\t" }, { "stateSubregionCode": "CA4", "stateSubregionName": "CA_CENTRAL_WEST" }, { "stateSubregionCode": "CA5", "stateSubregionName": "CA_LONG_BEACH" }, { "stateSubregionCode": "CA1", "stateSubregionName": "CA_CENTRAL" }, { "stateSubregionCode": "CA9", "stateSubregionName": "CA_ONTARIO" }, { "stateSubregionCode": "CA13", "stateSubregionName": "CA_SAN_DIEGO_COUNTY" }, { "stateSubregionCode": "CA11", "stateSubregionName": "CA_SAN_BERNARDINO" }, { "stateSubregionCode": "CA15", "stateSubregionName": "CA_SANTA_ANA" }, { "stateSubregionCode": "CA14", "stateSubregionName": "CA_SAN_FRANCISCO" }, { "stateSubregionCode": "CA3", "stateSubregionName": "CA_CENTRAL_SOUTH" }, { "stateSubregionCode": "CA12", "stateSubregionName": "CA_SAN_DIEGO" }, { "stateSubregionCode": "CA2", "stateSubregionName": "CA_CENTRAL_NORTH" }, { "stateSubregionCode": "CA7", "stateSubregionName": "CA_LOS_ANGELES_VENTURA_COUNTY" }, { "stateSubregionCode": "CA6", "stateSubregionName": "CA_LOS_ANGELES" } ] }, { "stateSubregions": [ { "stateSubregionCode": "NM2", "stateSubregionName": "NM_REST_ALL" }, { "stateSubregionCode": "NM1", "stateSubregionName": "NM_CENTRAL" } ] }, { "stateSubregions": [ { "stateSubregionCode": "UT2", "stateSubregionName": "UT_SOUTH" }, { "stateSubregionCode": "UT1", "stateSubregionName": "UT_NORTH" } ] } ], "regionCode": "WE", "regionName": "West" } ] } } Errors Error Codes If an API call cannot reach the Walmart gateway, a basic HTTP error code is returned (such as 503 Service Unavailable). However, if the gateway is reached, a full error response object is returned. The table below shows the currently supported error code responses. The first parameter provides the error description. The second parameter shows the HTTP status code. The third parameter specifies the error category. The fourth parameter specifies the error severity. The fifth parameter specifies whether the error response includes a field tag. Error Code HTTP Status Category Severity Field Included SOME_CONTENT_NOT_FOUND 206 Application Info false INVALID_REQUEST 400 Data Error true INVALID_REQUEST_HEADER 400 Data Error true INVALID_REQUEST_PARAM 400 Data Error true INVALID_REQUEST_CONTENT 400 Data Error true MISSING_REQUEST_HEADER 400 Data Error true MISSING_REQUEST_PARAM 400 Data Error true MALFORMED_REQUEST_CONTENT 400 Data Error true UNAUTHORIZED 401 Data Error false FORBIDDEN.GMP_GATEWAY_API 403 Data Error false CONTENT_NOT_FOUND 404 Application Info false URI_NOT_FOUND 404 Data Error false METHOD_NOT_ALLOWED 405 Data Error false INVALID_ACCEPT_TYPE 406 Application Error false UNSUPPORTED_MEDIA_TYPE 415 Data Error false RESOURCE_IS_LOCKED.GMP_RECEIVER_API 423 Application Error false REQUEST_THRESHOLD_VIOLATED 429 Request Error false INVALID_SYSTEM_STATE 500 System Error false SYSTEM_ERROR 500 System Error false DOWNSTREAM_SYSTEM_TIME_OUT 504 System Error false As an example, in the last error object on the right, the overall error is an INVALID_REQUEST_HEADER error encountered when invoking the GMP_ORDER_API. The error is a DATA ERROR in the WM_QOS.CORRELATION_ID field (a request header), and it is set to null or blank.
About
The Walmart Marketplace APIs help generate applications for managing items, orders, prices, promotions, inventory, and reports on Walmart.com
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published