Waltrack API Proxy & BYOK

A proxy service around the WalmartIO API.

Don't mess around with private keys. Create your unique key pair in your dashboard, upload they public key to the WalmartIO dashboard, and call the Walmart API via our proxy from anywhere.

main.py
import os
import requests

# waltrack API key
api_key=os.getenv('waltrack_api_key')

# Pass the URL of the Walmart API you want to call
url= "https://developer.api.walmart.com/api-proxy/service/affil/product/v2/paginated/items?count=20&available=true"

params = {"api_key": api_key, "url": url}

r = requests.get("https://apiproxy.waltrack.net/api", params=params)

# The response and status code are exactly what the Walmart API sent back

print(r.status_code)
> 200

Waltrack API Proxy

Documentation

Introduction

The WalmartIO API is a very strange beast. It requires you to upload a public key, and sign the headers of the request you make with a private key.

This makes it hard to work with, because you have to mess around with the private key.

That's why Waltrack created the Waltrack API Proxy.

Simply create a key pair in your Waltrack dashboard, upload the public key in the WalmartIO dashboard, and call the Walmart API via our proxy endpoint and your unique API key.

The proxy is 100% transparent, so the status code and body it returns comes straight from the WalmartIO response.

We don't call the WalmartIO API with your credentials ever, wi

Creating your key pair

Go to your Waltrack dashboard and create a key pair.

Create your key pair in the Waltrack dashboard

You will then have your unique public key which you'll have to copy.

Created your key pair in the Waltrack dashboard

Head over to the WalmartIO dashboard and go to "applications"

Created your key pair in the Waltrack dashboard

If you haven't yet created an application, create one. You will then have the option to upload a public key.
(in our screenshot it's grayed out because we already uploaded one)

Upload your public key in the WalmartIO dashboard

Paste the public key there.
If you just want to have access to the affiliate API to query products, you are fine with the staging environment.
You can use the same public key for both Production & Staging.

Upload your public key in the WalmartIO dashboard

When you go back to the applications overview, you'll see your consumer ID and Key version (between parenthesis).

Upload your public key in the WalmartIO dashboard

Copy both and paste them in your Waltrack Dashboard

Upload your public key in the WalmartIO dashboard

Congratulations, you are now ready to make your first API call.

Making your first API call

On the right side of the BYOK dashboard, you'll see your Waltrack Proxy API key. You can recognize it from the prefix wt_byok_.

To make an API call, you make a GET request to: https://apiproxy.waltrack.net/api

It requires two URL parameters:

api_key: The API key you can find on the right hand side in your Waltrack BYOK dashboard.

url: Url of the WalmartIO Affiliate API to call. Read the WalmartIO documentation for more info.

Code Samples

main.py
import os
import requests

# searching for a keyword

api_key = os.getenv('WALTRACK_API_KEY')

keyword = "tv"

api_url = "https://apiproxy.waltrack.net/api"

url = f"https://developer.api.walmart.com/api-proxy/service/affil/product
/v2/search?publisherId={Your Impact Radius Publisher Id}&query={keyword}"

params = {
 "url": url,
 "apiKey": api_key
}

r = requests.get(api_url, params=params)

print(r.status_code)

> 200 
index.js
/*
make sure you only call the proxy API from your server,
so not in a web browser or extension

Getting recommendations for a product:

*/

const apiUrl = "https://apiproxy.waltrack.net/api"

const productId = 36904791;

const url = `https://developer.api.walmart.com/api-proxy/service/
affil/product/v2/nbp?itemId=${productId}`;

const apiKey = process.env.WALTRACK_API_KEY;

r = await fetch(`${apiUrl}?apiKey=${apiKey}&url=${url})`)';

console.log(r.status);

> 200