Lua
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
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