Sample code for 30+ languages & platforms
Xojo Plugin

Amazon SP-API Sellers Get Marketplace Participations

See more Amazon SP-API Examples

Demonstrates Amazon SP-API Sellers API -- get marketplace participations.

Chilkat Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

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

Dim authAws As New Chilkat.AuthAws
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"

Dim rest As New Chilkat.Rest
Dim bTls As Boolean
bTls = True
Dim port As Int32
port = 443
Dim bAutoReconnect As Boolean
bAutoReconnect = True
// Make sure to use the correct domain.
// In this example, we are using "sandbox.sellingpartnerapi-eu.amazon.com"
success = rest.Connect("sandbox.sellingpartnerapi-eu.amazon.com",port,bTls,bAutoReconnect)
If (success = False) Then
    System.DebugLog(rest.LastErrorText)
    Return
End If

success = rest.SetAuthAws(authAws)

// Load the previously obtained LWA access token.
// See Fetch SP-API LWA Access Token
Dim jsonToken As New Chilkat.JsonObject
success = jsonToken.LoadFile("qa_data/tokens/sp_api_lwa_token.json")
If (success = False) Then
    System.DebugLog("Failed to load LWA access token.")
    Return
End If

// Add the x-amz-access-token request header.
Dim lwa_token As String
lwa_token = jsonToken.StringOf("access_token")
success = rest.ClearAllHeaders()
success = rest.AddHeader("x-amz-access-token",lwa_token)

Dim sbResponse As New Chilkat.StringBuilder
Dim uri As String
uri = "/sellers/v1/marketplaceParticipations"
success = rest.FullRequestNoBodySb("GET",uri,sbResponse)
If (success = False) Then
    System.DebugLog(rest.LastErrorText)
    Return
End If

// Examine the response status.
Dim statusCode As Int32
statusCode = rest.ResponseStatusCode
If (statusCode <> 200) Then
    System.DebugLog("Response status text: " + rest.ResponseStatusText)
    System.DebugLog("Response body: ")
    System.DebugLog(sbResponse.GetAsString())
    System.DebugLog("Failed.")
    Return
End If

System.DebugLog(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

Dim json As New Chilkat.JsonObject

success = json.LoadSb(sbResponse)

Dim Id As String
Dim CountryCode As String
Dim Name As String
Dim DefaultCurrencyCode As String
Dim DefaultLanguageCode As String
Dim DomainName As String
Dim IsParticipating As Boolean
Dim HasSuspendedListings As Boolean

Dim i As Int32
i = 0
Dim count_i As Int32
count_i = json.SizeOfArray("payload")
While i < count_i
    json.I = i
    Id = json.StringOf("payload[i].marketplace.id")
    CountryCode = json.StringOf("payload[i].marketplace.countryCode")
    Name = json.StringOf("payload[i].marketplace.name")
    DefaultCurrencyCode = json.StringOf("payload[i].marketplace.defaultCurrencyCode")
    DefaultLanguageCode = json.StringOf("payload[i].marketplace.defaultLanguageCode")
    DomainName = json.StringOf("payload[i].marketplace.domainName")
    IsParticipating = json.BoolOf("payload[i].participation.isParticipating")
    HasSuspendedListings = json.BoolOf("payload[i].participation.hasSuspendedListings")
    i = i + 1
Wend

System.DebugLog("Success!")