Sample code for 30+ languages & platforms
Swift

Walmart v3 Get a Feed Status

See more Walmart v3 Examples

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

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

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

    let http = CkoHttp()!

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

    let sbResponseBody = CkoStringBuilder()!
    success = http.quickGetSb(url: "https://marketplace.walmartapis.com/v3/feeds/{feedId}", sbContent: sbResponseBody)
    if success == false {
        print("\(http.lastErrorText!)")
        return
    }

    let xmlResponse = CkoXml()!
    xmlResponse.loadSb(sb: sbResponseBody, autoTrim: 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

    var PartnerFeedResponse_xmlns_ns2: String?
    var feedId: String?
    var feedStatus: String?
    var itemsReceived: Int
    var itemsSucceeded: Int
    var itemsFailed: Int
    var itemsProcessing: Int
    var offset: Int
    var limit: Int
    var i: Int
    var count_i: Int
    var martId: Int
    var sku: String?
    var index: Int
    var ingestionStatus: String?

    PartnerFeedResponse_xmlns_ns2 = xmlResponse.getAttrValue(name: "xmlns:ns2")
    feedId = xmlResponse.getChildContent(tagPath: "feedId")
    feedStatus = xmlResponse.getChildContent(tagPath: "feedStatus")
    itemsReceived = xmlResponse.getChildIntValue(tagPath: "itemsReceived").intValue
    itemsSucceeded = xmlResponse.getChildIntValue(tagPath: "itemsSucceeded").intValue
    itemsFailed = xmlResponse.getChildIntValue(tagPath: "itemsFailed").intValue
    itemsProcessing = xmlResponse.getChildIntValue(tagPath: "itemsProcessing").intValue
    offset = xmlResponse.getChildIntValue(tagPath: "offset").intValue
    limit = xmlResponse.getChildIntValue(tagPath: "limit").intValue
    i = 0
    count_i = xmlResponse.numChildrenHavingTag(tag: "itemDetails|itemIngestionStatus").intValue
    while i < count_i {
        xmlResponse.i = i
        martId = xmlResponse.getChildIntValue(tagPath: "itemDetails|itemIngestionStatus[i]|martId").intValue
        sku = xmlResponse.getChildContent(tagPath: "itemDetails|itemIngestionStatus[i]|sku")
        index = xmlResponse.getChildIntValue(tagPath: "itemDetails|itemIngestionStatus[i]|index").intValue
        ingestionStatus = xmlResponse.getChildContent(tagPath: "itemDetails|itemIngestionStatus[i]|ingestionStatus")
        i = i + 1
    }


}