Sample code for 30+ languages & platforms
Ruby

Akeneo: Create New Attribute

See more HTTP Misc Examples

Demonstrates how to create a new attribute.

Chilkat Ruby Downloads

Ruby
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";