Sample code for 30+ languages & platforms
Objective-C

Amazon SP-API Sellers Get Marketplace Participations

See more Amazon SP-API Examples

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

Chilkat Objective-C Downloads

Objective-C
#import <CkoAuthAws.h>
#import <CkoRest.h>
#import <CkoJsonObject.h>
#import <NSString.h>
#import <CkoStringBuilder.h>

BOOL success = NO;

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

CkoAuthAws *authAws = [[CkoAuthAws alloc] init];
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";

CkoRest *rest = [[CkoRest alloc] init];
BOOL bTls = YES;
int port = 443;
BOOL bAutoReconnect = YES;
// 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: [NSNumber numberWithInt: port] tls: bTls autoReconnect: bAutoReconnect];
if (success == NO) {
    NSLog(@"%@",rest.LastErrorText);
    return;
}

success = [rest SetAuthAws: authAws];

// Load the previously obtained LWA access token.
// See Fetch SP-API LWA Access Token
CkoJsonObject *jsonToken = [[CkoJsonObject alloc] init];
success = [jsonToken LoadFile: @"qa_data/tokens/sp_api_lwa_token.json"];
if (success == NO) {
    NSLog(@"%@",@"Failed to load LWA access token.");
    return;
}

// Add the x-amz-access-token request header.
NSString *lwa_token = [jsonToken StringOf: @"access_token"];
[rest ClearAllHeaders];
[rest AddHeader: @"x-amz-access-token" value: lwa_token];

CkoStringBuilder *sbResponse = [[CkoStringBuilder alloc] init];
NSString *uri = @"/sellers/v1/marketplaceParticipations";
success = [rest FullRequestNoBodySb: @"GET" uriPath: uri sb: sbResponse];
if (success == NO) {
    NSLog(@"%@",rest.LastErrorText);
    return;
}

// Examine the response status.
int statusCode = [rest.ResponseStatusCode intValue];
if (statusCode != 200) {
    NSLog(@"%@%@",@"Response status text: ",rest.ResponseStatusText);
    NSLog(@"%@",@"Response body: ");
    NSLog(@"%@",[sbResponse GetAsString]);
    NSLog(@"%@",@"Failed.");
    return;
}

NSLog(@"%@",[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

CkoJsonObject *json = [[CkoJsonObject alloc] init];

[json LoadSb: sbResponse];

NSString *Id = 0;
NSString *CountryCode = 0;
NSString *Name = 0;
NSString *DefaultCurrencyCode = 0;
NSString *DefaultLanguageCode = 0;
NSString *DomainName = 0;
BOOL IsParticipating;
BOOL HasSuspendedListings;

int i = 0;
int count_i = [[json SizeOfArray: @"payload"] intValue];
while (i < count_i) {
    json.I = [NSNumber numberWithInt: 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;
}

NSLog(@"%@",@"Success!");