Swift
Swift
Amazon SP-API Sellers Get Marketplace Participations
See more Amazon SP-API Examples
Demonstrates Amazon SP-API Sellers API -- get marketplace participations.Chilkat Swift Downloads
func chilkatTest() {
var success: Bool = false
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
let authAws = CkoAuthAws()!
authAws.accessKey = "AWS_ACCESS_KEY"
authAws.secretKey = "AWS_SECRET_KEY"
authAws.serviceName = "execute-api"
// Use the region that is correct for your needs.
authAws.region = "eu-west-1"
let rest = CkoRest()!
var bTls: Bool = true
var port: Int = 443
var bAutoReconnect: Bool = true
// Make sure to use the correct domain.
// In this example, we are using "sandbox.sellingpartnerapi-eu.amazon.com"
success = rest.connect(hostname: "sandbox.sellingpartnerapi-eu.amazon.com", port: port, tls: bTls, autoReconnect: bAutoReconnect)
if success == false {
print("\(rest.lastErrorText!)")
return
}
success = rest.setAuthAws(authProvider: authAws)
// Load the previously obtained LWA access token.
// See Fetch SP-API LWA Access Token
let jsonToken = CkoJsonObject()!
success = jsonToken.loadFile(path: "qa_data/tokens/sp_api_lwa_token.json")
if success == false {
print("Failed to load LWA access token.")
return
}
// Add the x-amz-access-token request header.
var lwa_token: String? = jsonToken.string(of: "access_token")
rest.clearAllHeaders()
rest.addHeader(name: "x-amz-access-token", value: lwa_token)
let sbResponse = CkoStringBuilder()!
var uri: String? = "/sellers/v1/marketplaceParticipations"
success = rest.fullRequestNoBodySb(httpVerb: "GET", uriPath: uri, sb: sbResponse)
if success == false {
print("\(rest.lastErrorText!)")
return
}
// Examine the response status.
var statusCode: Int = rest.responseStatusCode.intValue
if statusCode != 200 {
print("Response status text: \(rest.responseStatusText!)")
print("Response body: ")
print("\(sbResponse.getAsString()!)")
print("Failed.")
return
}
print("\(sbResponse.getAsString()!)")
// If successful, gets a JSON response such as the following:
// {
// "payload": [
// {
// "marketplace": {
// "id": "ATVPDKIKX0DER",
// "countryCode": "US",
// "name": "Amazon.com",
// "defaultCurrencyCode": "USD",
// "defaultLanguageCode": "en_US",
// "domainName": "www.amazon.com"
// },
// "participation": {
// "isParticipating": true,
// "hasSuspendedListings": false
// }
// }
// ]
// }
// Use this online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
let json = CkoJsonObject()!
json.loadSb(sb: sbResponse)
var Id: String?
var CountryCode: String?
var Name: String?
var DefaultCurrencyCode: String?
var DefaultLanguageCode: String?
var DomainName: String?
var IsParticipating: Bool
var HasSuspendedListings: Bool
var i: Int = 0
var count_i: Int = json.size(ofArray: "payload").intValue
while i < count_i {
json.i = i
Id = json.string(of: "payload[i].marketplace.id")
CountryCode = json.string(of: "payload[i].marketplace.countryCode")
Name = json.string(of: "payload[i].marketplace.name")
DefaultCurrencyCode = json.string(of: "payload[i].marketplace.defaultCurrencyCode")
DefaultLanguageCode = json.string(of: "payload[i].marketplace.defaultLanguageCode")
DomainName = json.string(of: "payload[i].marketplace.domainName")
IsParticipating = json.bool(of: "payload[i].participation.isParticipating")
HasSuspendedListings = json.bool(of: "payload[i].participation.hasSuspendedListings")
i = i + 1
}
print("Success!")
}