Sample code for 30+ languages & platforms
Tcl

MYOB: Add a Category

See more MYOB Examples

Sends a POST to add a general ledger category.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

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

set http [new_CkHttp]

# Implements the following CURL command:

# curl --request POST "https://api.myob.com/accountright/c06778dd-4371-4a83-975f-522df65d7574/GeneralLedger/Category" \
#   --header "Authorization: Bearer ACCESS_TOKEN" \
#   --header "x-myobapi-key: {{myob_api_key}}" \
#   --header "x-myobapi-version: v2" \
#   --header "Accept-Encoding: gzip,deflate" \
#   --data "{
# \"DisplayID\" : \"CAT002\",
# \"Name\" : \"Victoria\",
# \"Description\" : \"Demo API Category Endpoint.\",
# \"IsActive\" : true
# }"

# Use this online tool to generate code from sample JSON:
# Generate Code to Create JSON

# The following JSON is sent in the request body.

# {
#   "DisplayID": "CAT002",
#   "Name": "Victoria",
#   "Description": "Demo API Category Endpoint.",
#   "IsActive": true
# }

set json [new_CkJsonObject]

CkJsonObject_UpdateString $json "DisplayID" "CAT002"
CkJsonObject_UpdateString $json "Name" "Victoria"
CkJsonObject_UpdateString $json "Description" "Demo API Category Endpoint."
CkJsonObject_UpdateBool $json "IsActive" 1

CkHttp_SetRequestHeader $http "Authorization" "Bearer ACCESS_TOKEN"
CkHttp_SetRequestHeader $http "x-myobapi-key" "{{myob_api_key}}"
CkHttp_SetRequestHeader $http "Accept-Encoding" "gzip,deflate"
CkHttp_SetRequestHeader $http "x-myobapi-version" "v2"

set resp [new_CkHttpResponse]

set success [CkHttp_HttpJson $http "POST" "https://api.myob.com/accountright/c06778dd-4371-4a83-975f-522df65d7574/GeneralLedger/Category" $json "application/json" $resp]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttp $http
    delete_CkJsonObject $json
    delete_CkHttpResponse $resp
    exit
}

set respStatusCode [CkHttpResponse_get_StatusCode $resp]
puts "Response Status Code = $respStatusCode"
if {$respStatusCode != 200} then {
    puts "Response Header:"
    puts [CkHttpResponse_header $resp]
    puts "Response Body:"
    puts [CkHttpResponse_bodyStr $resp]
    puts "Failed."
    delete_CkHttp $http
    delete_CkJsonObject $json
    delete_CkHttpResponse $resp
    exit
}

puts "Success."

delete_CkHttp $http
delete_CkJsonObject $json
delete_CkHttpResponse $resp