Forum Academy Marketplace Showcase Pricing Features

Need Help: Walmart Marketplace Authentication

Hello! I am working on establishing an API connection to the Walmart Marketplace API. I am not new to bubble, nor to working with APIs in bubble. I’ve set up numerous other APIs with the API connector, but this one has stumped me.

Walmart requires a token to authorize the connection to the API. The token is retrieved in a POST call, which should provide a response containing an access token to be used in subsequent calls. However, I’m hitting a wall in trying to retrieve the token. I am following the documentation to the letter, it seems like, but am not able to get authenticated.

I receive the following error in Postman and in Bubble:

Status code 400
{“error”:[{“code”:“INVALID_REQUEST_HEADER.GMP_GATEWAY_API”,
“field”:“Authorization”,
“description”:
“Incorrect Authorization header”,
“info”:“One or more request headers are invalid.”,
“severity”:“ERROR”,
“category”:“DATA”,
“causes”:[],“errorIdentifiers”:{}}]}

Here are some screen shots:

My API Connector. In this shot you will see that authentication is set as none/self-handled. I previously had this set to Oauth2 Token, and achieved exactly the same result, though I know the header is correct.

Here is the Documentation for the Token API.

You might note that in the Authorization header of the API connector there is a plus sign between the “Basic” and the API key. If I remove the + sign, I get another error:
Illegal character in query at index 183

This makes me think that the white space in the value of the header is causing some kind of problem, or isn’t being properly transmitted with Base64?

If anyone has experience authenticating with the Walmart Marketplace API, I would really appreciate any tips you have on getting it to work successfully. My end goal is to be able to access the catalog search endpoint, here. I want my staff to be able to compare UPC codes from products in their app with those in the Walmart Database for mismatches, which cause problems and eat up a lot of time to correct.

Hi,
I have not used before. But i think, there is some issue on your “Basic base64code”
Please check below url, may be its helpful for you to figure out this issue.
https://developer.walmart.com/documentation/authentication-3/

Common Headers:

Authorization: Basic Base64Encode(clientId:clientSecret)
WM_SEC.ACCESS_TOKEN: <Accesstoken>
WM_CONSUMER.CHANNEL.TYPE: <channel_type>
WM_SVC.NAME: Walmart Marketplace 
WM_MARKET: mx

Thank you. I really appreciate the input. I have tried it with Basic Base64Encode as part of the value, but I get an illegal Base64 character error.