Xbase++
Xbase++
Akeneo: Create New Family
See more HTTP Misc Examples
Demonstrates how to create a new family.Chilkat Xbase++ Downloads
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()