Sample code for 30+ languages & platforms
Xbase++

Akeneo: Create New Family

See more HTTP Misc Examples

Demonstrates how to create a new family.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oHttp
LOCAL oJson
LOCAL cUrl
LOCAL oResp

nSuccess := 0

//  This example requires the Chilkat API to have been previously unlocked.
//  See Global Unlock Sample for sample code.

oHttp := CreateObject("Chilkat.Http")

//  Use your previously obtained access token.
//  See Get Akeneo Access Token
oHttp: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": "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"
//    }
//  }
//  
oJson := CreateObject("Chilkat.JsonObject")
oJson:UpdateString("code", "caps")
oJson:UpdateString("attributes[0]", "sku")
oJson:UpdateString("attributes[1]", "name")
oJson:UpdateString("attributes[2]", "description")
oJson:UpdateString("attributes[3]", "price")
oJson:UpdateString("attributes[4]", "color")
oJson:UpdateString("attributes[5]", "picture")
oJson:UpdateString("attribute_as_label", "name")
oJson:UpdateString("attribute_as_image", "picture")
oJson:UpdateString("attribute_requirements.ecommerce[0]", "sku")
oJson:UpdateString("attribute_requirements.ecommerce[1]", "name")
oJson:UpdateString("attribute_requirements.ecommerce[2]", "description")
oJson:UpdateString("attribute_requirements.ecommerce[3]", "price")
oJson:UpdateString("attribute_requirements.ecommerce[4]", "color")
oJson:UpdateString("attribute_requirements.tablet[0]", "sku")
oJson:UpdateString("attribute_requirements.tablet[1]", "name")
oJson:UpdateString("attribute_requirements.tablet[2]", "description")
oJson:UpdateString("attribute_requirements.tablet[3]", "price")
oJson:UpdateString("labels.en_US", "Caps")
oJson:UpdateString("labels.fr_FR", "Casquettes")

oJson:EmitCompact := 0
//  Show the JSON to be sent..
? oJson:Emit()

cUrl := "http://pim.my-akeneo-site.com/api/rest/v1/families"
oResp := CreateObject("Chilkat.HttpResponse")
nSuccess := oHttp:HttpJson("POST", cUrl, oJson, "application/json", oResp)
IF (nSuccess == 0)
    ? oHttp:LastErrorText
    oHttp:destroy()
    oJson:destroy()
    oResp:destroy()
    RETURN
ENDIF

? "Response Status Code: " + Str(oResp:StatusCode)
? "Response Body: "
? oResp:BodyStr

oHttp:destroy()
oJson:destroy()
oResp:destroy()