Sample code for 30+ languages & platforms
Tcl

MYOB: Get List of Company Files

See more MYOB Examples

Gets a list of company files.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

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

set http [new_CkHttp]

CkHttp_put_AuthToken $http "ACCESS_TOKEN"

CkHttp_put_Accept $http "application/json"

CkHttp_SetRequestHeader $http "x-myobapi-key" "MYOB_API_KEY"
CkHttp_SetRequestHeader $http "x-myobapi-version" "v2"

set strResp [CkHttp_quickGetStr $http "https://ar1.api.myob.com/accountright"]
if {[CkHttp_get_LastMethodSuccess $http] != 1} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttp $http
    exit
}

puts "Response Status Code: [CkHttp_get_LastStatus $http]"

set jsonResponse [new_CkJsonObject]

CkJsonObject_Load $jsonResponse $strResp
CkJsonObject_put_EmitCompact $jsonResponse 0
puts [CkJsonObject_emit $jsonResponse]

if {[CkHttp_get_LastStatus $http] != 200} then {
    puts "Failed."
    delete_CkHttp $http
    delete_CkJsonObject $jsonResponse
    exit
}

# Sample output...
# (See the parsing code below..)
# 
# Use the this online tool to generate parsing code from sample JSON: 
# Generate Parsing Code from JSON

# {
#   "Id": "d2014f64-ffdf-487b-8d12-67a20976aca6",
#   "Name": "Internal Sandbox API",
#   "LibraryPath": "Internal Sandbox API",
#   "ProductVersion": "2013.0",
#   "ProductLevel": {
#     "Code": 20,
#     "Name": "Standard"
#   },
#   "CheckedOutDate": "2013-06-11T01:47:47.0065514",
#   "CheckedOutBy": "developers@myob.com",
#   "Uri": "{cf_uri}",
#   "Country": "AU"
# }
# 

set Id [CkJsonObject_stringOf $jsonResponse "Id"]
set Name [CkJsonObject_stringOf $jsonResponse "Name"]
set LibraryPath [CkJsonObject_stringOf $jsonResponse "LibraryPath"]
set ProductVersion [CkJsonObject_stringOf $jsonResponse "ProductVersion"]
set ProductLevelCode [CkJsonObject_IntOf $jsonResponse "ProductLevel.Code"]
set ProductLevelName [CkJsonObject_stringOf $jsonResponse "ProductLevel.Name"]
set CheckedOutDate [CkJsonObject_stringOf $jsonResponse "CheckedOutDate"]
set CheckedOutBy [CkJsonObject_stringOf $jsonResponse "CheckedOutBy"]
set Uri [CkJsonObject_stringOf $jsonResponse "Uri"]
set Country [CkJsonObject_stringOf $jsonResponse "Country"]

delete_CkHttp $http
delete_CkJsonObject $jsonResponse