Sample code for 30+ languages & platforms
Go

Akeneo: Create New Attribute

See more HTTP Misc Examples

Demonstrates how to create a new attribute.

Chilkat Go Downloads

Go
    success := false

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

    http := chilkat.NewHttp()

    // Use your previously obtained access token.
    // See Get Akeneo Access Token
    http.SetAuthToken("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"
    //   }
    // }

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

    json.SetEmitCompact(false)
    // Show the JSON to be sent..
    fmt.Println(*json.Emit())

    url := "http://pim.my-akeneo-site.com/api/rest/v1/attributes"
    resp := chilkat.NewHttpResponse()
    success = http.HttpJson("POST",url,json,"application/json",resp)
    if success == false {
        fmt.Println(http.LastErrorText())
        http.DisposeHttp()
        json.DisposeJsonObject()
        resp.DisposeHttpResponse()
        return
    }

    fmt.Println("Response Status Code: ", resp.StatusCode())
    fmt.Println("Response Body: ")
    fmt.Println(resp.BodyStr())

    http.DisposeHttp()
    json.DisposeJsonObject()
    resp.DisposeHttpResponse()