Objective-C
Objective-C
Akeneo: Create New Attribute
See more HTTP Misc Examples
Demonstrates how to create a new attribute.Chilkat Objective-C Downloads
#import <CkoHttp.h>
#import <CkoJsonObject.h>
#import <NSString.h>
#import <CkoHttpResponse.h>
BOOL success = NO;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkoHttp *http = [[CkoHttp alloc] init];
// Use your previously obtained access token.
// See Get Akeneo Access Token
http.AuthToken = @"access_token";
// Build the following JSON to be sent in the request body:
// Use this online tool to generate the code from sample JSON:
// Generate Code to Create JSON
// {
// "code": "release_date",
// "type": "pim_catalog_date",
// "group": "marketing",
// "unique": false,
// "useable_as_grid_filter": true,
// "allowed_extensions": [],
// "metric_family": null,
// "default_metric_unit": null,
// "reference_data_name": null,
// "available_locales": [],
// "max_characters": null,
// "validation_rule": null,
// "validation_regexp": null,
// "wysiwyg_enabled": null,
// "number_min": null,
// "number_max": null,
// "decimals_allowed": null,
// "negative_allowed": null,
// "date_min": "2017-06-28T08:00:00",
// "date_max": "2017-08-08T22:00:00",
// "max_file_size": null,
// "minimum_input_length": null,
// "sort_order": 1,
// "localizable": false,
// "scopable": false,
// "labels": {
// "en_US": "Sale date",
// "fr_FR": "Date des soldes"
// }
// }
CkoJsonObject *json = [[CkoJsonObject alloc] init];
[json UpdateString: @"code" value: @"release_date"];
[json UpdateString: @"type" value: @"pim_catalog_date"];
[json UpdateString: @"group" value: @"marketing"];
[json UpdateBool: @"unique" value: NO];
[json UpdateBool: @"useable_as_grid_filter" value: YES];
[json UpdateNewArray: @"allowed_extensions"];
[json UpdateNull: @"metric_family"];
[json UpdateNull: @"default_metric_unit"];
[json UpdateNull: @"reference_data_name"];
[json UpdateNewArray: @"available_locales"];
[json UpdateNull: @"max_characters"];
[json UpdateNull: @"validation_rule"];
[json UpdateNull: @"validation_regexp"];
[json UpdateNull: @"wysiwyg_enabled"];
[json UpdateNull: @"number_min"];
[json UpdateNull: @"number_max"];
[json UpdateNull: @"decimals_allowed"];
[json UpdateNull: @"negative_allowed"];
[json UpdateString: @"date_min" value: @"2017-06-28T08:00:00"];
[json UpdateString: @"date_max" value: @"2017-08-08T22:00:00"];
[json UpdateNull: @"max_file_size"];
[json UpdateNull: @"minimum_input_length"];
[json UpdateNumber: @"sort_order" numericStr: @"1"];
[json UpdateBool: @"localizable" value: NO];
[json UpdateBool: @"scopable" value: NO];
[json UpdateString: @"labels.en_US" value: @"Sale date"];
[json UpdateString: @"labels.fr_FR" value: @"Date des soldes"];
json.EmitCompact = NO;
// Show the JSON to be sent..
NSLog(@"%@",[json Emit]);
NSString *url = @"http://pim.my-akeneo-site.com/api/rest/v1/attributes";
CkoHttpResponse *resp = [[CkoHttpResponse alloc] init];
success = [http HttpJson: @"POST" url: url json: json contentType: @"application/json" response: resp];
if (success == NO) {
NSLog(@"%@",http.LastErrorText);
return;
}
NSLog(@"%@%d",@"Response Status Code: ",[resp.StatusCode intValue]);
NSLog(@"%@",@"Response Body: ");
NSLog(@"%@",resp.BodyStr);