Nearsighted Penguin March

    walmart-mws

    0.0.3 • Public • Published

    Walmart Marketplace SDK

    This is a wrapper sdk around the Walmart Marketplace API. To used this sdk you will need an developer account with the ClientId and ClientSecret keys.

    Table of Contents

    Installation

    npm install walmart-mws

    Configuration

    var walmartMws = require('walmart-mws')(
        'WAL_CLIENT_ID',
        'WAL_SECRET_KEY', 
        'HOST', 
        'VERSION', 
        'NAME'
    );

    Feeds

    Get Feed Status

    Returns the feed status for a specified Feed ID.

    Available Parameters:

    Name Type Required Default
    feedId String Yes
    includeDetails Boolean No false
    limit Number No 50
    offset Number No 0

    Usage:

    try {
        const result = await walmartMws.feeds.getFeedStatus('5EF8AB43C8B949EAA6DFCDE98FCB3017@AQkBCgB');
    } catch (error) {    
    }

    Response:

    {    
        feedDate:1596738014958
        feedId:'5EF8AB43C8B949EAA6DFCDE98FCB3017@AQkBCgB'
        feedSource:'SELLER'
        feedStatus:'PROCESSED'
        feedType:'inventory'
        itemDataErrorCount:1
        itemsFailed:1
        itemsProcessing:0
        itemsReceived:5118
        itemsSucceeded:5117
        itemSystemErrorCount:0
        itemTimeoutErrorCount:0
        modifiedDtm:1596738053539
        orgId:'8744aa2f-3a1f-4e37-8a99-1bef6567f92e'
        partnerId:'10000010921'
    }

    Get All Feed Status

    Returns the feed statuses for all the specified Feed IDs.

    Available Parameters:

    Name Type Required Default
    feedId String No
    limit Number No 50
    offset Number No 0

    Usage:

    try {
        const result = await walmartMws.feeds.getAllFeedStatus();
    } catch (error) {    
    }

    Response:

    {
        totalResults: 2,
        offset: 0,
        limit: 50,
        results: {
            feed: [
                {
                    feedDate:1596738014958
                    feedId:'5EF8AB43C8B949EAA6DFCDE98FCB3017@AQkBCgB'
                    feedSource:'SELLER'
                    feedStatus:'PROCESSED'
                    feedType:'inventory'
                    itemDataErrorCount:1
                    itemsFailed:1
                    itemsProcessing:0
                    itemsReceived:5118
                    itemsSucceeded:5117
                    itemSystemErrorCount:0
                    itemTimeoutErrorCount:0
                    modifiedDtm:1596738053539
                    orgId:'8744aa2f-3a1f-4e37-8a99-1bef6567f92e'
                    partnerId:'10000010921'
                },
                {
                   ...
                }
            ]
        }
    }

    Items

    Get All Items

    Displays a list of all items.

    Available Parameters:

    Name Type Required Default
    nextCursor String No
    sku String No
    limit Number No 20
    offset Number No 0
    lifecycleStatus String No
    publishedStatus String No

    Usage:

    try {
        const result = await walmartMws.items.getAllItems();
    } catch (error) {    
    }

    Response:

    {
        ItemResponse: [
            {
                gtin:'00192339211111'
                lifecycleStatus:'ACTIVE'
                mart:'WALMART_US'
                price:{currency: 'USD', amount: 20.21}
                productName:'Product Name'
                productType:'Product Type'
                publishedStatus:'UNPUBLISHED'
                shelf:["Home Page","Sports & Outdoors","Sports","Golf Equipment","Golf Clothing","Women's Golf Shorts"]
                sku:'192339252042022'
                unpublishedReasons:{
                    reason: [
                        "Reason 1", "Reason 2"
                    ]
                }
                upc:'192339252042022'
                wpid:'0RCN8JI3SKJY'
            },
            {
                ...
            }
        ],
        nextCursor:'AoE/GjBSQ1MyQjJHV1BWODBTRUxMRVJfT0ZGRVJERDhGODVEM0U2ODU0RDRDOEQ2MDAwQTI4MzQzMDhDMw=='
        totalItems:100
    }

    Get Item Details

    Retrieves an item and displays the item details

    Available Parameters:

    Name Type Required Default
    sku String Yes

    Usage:

    try {
        const result = await walmartMws.items.getItem('192339252042022');
    } catch (error) {    
    }

    Response:

    {
        gtin:'00192503120223'
        lifecycleStatus:'ACTIVE'
        mart:'WALMART_US',
        price: {
            amount:40.12
            currency:'USD'
        },
        productName:'Product name',
        productType:'Product type'
        publishedStatus:'PUBLISHED'
        shelf: [ 
            "Shelf1",
            "Shelf2",
        ],
        sku:'192503120222'
        upc:'192503120222'
        wpid:'3MH4ITZKQ2A3'
    }

    Get Taxonomy

    The Taxonomy API exposes the category taxonomy that Walmart.com uses to categorize items. It describes the Departments, Categories, and Subcategories levels available on Walmart.com. You can specify the exact category as a parameter when using any of the following APIs:

    • Search
    • Data feeds
    • Special feeds, to includePre-order, Best Sellers, Rollbacks, Clearance, and Special Buys

    For example, you can restrict the Search API to search within a category by supplying the ID through the taxonomy. Similarly, you can use the Feed API to download category-specific feeds by specifying a category ID.

    Available Parameters:

    Name Type Required Default
    category String Yes
    subcategory String No
    subcategoryName String No
    subcategoryId String No

    Usage:

    try {
        const result = await walmartMws.items.getTaxonomy('Search');
    } catch (error) {    
    }

    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 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.

    Available Parameters:

    Name Type Required Default
    sku String Yes

    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.

    try {
        const result = await walmartMws.items.retireItem('97964898989');
    } catch (error) {    
    }

    Response:

    {
      sku: "97964898989",
      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.

    Available Parameters:

    Name Type Required Default
    feedType String Yes
    file String Yes

    Usage:

    try {
        const result = await walmartMws.items.bulkRetireItem('RETIRE_ITEM', file);
    } catch (error) {    
    }

    Response:

    {
      feedId: "F129C19240844B97A3C6AD8F1A2C4997@AU8BAQA",
      additionalAttributes: null,
      errors: null
    }

    Promotions

    Promotional Prices

    Retrieves a list of promotional prices for a single SKU.

    Available Parameters:

    Name Type Required Default
    sku String Yes

    Usage:

    try {
        const result = await walmartMws.promotions.getPromotionalPrices('97964787878');
    } catch (error) {    
    }

    Response:

    {
        status: "OK",
        header: {
          headerAttributes: null
        },
        payload: {
          itemIdentifier: {
            sku: "97964787878"
          },
          pricingList: {
            pricing: [
              {
                currentPrice: {
                  value: {
                    value: null,
                    currency: "USD",
                    amount: 4.00
                  },
                  uomType: null,
                  minValue: null,
                  maxValue: null,
                  perUnitValue: null,
                  minUnitValue: null,
                  maxUnitValue: null
                },
                currentPriceType: "REDUCED",
                comparisonPrice: {
                  value: {
                    value: null,
                    currency: "USD",
                    amount: 4.00
                  },
                  uomType: null,
                  minValue: null,
                  maxValue: null,
                  perUnitValue: null,
                  minUnitValue: null,
                  maxUnitValue: null
                },
                comparisonPriceType: "BASE",
                savingsAmount: 0.00,
                savingsPercent: 0.00,
                priceDisplayCodes: {
                  isRollback: false,
                  isStrikethrough: true,
                  isReducedPrice: true,
                  isClearance: false,
                  hidePriceForSOI: null,
                  isEligibleForAssociateDiscount: null,
                  submapType: null
                },
                effectiveDate: 1572774597943,
                expirationDate: 1575366597943,
                promoId: "ce9dfbce-4043-442c-8cb9-77d39d0f727f",
                processMode: null
              }
            ],
            replaceAll: false
          },
          maxSalesRetailPrice: null,
          minAdvtPrice: null,
          rebate: null
        }
      }

    Update 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.

    Available Parameters:

    Name Type Required Default
    promo Boolean Yes
    data Object Yes

    let data = {
        sku: "97964_KFTest",
        pricing: [{
          currentPrice: {
            currency: "USD",
            amount: 4
          },
          currentPriceType: "REDUCED",
          comparisonPriceType: "BASE",
          comparisonPrice: {
            currency: "USD",
            amount: 4
          },
          priceDisplayCodes: "CART",
          effectiveDate: "2019-11-03T09:49:57.943Z",
          expirationDate: "2019-12-03T09:49:57.943Z",
          processMode: "UPSERT"
        }]
    }

    Usage:

    try {
        const result = await walmartMws.promotions.updatePromotionalPrice(true, data)
    } catch (error) {    
    }

    Sample of Response

    {
        PriceHeader: {
          version: "1.7"
        },
        Price: [{
          sku: "30348_KFTest",
          pricing: [{
            currentPrice: {
              currency: "USD",
              amount: 4
            },
            currentPriceType: "REDUCED",
            comparisonPriceType: "BASE",
            comparisonPrice: {
              currency: "USD",
              amount: 4
            },
            priceDisplayCodes: "CART",
            effectiveDate:"2019-11-09T21:29:39.420Z",
            expirationDate:"2019-12-09T21:29:39.420Z",
            processMode: "DELETE"
          }]
        }]
    }

    Inventory

    Get Item Inventory

    Return the inventory for a given item

    Available Parameters:

    Name Type Required Default
    sku String Yes

    Usage:

    try {
        const result = await walmartMws.inventory.getItemInventory('192503120522');
    } catch (error) {    
    }

    Response:

    {
        sku:'192503120522',
        quantity:{
            unit: 'EACH', 
            amount: 30
        }
    }

    Update Item Inventory

    Updates the inventory for a given item.

    Available Parameters:

    Name Type Required Default
    sku String Yes
    data Object Yes

    Usage:

    let data = {
        sku:'192503120522',
        quantity:{
            unit: 'EACH', 
            amount: 0
        }
    };
    try {
        const result = await walmartMws.inventory.updateItemInventory('192503120522', data);
    } catch (error) {    
    }

    Response:

    {
        sku:'192503120522',
        quantity:{
            unit: 'EACH', 
            amount: 0
        }
    }

    Dependencies

    Package Version
    axios 0.19.2
    moment 2.27.0
    querystring 0.2.0

    Next Features

    Prices:

    • Updates the regular price for a given item.
    • 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.

    Commission Adjustment Program:

    • Set up the SKU opt-in/opt-out for an individual item.
    • Global opt-in/opt-out for all items.

    Reports:

    • Returns all the information associated with Seller's items that are set up on Walmart’s platform.
    • Returns the Buy Box data for a given item.
    • Get a CAP Item Opt-in file
    • Item Performance Report

    Reconciliation Management:

    • Get available reconciliation report dates.
    • Get reconciliation report to download.
    • Return Item Overrides Report.

    Issues

    Open New Issue

    License

    License

    Donation

    If this project help you reduce time to develop, you can give me a cup of coffee :)

    paypal

    Install

    npm i walmart-mws

    DownloadsWeekly Downloads

    1

    Version

    0.0.3

    License

    MIT

    Unpacked Size

    33.4 kB

    Total Files

    16

    Last publish

    Collaborators

    • drbarzaga