Blog

Software tips, techniques, and news.

FileMaker Walmart Integration

Walmart is the largest retailer in the world with $485.9 billion in total revenue in 2017, and reaches over 100 million users a month on Walmart.com. This makes Walmart a useful tool to expand your customer base. And with FileMaker, you can streamline the process of working with Walmart.com by integrating your FileMaker app with Walmart Marketplace.

youtube-preview

Becoming a Partner with Walmart

Before you can connect your FileMaker app with Walmart, you must first have an account. The onboarding process for Walmart Marketplace is free; however it requires you to be approved based on a series of questions about your business. After you submit your application, Walmart will review it and will let you know if you qualify to be a partner and they will give you a sellers account. From there, you will be able to start integrating with the Marketplace API.

Getting your Keys to the API

Once you are a Walmart partner, the first step of the integration is to generate and obtain your API keys. Go to the Developer Center and select your account. From here you will be able to navigate to the API Keys page.

FileMaker Walmart Developer CenterFrom the API Keys page, you will see your Client ID and Client Secret (if either of these are empty, or you would like them changed, click the Reset Client Id and Client Secret button). You will then need to copy these to use later. Keep the secret in a safe place as this is essentially your password and should not be shared with anyone else. As of September 27th, 2018, Walmart has upgraded their authentication methods to use a token-based authentication vs the signature-based method. This greatly simplifies the authentication while still maintaining a high level of security, so you will want to make sure you grab the right information.

FileMaker Walmart API Keys

Authentication

Once you have your API information, you will need to authenticate your solution with Walmart Marketplace API. At a high level, in order to authenticate your solution, you will need to get the token by using an Insert from URL with token address and the correct cURL information.

Set Variable [ $url ; Value: "https://marketplace.walmartapis.com/v3/token" ]
Set Variable [ $data ; Value: "grant_type=client_credentials" ]
Set Variable [ $auth ; Value: Base64Encode ( $clientID & ":" & $clientSecret ) ]
Set Variable [ $cURL ; Value: "-X POST" & ¶ &
                "-H \"Accept: application/json\"" & ¶ &
                "-H \"Authorization: Basic " & $auth & "\"" & ¶ &
                "-H \"Content-Type: application/x-www-form-urlencoded\"" & ¶ &
                "-H \"WM_QOS.CORRELATION_ID: " & $randomString & "\"" & ¶ &
                "-H \"WM_SVC.NAME: Walmart Marketplace\"" & ¶ &
                "-H \"WM_SVC.VERSION: 1.0.0\"" & ¶ &
                "--data @$data" ]
Insert from URL [ $result ; $url ; cURL options: $cURL ; Do not automatically encode URL ]

The result will be a JSON-formatted text containing an access token. You will need to use this token to make other calls. The token only lasts for 15 minutes, so you will need to repeat this process in your code to get a new token.

Making Requests and Parsing the Response

Before you make requests, it is important that you understand JSON and cURL. Once you are comfortable with those, look through the Walmart Marketplace Docs. There you will be able to see all of the functions that you can use, such as pulling, tracking, and acknowledging orders, pulling and updating inventory, and more. The Get Inventory request will pull a item by its SKU and return the inventory information.

Request:

Set Variable [ $url ; Value: "https://marketplace.walmartapis.com/v2/inventory?sku=1234" ]
Set Variable [ $cURL ; Value: "-X GET" & ¶ &
                "-H \"Accept: application/json\"" & ¶ &
                "-H \"Authorization: Basic " & $auth & "\"" & ¶ &
                "-H \"WM_QOS.CORRELATION_ID: " & $randomString & "\"" & ¶ &
                "-H \"WM_SVC.NAME: Walmart Marketplace\"" & ¶ &
                "-H \"WM_SEC.ACCESS_TOKEN: " & $accessToken & "\"" & ¶ &
                "-H \"Content-Type: application/x-www-form-urlencoded\"" ]
Insert from URL [ $result ; $url ; cURL options: $cURL ; Do not automatically encode URL ]

Response:

{
 "sku":"1234"
 "quantity":
  {
   "unit": "EACH",
   "amount": "0"
  },
 "fulfillmentLagTime":1
}

I strongly suggest taking a look at our accompanying example file as certain portions of the API can be a bit tricky. For instance, the API does not handle the standard carriage return FileMaker uses for new lines, so you must use char ( 10 ) to denote a new line in order for the Walmart API to handle the request correctly.

Conclusion

Integrating your FileMaker app with Walmart Marketplace will streamline your workflow allowing you to take on more orders with the confidence that you will still make your deadlines. Feel free to contact us if you need further assistance or to discuss getting your Walmart account integrated with FileMaker.

Did you know we are an authorized reseller for Claris FileMaker Licensing?
Contact us to discuss upgrading your Claris FileMaker software.

Download the FileMaker Walmart Marketplace Integration File

Please complete the form below to download your FREE FileMaker file.

First Name *
Last Name *
Company
Email *
Phone *
FileMaker Experience *
Agree to Terms *
brendan mcbride headshot.
Brendan McBride

Brendan is a certified FileMaker and web developer and is a very friendly, hard-working, and technically-astute engineer ready to solve any problem you throw at him. Brendan went to Purdue, receiving a Bachelors in Computer Science and minored in Economics.