From the Blog

An icon for a calendar

2020-11-30

Integrating with Walmart Marketplace E-Commerce API

Adeptia’s built-in REST connector has simplified the process of Walmart API integration. It has allowed non-technical users to connect and integrate with Walmart’s Marketplace RESTful APIs at the speed of business.

In this example, we will show how to execute POST method and upload a bulk XML file containing product items into your Walmart Marketplace API.

For all the API operations supported by Walmart, refer to their Walmart Marketplace documentation.

The POST operation requires the following query and header parameters in the request. Screenshot of the Adeptia RESTful Consumer Service is shown below.

POST https://marketplace.walmartapis.com/v3/feeds?feedType=item

Below snapshot lists out all the query and header parameters needed to run a POST operation.

WM_SEC.AUTH_SIGNATURE is an auto-generated key that is composed of Unix Epoch Timestamp, exact endpoint URL that we are calling, and the WM_Consumer.ID parameter. If you are connected to Walmart with the help of third-party integrations, you need to learn how to get Walmart marketplace API key separately.

To successfully authenticate your API call, you have to pass your Consumer ID and the digital signature in the API header for every API call you make. You can get your Consumer ID and a Private Key as part of the on-boarding process with Walmart. To generate digital signature, Adeptia provides an executable custom plugin code as part of its Walmart connector.

To generate the Digital signature, Adeptia uses the following parameter values:

  • The full Walmart API URL you wish to call, including any path and query parameters.
  • Your Consumer ID (for example, 9a4d7659-100c-4d5e-a6b0-26faad4c9132).
  • Your Base 64-encoded Private Key.
  • Your request method in all capitals (for example, GET or POST).
  • Unix Epoch Timestamp.

The order of the parameters and the line returns \n is important to generate the signature properly. Here’s the high level representation of the digital signature generated by the above mentioned parameter values

the Consumer ID issued to you_+ “\n” +the url of the call you are making+ “\n” +the request method of the call you are making in all capitals+ “\n” +the Unix Epoch timestamp now (in milliseconds since Jan 01 1970 UTC)+ “\n”

The generated key needs to be digitally signed using SHA-256 RSA and then byte-64 encoded.

Below is a sample orchestration in the Adeptia Process Designer that is picking an XML file from a source location and is passed to the Walmart marketplace API. Key step in the flow is the Adeptia Walmart Digital Signature service (first step in the flow) that is using the parameters as described above to generate a digital signature which is passed as one of the header parameters in the Walmart POST request.

Another point to note is that we can also put additional services in the orchestration that takes a non-XML or flat file data, converts it to the required XML format needed by Walmart and then sends the data to the API connector. Here we are showing a basic data flow that can be easily designed in the Adeptia Process Designer.

Walmart sends a Feed ID and clients can get the status of the Feed by running a Get operation using the Feed Status API. These can be additional steps in the orchestration design as we further extend the base data flow shown above. As part of transaction visibility, Adeptia provides monitoring and tracking capability that allows business teams to see new orders and transaction statuses through rich real-time dashboards and reports.

Want to learn how our data integration can help you connect and integrate faster? View this infographic for more information

Here are some snapshots of the transaction visibility for the end-users.

Establishing communication between seller platforms and the Walmart marketplace API can be problematic and in order to solve this problem, Adeptia provides an out-of-the-box solution to allow your business to connect with Walmart in minutes.