I’ve been working with a client that wants to sell their products on Walmart.com. Working with the Walmart API has been a real challenge so far.
First off, Walmart provides no test environment. Want to test your item upload process? You upload items to the live site – better hope customers don’t find it and buy it before you’re ready. Want to test your order processing? You’ll have to get on Walmart.com, find one of your items, and place a live order. Who designs a system that doesn’t allow for testing?
Walmart doesn’t allow updating one item via their API. Instead, you have to build a batch of items to update and then send that batch (which they call a “feed”). Walmart has three different feeds for adding/updating an item, updating the quantity, and updating the price. Walmart, however, does not necessarily process those feeds in the order you send them. Have a new item and you want to update the price and quantity? You have to do the add, wait, wait, wait for Walmart to process that feed, and then send the price and quantity feed. Otherwise Walmart might process the price feed first and reject it all because the items don’t yet exist.
Have you managed to work out all your bugs while on a live site? Have you made sure you’re submitting feeds in a timely fashion? Do you think things will now go smoothly? Nope! Walmart might reject your feed for any number of reasons.
Sometimes Walmart just doesn’t feel like processing your feed. No reason or explanation, just rejected:
Or maybe Walmart will like some of the items in your feed, but won’t like other items. Again, no real reason for this. You can sometimes resubmit the item and Walmart will take it:
Sometimes Walmart rejects your item for unexpected and unexplained reasons:
Sometimes Walmart rejects your item because it is feeling a little glitchy:
Sometimes Walmart rejects your item because it is a little busy:
Update 8/17/17: One very good thing about Walmart is that their customer support is strong. Emails we send get replies. Issues we bring up have been fixed in a timely manner. So while it was a bumpy road getting here, we’ve gotten all our products on Walmart and things are running smoothly.
Update 9/18/17: Here’s a fun error message:
Wonder which field it might be? Contacting support, they say it’s the product title. I replied that it can’t be – we’ve got several thousand items with titles longer than that. They reply, nope, impossible, has to be product title. It ended up being the model number field.
Update 10/5/17: Out of the blue, we went from 350k products live on Walmart to 160k live products. After some hectic emails with support, we got a vague “our pricing routines changed” answer. It seems Walmart thinks our prices aren’t competitive. They won’t tell you who they compare to or how much a price difference matters – just that price is a problem.
We spent two weeks looking into it, comparing our prices to Amazon/EBay/etc. Looking at different prices, wondering if Walmart is comparing Apples to Apples.
Then today we’re suddenly back to 350k live products. We didn’t change anything.
Update 3/14/18: Suddenly none of our orders on Walmart are acknowledged. None of our shipping information is being uploaded. Frantically rushing around trying to figure out why our code is not working – my code is fine, it’s Walmart’s API that is suddenly not working. We email support, they say “Yep, it’s on our end. We’re working on it.” We check after 8 hours, still not working. 24 hours, still not working. 48 hours, suddenly working again. They didn’t bother to tell us they had fixed it.