Visual FoxPro
Visual FoxPro
Akeneo: Create New Attribute
See more HTTP Misc Examples
Demonstrates how to create a new attribute.Chilkat Visual FoxPro Downloads
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": "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"
* }
* }
loJson = CreateObject('Chilkat.JsonObject')
loJson.UpdateString("code","release_date")
loJson.UpdateString("type","pim_catalog_date")
loJson.UpdateString("group","marketing")
loJson.UpdateBool("unique",0)
loJson.UpdateBool("useable_as_grid_filter",1)
loJson.UpdateNewArray("allowed_extensions")
loJson.UpdateNull("metric_family")
loJson.UpdateNull("default_metric_unit")
loJson.UpdateNull("reference_data_name")
loJson.UpdateNewArray("available_locales")
loJson.UpdateNull("max_characters")
loJson.UpdateNull("validation_rule")
loJson.UpdateNull("validation_regexp")
loJson.UpdateNull("wysiwyg_enabled")
loJson.UpdateNull("number_min")
loJson.UpdateNull("number_max")
loJson.UpdateNull("decimals_allowed")
loJson.UpdateNull("negative_allowed")
loJson.UpdateString("date_min","2017-06-28T08:00:00")
loJson.UpdateString("date_max","2017-08-08T22:00:00")
loJson.UpdateNull("max_file_size")
loJson.UpdateNull("minimum_input_length")
loJson.UpdateNumber("sort_order","1")
loJson.UpdateBool("localizable",0)
loJson.UpdateBool("scopable",0)
loJson.UpdateString("labels.en_US","Sale date")
loJson.UpdateString("labels.fr_FR","Date des soldes")
loJson.EmitCompact = 0
* Show the JSON to be sent..
? loJson.Emit()
lcUrl = "http://pim.my-akeneo-site.com/api/rest/v1/attributes"
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