Sample code for 30+ languages & platforms
Lua

Akeneo: Create New Family

See more HTTP Misc Examples

Demonstrates how to create a new family.

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

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

local http = chilkat.Http.new()

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

json.emit_compact = false
-- Show the JSON to be sent..
print(json:emit())

local url = "http://pim.my-akeneo-site.com/api/rest/v1/families"
local resp = chilkat.HttpResponse.new()
local success = http:http_json("POST", url, json, "application/json", resp)
if not success then
    print(http.last_error_text)
    return
end

print("Response Status Code: " .. resp.status_code)
print("Response Body: ")
print(resp.body_str)