Sample code for 30+ languages & platforms
B4X

Amazon SP-API Sellers Get Marketplace Participations

See more Amazon SP-API Examples

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

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

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

Dim authAws As ChilkatAuthAws
authAws.Initialize
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 ChilkatRest
rest.Initialize("rest")
Dim bTls As Boolean = True
Dim port As Int = 443
Dim bAutoReconnect As Boolean = 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
    Log(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 ChilkatJsonObject
jsonToken.Initialize
success = jsonToken.LoadFile("qa_data/tokens/sp_api_lwa_token.json")
If success = False Then
    Log("Failed to load LWA access token.")
    Return
End If


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

Dim sbResponse As ChilkatStringBuilder
sbResponse.Initialize
Dim uri As String = "/sellers/v1/marketplaceParticipations"
success = rest.FullRequestNoBodySb("GET", uri, sbResponse)
If success = False Then
    Log(rest.LastErrorText)
    Return
End If


'  Examine the response status.
Dim statusCode As Int = rest.ResponseStatusCode
If statusCode <> 200 Then
    Log("Response status text: " & rest.ResponseStatusText)
    Log("Response body: ")
    Log(sbResponse.GetAsString)
    Log("Failed.")
    Return
End If


Log(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 ChilkatJsonObject
json.Initialize

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 Int = 0
Dim count_i As Int = json.SizeOfArray("payload")
Do 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
Loop

Log("Success!")