Marketplaces / Walmart / Walmart Product Management / Walmart Price Update

Walmart Price Update

Summary of Changes: (The purpose of this table is to keep traceability and Product team to highlight the things that were changed into the scope, based on comments or discussions)

Version Date Created / Updated Notes
v1.0 N/A Danail First publish

The purpose of this page is to outline and detail how specific pricing updates are to be handled on Walmart

API Docs: https://developer.walmart.com/doc/us/mp/us-mp-price/ & https://developer.walmart.com/api/us/mp/price

Suggested call use: POST https://marketplace.walmartapis.com/v3/feeds

Feed Type: price

JSON Schema:

PriceJSON.zip

Below can be found an example payload for price adjustment followed by internal mapping

{
  "PriceHeader": {
    "version": "1.7"
  },
  "Price": [
    {
      "sku": "30348_KFTest",
      "pricing": [
        {
          "currentPrice": {
            "currency": "USD",
            "amount": 3
          },
          "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
          }
        }
      ]
    }
  ]
}

Mapping

Walmart Field Hemi Mapping Notes
PriceHeader N/A
version N/A Hardcoded “1.7”
Price N/A
sku Product > SKU
pricing N/A
currentPrice N/A
currency Account > Exchange Rate Calculator Currency
amount Product Account > StartPrice
currentPriceType Product Account Walmart > Price Reduction Type

OR Account Walmart > Price Reduction Type | New field in both tables. There are 4 options to use which can be selected both on item level or for the whole account as a default. If we have RRP filled in on a product but don’t have the Price Reduction Type on the item_account_walmart we are to pick the value from the account_walmart field. If there is no such filled in value anywhere we are to threat the product as there is no RRP on it Enum values: • Clearance • Reduced • Base Note: There are two more options based on the Walmart documentation but they don’t seem to be available in the Price schemas so we will exclude them at this point (SubMAP Cart, SubMAP Checkout) | | | | comparisonPriceType | | N/A | Hardcoded “BASE” | | | | comparisonPrice | | N/A | | | | | | currency | Product Account > Currency | | | | | | amount | Product Account > RRP | |

There is no specific schema for the standard price update on Walmart and it seems there are two ways to also handle “promotions” - through the standard bulk price update, as suggested above or through the “promotion” bulk feed which is an XML with a slightly different structure (see a bit more info in the Additional section below). Based on the information captured within Walmart’s documentation we should threat RRP the following way:

  • Always aim to provide all fields
  • If RRP is below the StartPrice (including empty field), send StartPrice as “comparisonPrice” and use “REDUCED” as currentPriceType Note: If Price Reduction Type is not specified in Hemi we are hitting this case as we are generally treating this case as there is “no promotion” set on the product, hence we want to use only the StartPrice
  • The timestamp from the headers is pretty important as based on it there will be potential preference of price updates if they are coming from different sources
  • <v1.1> Walmart do not guarantee price will be correctly processed within 24 hours of the product creation on their platform so the recommended wait time post a product successful creation for sending a price update is 24 hours. So we need to implement a logic :

    • Once the product is created, we need to fill the timestamp of the creation in Product > Product Status Date Updated **and then if we try to send a price update in less than 24h** since product creation, we should return an internal error stating that product was created in less than 24h and price update is not possible. -Once the 24h have passed, we should be able to send unlimited price updates.

-If the **Product > Product Status Date Updated is empty, we consider that the product was created directly on Walmart and we should treat it as normal, which means we should be able to send price updates. </v1.1.>**

  • Walmart allow for multiple prices to be sent to the same SKU within the same feed but they do not guarantee at this point which will be picked. This should not be a valid case for us but wanted to make sure we have it as info too

Promotions - There is nothing too special about promotions but what is already in the standard price feed. The structure is different and there are a few more fields that can be added for exact specification (amount reduction, % reduction, etc.). The biggest difference seems to be the option to send “promoID” and promotion effective dates. This seems to be allowing us to schedule promotions beforehand (up to 10 on an item through the API with a max end date within the next 365 days).

At this point we don’t want to incorporate Walmart’s own promotions within our flow as this might need a change in what we are currently doing as a standard to ensure promotions are updated and ended on time if/where needed. Still for more information please see below resources:

API Docs: https://developer.walmart.com/doc/us/mp/us-mp-promotion/ & https://developer.walmart.com/api/us/mp/promotion#operation/getPromotionalPrices

Knowledgeable: https://sellerhelp.walmart.com/seller/s/guide?article=000006414

BulkPriceFeed.xsd

(the xsd is coming from a general price update zip but my take on it is it is tailored towards the promotion call)

Is this article helpful?
0 0 0