Sample code for 30+ languages & platforms
Ruby

Walmart v3 Get a Feed Status

See more Walmart v3 Examples

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

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

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

http = Chilkat::CkHttp.new()

# 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")

sbResponseBody = Chilkat::CkStringBuilder.new()
success = http.QuickGetSb("https://marketplace.walmartapis.com/v3/feeds/{feedId}",sbResponseBody)
if (success == false)
    print http.lastErrorText() + "\n";
    exit
end

xmlResponse = Chilkat::CkXml.new()
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

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")
while i < count_i
    xmlResponse.put_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
end