Tcl
Tcl
Akeneo: Create New Attribute
See more HTTP Misc Examples
Demonstrates how to create a new attribute.Chilkat Tcl Downloads
load ./chilkat.dll
set success 0
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
set http [new_CkHttp]
# Use your previously obtained access token.
# See Get Akeneo Access Token
CkHttp_put_AuthToken $http "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"
# }
# }
set json [new_CkJsonObject]
CkJsonObject_UpdateString $json "code" "release_date"
CkJsonObject_UpdateString $json "type" "pim_catalog_date"
CkJsonObject_UpdateString $json "group" "marketing"
CkJsonObject_UpdateBool $json "unique" 0
CkJsonObject_UpdateBool $json "useable_as_grid_filter" 1
CkJsonObject_UpdateNewArray $json "allowed_extensions"
CkJsonObject_UpdateNull $json "metric_family"
CkJsonObject_UpdateNull $json "default_metric_unit"
CkJsonObject_UpdateNull $json "reference_data_name"
CkJsonObject_UpdateNewArray $json "available_locales"
CkJsonObject_UpdateNull $json "max_characters"
CkJsonObject_UpdateNull $json "validation_rule"
CkJsonObject_UpdateNull $json "validation_regexp"
CkJsonObject_UpdateNull $json "wysiwyg_enabled"
CkJsonObject_UpdateNull $json "number_min"
CkJsonObject_UpdateNull $json "number_max"
CkJsonObject_UpdateNull $json "decimals_allowed"
CkJsonObject_UpdateNull $json "negative_allowed"
CkJsonObject_UpdateString $json "date_min" "2017-06-28T08:00:00"
CkJsonObject_UpdateString $json "date_max" "2017-08-08T22:00:00"
CkJsonObject_UpdateNull $json "max_file_size"
CkJsonObject_UpdateNull $json "minimum_input_length"
CkJsonObject_UpdateNumber $json "sort_order" "1"
CkJsonObject_UpdateBool $json "localizable" 0
CkJsonObject_UpdateBool $json "scopable" 0
CkJsonObject_UpdateString $json "labels.en_US" "Sale date"
CkJsonObject_UpdateString $json "labels.fr_FR" "Date des soldes"
CkJsonObject_put_EmitCompact $json 0
# Show the JSON to be sent..
puts [CkJsonObject_emit $json]
set url "http://pim.my-akeneo-site.com/api/rest/v1/attributes"
set resp [new_CkHttpResponse]
set success [CkHttp_HttpJson $http "POST" $url $json "application/json" $resp]
if {$success == 0} then {
puts [CkHttp_lastErrorText $http]
delete_CkHttp $http
delete_CkJsonObject $json
delete_CkHttpResponse $resp
exit
}
puts "Response Status Code: [CkHttpResponse_get_StatusCode $resp]"
puts "Response Body: "
puts [CkHttpResponse_bodyStr $resp]
delete_CkHttp $http
delete_CkJsonObject $json
delete_CkHttpResponse $resp