Sample code for 30+ languages & platforms
Visual FoxPro

Akeneo: Create New Family

See more HTTP Misc Examples

Demonstrates how to create a new family.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loHttp
LOCAL loJson
LOCAL lcUrl
LOCAL loResp

lnSuccess = 0

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

loHttp = CreateObject('Chilkat.Http')

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

loJson.EmitCompact = 0
*  Show the JSON to be sent..
? loJson.Emit()

lcUrl = "http://pim.my-akeneo-site.com/api/rest/v1/families"
loResp = CreateObject('Chilkat.HttpResponse')
lnSuccess = loHttp.HttpJson("POST",lcUrl,loJson,"application/json",loResp)
IF (lnSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loJson
    RELEASE loResp
    CANCEL
ENDIF

? "Response Status Code: " + STR(loResp.StatusCode)
? "Response Body: "
? loResp.BodyStr

RELEASE loHttp
RELEASE loJson
RELEASE loResp