Sample code for 30+ languages & platforms
Tcl

Akeneo: Create New Family

See more HTTP Misc Examples

Demonstrates how to create a new family.

Chilkat Tcl Downloads

Tcl

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