Ruby
Ruby
Akeneo: Create New Attribute
See more HTTP Misc Examples
Demonstrates how to create a new attribute.Chilkat Ruby Downloads
require 'chilkat'
success = false
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
http = Chilkat::CkHttp.new()
# Use your previously obtained access token.
# See Get Akeneo Access Token
http.put_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"
# }
# }
json = Chilkat::CkJsonObject.new()
json.UpdateString("code","release_date")
json.UpdateString("type","pim_catalog_date")
json.UpdateString("group","marketing")
json.UpdateBool("unique",false)
json.UpdateBool("useable_as_grid_filter",true)
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","2017-06-28T08:00:00")
json.UpdateString("date_max","2017-08-08T22:00:00")
json.UpdateNull("max_file_size")
json.UpdateNull("minimum_input_length")
json.UpdateNumber("sort_order","1")
json.UpdateBool("localizable",false)
json.UpdateBool("scopable",false)
json.UpdateString("labels.en_US","Sale date")
json.UpdateString("labels.fr_FR","Date des soldes")
json.put_EmitCompact(false)
# Show the JSON to be sent..
print json.emit() + "\n";
url = "http://pim.my-akeneo-site.com/api/rest/v1/attributes"
resp = Chilkat::CkHttpResponse.new()
success = http.HttpJson("POST",url,json,"application/json",resp)
if (success == false)
print http.lastErrorText() + "\n";
exit
end
print "Response Status Code: " + resp.get_StatusCode().to_s() + "\n";
print "Response Body: " + "\n";
print resp.bodyStr() + "\n";