Sample code for 30+ languages & platforms
B4X

Walmart v3 Get a Feed Status

See more Walmart v3 Examples

This API returns the feed status for a specified Feed ID.

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

'  This example assumes the Chilkat API to have been previously unlocked.
'  See Global Unlock Sample for sample code.

Dim http As ChilkatHttp
http.Initialize("http")

'  Implements the following CURL command:

'  curl -X GET \
'    https://marketplace.walmartapis.com/v3/feeds/{feedId} \
'    -H 'WM_SVC.NAME: Walmart Marketplace'
'    -H 'WM_SEC.ACCESS_TOKEN: eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM.....'
'    -H 'WM_QOS.CORRELATION_ID: b3261d2d-028a-4ef7-8602-633c23200af6'
'    -H 'Content-Type: application/xml'
'    -H 'Accept: application/xml'

http.SetRequestHeader("WM_QOS.CORRELATION_ID", "b3261d2d-028a-4ef7-8602-633c23200af6")
http.SetRequestHeader("Content-Type", "application/xml")
http.SetRequestHeader("WM_SEC.ACCESS_TOKEN", "eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM.....")
http.SetRequestHeader("Accept", "application/xml")
http.SetRequestHeader("WM_SVC.NAME", "Walmart Marketplace")

Dim sbResponseBody As ChilkatStringBuilder
sbResponseBody.Initialize
success = http.QuickGetSb("https://marketplace.walmartapis.com/v3/feeds/{feedId}", sbResponseBody)
If success = False Then
    Log(http.LastErrorText)
    Return
End If


Dim xmlResponse As ChilkatXml
xmlResponse.Initialize
xmlResponse.LoadSb(sbResponseBody, True)

'  Sample XML response:
'  (Sample code for parsing the XML response is shown below)

'  <?xml version="1.0" encoding="UTF-8"?>
'  <PartnerFeedResponse xmlns:ns2="http://walmart.com/">
'      <feedId>1c349f8f-aec0-411f-8454-ead47d12946f</feedId>
'      <feedStatus>PROCESSED</feedStatus>
'      <ingestionErrors/>
'      <itemsReceived>11</itemsReceived>
'      <itemsSucceeded>11</itemsSucceeded>
'      <itemsFailed>0</itemsFailed>
'      <itemsProcessing>0</itemsProcessing>
'      <offset>0</offset>
'      <limit>0</limit>
'      <itemDetails>
'          <itemIngestionStatus>
'              <martId>0</martId>
'              <sku>sku1</sku>
'              <index>8</index>
'              <ingestionStatus>SUCCESS</ingestionStatus>
'              <ingestionErrors/>
'          </itemIngestionStatus>
'          <itemIngestionStatus>
'              <martId>0</martId>
'              <sku>sku2</sku>
'              <index>6</index>
'              <ingestionStatus>SUCCESS</ingestionStatus>
'              <ingestionErrors/>
'          </itemIngestionStatus>
'          <itemIngestionStatus>
'              <martId>0</martId>
'              <sku>sku3</sku>
'              <index>9</index>
'              <ingestionStatus>SUCCESS</ingestionStatus>
'              <ingestionErrors/>
'          </itemIngestionStatus>
'      </itemDetails>
'  </PartnerFeedResponse>

'  Sample code for parsing the XML response...
'  Use the following online tool to generate parsing code from sample XML:
'  Generate Parsing Code from XML

Dim PartnerFeedResponse_xmlns_ns2 As String
Dim feedId As String
Dim feedStatus As String
Dim itemsReceived As Int
Dim itemsSucceeded As Int
Dim itemsFailed As Int
Dim itemsProcessing As Int
Dim offset As Int
Dim limit As Int
Dim i As Int
Dim count_i As Int
Dim martId As Int
Dim sku As String
Dim index As Int
Dim ingestionStatus As String

PartnerFeedResponse_xmlns_ns2 = xmlResponse.GetAttrValue("xmlns:ns2")
feedId = xmlResponse.GetChildContent("feedId")
feedStatus = xmlResponse.GetChildContent("feedStatus")
itemsReceived = xmlResponse.GetChildIntValue("itemsReceived")
itemsSucceeded = xmlResponse.GetChildIntValue("itemsSucceeded")
itemsFailed = xmlResponse.GetChildIntValue("itemsFailed")
itemsProcessing = xmlResponse.GetChildIntValue("itemsProcessing")
offset = xmlResponse.GetChildIntValue("offset")
limit = xmlResponse.GetChildIntValue("limit")
i = 0
count_i = xmlResponse.NumChildrenHavingTag("itemDetails|itemIngestionStatus")
Do While i < count_i
    xmlResponse.I = i
    martId = xmlResponse.GetChildIntValue("itemDetails|itemIngestionStatus[i]|martId")
    sku = xmlResponse.GetChildContent("itemDetails|itemIngestionStatus[i]|sku")
    index = xmlResponse.GetChildIntValue("itemDetails|itemIngestionStatus[i]|index")
    ingestionStatus = xmlResponse.GetChildContent("itemDetails|itemIngestionStatus[i]|ingestionStatus")
    i = i + 1
Loop