PowerBuilder
PowerBuilder
Akeneo: Create New Attribute
See more HTTP Misc Examples
Demonstrates how to create a new attribute.Chilkat PowerBuilder Downloads
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