Sample code for 30+ languages & platforms
PowerBuilder

Akeneo: Create New Attribute

See more HTTP Misc Examples

Demonstrates how to create a new attribute.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Http
oleobject loo_Json
string ls_Url
oleobject loo_Resp

li_Success = 0

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

loo_Http = create oleobject
li_rc = loo_Http.ConnectToNewObject("Chilkat.Http")
if li_rc < 0 then
    destroy loo_Http
    MessageBox("Error","Connecting to COM object failed")
    return
end if

// Use your previously obtained access token.
// See Get Akeneo Access Token
loo_Http.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": "release_date",
//   "type": "pim_catalog_date",
//   "group": "marketing",
//   "unique": false,
//   "useable_as_grid_filter": true,
//   "allowed_extensions": [],
//   "metric_family": null,
//   "default_metric_unit": null,
//   "reference_data_name": null,
//   "available_locales": [],
//   "max_characters": null,
//   "validation_rule": null,
//   "validation_regexp": null,
//   "wysiwyg_enabled": null,
//   "number_min": null,
//   "number_max": null,
//   "decimals_allowed": null,
//   "negative_allowed": null,
//   "date_min": "2017-06-28T08:00:00",
//   "date_max": "2017-08-08T22:00:00",
//   "max_file_size": null,
//   "minimum_input_length": null,
//   "sort_order": 1,
//   "localizable": false,
//   "scopable": false,
//   "labels": {
//     "en_US": "Sale date",
//     "fr_FR": "Date des soldes"
//   }
// }

loo_Json = create oleobject
li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject")

loo_Json.UpdateString("code","release_date")
loo_Json.UpdateString("type","pim_catalog_date")
loo_Json.UpdateString("group","marketing")
loo_Json.UpdateBool("unique",0)
loo_Json.UpdateBool("useable_as_grid_filter",1)
loo_Json.UpdateNewArray("allowed_extensions")
loo_Json.UpdateNull("metric_family")
loo_Json.UpdateNull("default_metric_unit")
loo_Json.UpdateNull("reference_data_name")
loo_Json.UpdateNewArray("available_locales")
loo_Json.UpdateNull("max_characters")
loo_Json.UpdateNull("validation_rule")
loo_Json.UpdateNull("validation_regexp")
loo_Json.UpdateNull("wysiwyg_enabled")
loo_Json.UpdateNull("number_min")
loo_Json.UpdateNull("number_max")
loo_Json.UpdateNull("decimals_allowed")
loo_Json.UpdateNull("negative_allowed")
loo_Json.UpdateString("date_min","2017-06-28T08:00:00")
loo_Json.UpdateString("date_max","2017-08-08T22:00:00")
loo_Json.UpdateNull("max_file_size")
loo_Json.UpdateNull("minimum_input_length")
loo_Json.UpdateNumber("sort_order","1")
loo_Json.UpdateBool("localizable",0)
loo_Json.UpdateBool("scopable",0)
loo_Json.UpdateString("labels.en_US","Sale date")
loo_Json.UpdateString("labels.fr_FR","Date des soldes")

loo_Json.EmitCompact = 0
// Show the JSON to be sent..
Write-Debug loo_Json.Emit()

ls_Url = "http://pim.my-akeneo-site.com/api/rest/v1/attributes"
loo_Resp = create oleobject
li_rc = loo_Resp.ConnectToNewObject("Chilkat.HttpResponse")

li_Success = loo_Http.HttpJson("POST",ls_Url,loo_Json,"application/json",loo_Resp)
if li_Success = 0 then
    Write-Debug loo_Http.LastErrorText
    destroy loo_Http
    destroy loo_Json
    destroy loo_Resp
    return
end if

Write-Debug "Response Status Code: " + string(loo_Resp.StatusCode)
Write-Debug "Response Body: "
Write-Debug loo_Resp.BodyStr


destroy loo_Http
destroy loo_Json
destroy loo_Resp