Sample code for 30+ languages & platforms
Lua

Walmart v3 Get a Feed Status

See more Walmart v3 Examples

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

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

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

local http = chilkat.Http.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:set_request_header("WM_QOS.CORRELATION_ID", "b3261d2d-028a-4ef7-8602-633c23200af6")
http:set_request_header("Content-Type", "application/xml")
http:set_request_header("WM_SEC.ACCESS_TOKEN", "eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM.....")
http:set_request_header("Accept", "application/xml")
http:set_request_header("WM_SVC.NAME", "Walmart Marketplace")

local sbResponseBody = chilkat.StringBuilder.new()
local success = http:quick_get_sb("https://marketplace.walmartapis.com/v3/feeds/{feedId}", sbResponseBody)
if not success then
    print(http.last_error_text)
    return
end

local xmlResponse = chilkat.Xml.new()
xmlResponse:load_sb(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

local martId = 0
local sku = ""
local index = 0
local ingestionStatus = ""

local PartnerFeedResponse_xmlns_ns2 = xmlResponse:get_attr_value("xmlns:ns2")
local feedId = xmlResponse:get_child_content("feedId")
local feedStatus = xmlResponse:get_child_content("feedStatus")
local itemsReceived = xmlResponse:get_child_int_value("itemsReceived")
local itemsSucceeded = xmlResponse:get_child_int_value("itemsSucceeded")
local itemsFailed = xmlResponse:get_child_int_value("itemsFailed")
local itemsProcessing = xmlResponse:get_child_int_value("itemsProcessing")
local offset = xmlResponse:get_child_int_value("offset")
local limit = xmlResponse:get_child_int_value("limit")
local i = 0
local count_i = xmlResponse:num_children_having_tag("itemDetails|itemIngestionStatus")
while i < count_i do
    xmlResponse.i = i
    martId = xmlResponse:get_child_int_value("itemDetails|itemIngestionStatus[i]|martId")
    sku = xmlResponse:get_child_content("itemDetails|itemIngestionStatus[i]|sku")
    index = xmlResponse:get_child_int_value("itemDetails|itemIngestionStatus[i]|index")
    ingestionStatus = xmlResponse:get_child_content("itemDetails|itemIngestionStatus[i]|ingestionStatus")
    i = i + 1
end