Sample code for 30+ languages & platforms
Lianja

MYOB: Get List of Company Files

See more MYOB Examples

Gets a list of company files.

Chilkat Lianja Downloads

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

loHttp = createobject("CkHttp")

loHttp.AuthToken = "ACCESS_TOKEN"

loHttp.Accept = "application/json"

loHttp.SetRequestHeader("x-myobapi-key","MYOB_API_KEY")
loHttp.SetRequestHeader("x-myobapi-version","v2")

lcStrResp = loHttp.QuickGetStr("https://ar1.api.myob.com/accountright")
if (loHttp.LastMethodSuccess <> .T.) then
    ? loHttp.LastErrorText
    release loHttp
    return
endif

? "Response Status Code: " + str(loHttp.LastStatus)

loJsonResponse = createobject("CkJsonObject")
loJsonResponse.Load(lcStrResp)
loJsonResponse.EmitCompact = .F.
? loJsonResponse.Emit()

if (loHttp.LastStatus <> 200) then
    ? "Failed."
    release loHttp
    release loJsonResponse
    return
endif

// 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"
// }
// 

lcId = loJsonResponse.StringOf("Id")
lcName = loJsonResponse.StringOf("Name")
lcLibraryPath = loJsonResponse.StringOf("LibraryPath")
lcProductVersion = loJsonResponse.StringOf("ProductVersion")
lnProductLevelCode = loJsonResponse.IntOf("ProductLevel.Code")
lcProductLevelName = loJsonResponse.StringOf("ProductLevel.Name")
lcCheckedOutDate = loJsonResponse.StringOf("CheckedOutDate")
lcCheckedOutBy = loJsonResponse.StringOf("CheckedOutBy")
lcUri = loJsonResponse.StringOf("Uri")
lcCountry = loJsonResponse.StringOf("Country")


release loHttp
release loJsonResponse