Tcl
Tcl
Akeneo: Create New Family
See more HTTP Misc Examples
Demonstrates how to create a new family.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": "caps",
# "attributes": [
# "sku",
# "name",
# "description",
# "price",
# "color",
# "picture"
# ],
# "attribute_as_label": "name",
# "attribute_as_image": "picture",
# "attribute_requirements": {
# "ecommerce": [
# "sku",
# "name",
# "description",
# "price",
# "color"
# ],
# "tablet": [
# "sku",
# "name",
# "description",
# "price"
# ]
# },
# "labels": {
# "en_US": "Caps",
# "fr_FR": "Casquettes"
# }
# }
#
set json [new_CkJsonObject]
CkJsonObject_UpdateString $json "code" "caps"
CkJsonObject_UpdateString $json "attributes[0]" "sku"
CkJsonObject_UpdateString $json "attributes[1]" "name"
CkJsonObject_UpdateString $json "attributes[2]" "description"
CkJsonObject_UpdateString $json "attributes[3]" "price"
CkJsonObject_UpdateString $json "attributes[4]" "color"
CkJsonObject_UpdateString $json "attributes[5]" "picture"
CkJsonObject_UpdateString $json "attribute_as_label" "name"
CkJsonObject_UpdateString $json "attribute_as_image" "picture"
CkJsonObject_UpdateString $json "attribute_requirements.ecommerce[0]" "sku"
CkJsonObject_UpdateString $json "attribute_requirements.ecommerce[1]" "name"
CkJsonObject_UpdateString $json "attribute_requirements.ecommerce[2]" "description"
CkJsonObject_UpdateString $json "attribute_requirements.ecommerce[3]" "price"
CkJsonObject_UpdateString $json "attribute_requirements.ecommerce[4]" "color"
CkJsonObject_UpdateString $json "attribute_requirements.tablet[0]" "sku"
CkJsonObject_UpdateString $json "attribute_requirements.tablet[1]" "name"
CkJsonObject_UpdateString $json "attribute_requirements.tablet[2]" "description"
CkJsonObject_UpdateString $json "attribute_requirements.tablet[3]" "price"
CkJsonObject_UpdateString $json "labels.en_US" "Caps"
CkJsonObject_UpdateString $json "labels.fr_FR" "Casquettes"
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/families"
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