Swift
Swift
Walmart v3 Item Setup by Match
See more Walmart v3 Examples
Provides a quick and convenient way to set up items by matching your items to existing item content on Walmart.com.Chilkat Swift Downloads
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 POST \
// https://marketplace.walmartapis.com/v3/feeds?feedType=item \
// -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/json'
// -H 'Accept: application/json'
// -d '{
// "MPItemFeedHeader": {
// "version": "3.2.1"
// },
// "MPItem": [
// {
// "sku": "setup_by_ref",
// "productIdentifiers": [
// {
// "productIdType": "GTIN",
// "productId": "05518319011365"
// }
// ],
// "MPProduct": {
// "category": "Electronics",
// "subCategory": "ElectronicsAccessories"
// },
// "MPOffer": {
// "price": 12.00,
// "shippingWeight": {
// "measure": 0.5,
// "unit": "lb"
// },
// "productTaxCode": 2038710
// }
// }
// ]
// }'
// Use this online tool to generate code from sample JSON:
// Generate Code to Create JSON
// The following JSON is sent in the request body.
// {
// "MPItemFeedHeader": {
// "version": "3.2.1"
// },
// "MPItem": [
// {
// "sku": "setup_by_ref",
// "productIdentifiers": [
// {
// "productIdType": "GTIN",
// "productId": "05518319011365"
// }
// ],
// "MPProduct": {
// "category": "Electronics",
// "subCategory": "ElectronicsAccessories"
// },
// "MPOffer": {
// "price": 12.00,
// "shippingWeight": {
// "measure": 0.5,
// "unit": "lb"
// },
// "productTaxCode": 2038710
// }
// }
// ]
// }
let json = CkoJsonObject()!
json.updateString(jsonPath: "MPItemFeedHeader.version", value: "3.2.1")
json.updateString(jsonPath: "MPItem[0].sku", value: "setup_by_ref")
json.updateString(jsonPath: "MPItem[0].productIdentifiers[0].productIdType", value: "GTIN")
json.updateString(jsonPath: "MPItem[0].productIdentifiers[0].productId", value: "05518319011365")
json.updateString(jsonPath: "MPItem[0].MPProduct.category", value: "Electronics")
json.updateString(jsonPath: "MPItem[0].MPProduct.subCategory", value: "ElectronicsAccessories")
json.updateNumber(jsonPath: "MPItem[0].MPOffer.price", numericStr: "12.00")
json.updateNumber(jsonPath: "MPItem[0].MPOffer.shippingWeight.measure", numericStr: "0.5")
json.updateString(jsonPath: "MPItem[0].MPOffer.shippingWeight.unit", value: "lb")
json.updateInt(jsonPath: "MPItem[0].MPOffer.productTaxCode", value: 2038710)
http.setRequestHeader(name: "WM_QOS.CORRELATION_ID", value: "b3261d2d-028a-4ef7-8602-633c23200af6")
http.setRequestHeader(name: "Content-Type", value: "application/json")
http.setRequestHeader(name: "WM_SEC.ACCESS_TOKEN", value: "eyJraWQiOiIzZjVhYTFmNS1hYWE5LTQzM.....")
http.setRequestHeader(name: "Accept", value: "application/json")
http.setRequestHeader(name: "WM_SVC.NAME", value: "Walmart Marketplace")
let resp = CkoHttpResponse()!
success = http.httpJson(verb: "POST", url: "https://marketplace.walmartapis.com/v3/feeds?feedType=item", json: json, contentType: "application/json", response: resp)
if success == false {
print("\(http.lastErrorText!)")
return
}
let sbResponseBody = CkoStringBuilder()!
resp.getBodySb(sb: sbResponseBody)
let jResp = CkoJsonObject()!
jResp.loadSb(sb: sbResponseBody)
jResp.emitCompact = false
print("Response Body:")
print("\(jResp.emit()!)")
var respStatusCode: Int = resp.statusCode.intValue
print("Response Status Code = \(respStatusCode)")
if respStatusCode >= 400 {
print("Response Header:")
print("\(resp.header!)")
print("Failed.")
return
}
// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)
// {
// "feedId": "BC141881F6BB4B5891F084B225581BF2@AUUBAQA"
// }
// Sample code for parsing the JSON response...
// Use the following online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
var feedId: String?
feedId = jResp.string(of: "feedId")
}