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!");