Sample code for 30+ languages & platforms
PureBasic

MYOB: Get List of Company Files

See more MYOB Examples

Gets a list of company files.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkJsonObject.pb"
IncludeFile "CkHttp.pb"

Procedure ChilkatExample()

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

    http.i = CkHttp::ckCreate()
    If http.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkHttp::setCkAuthToken(http, "ACCESS_TOKEN")

    CkHttp::setCkAccept(http, "application/json")

    CkHttp::ckSetRequestHeader(http,"x-myobapi-key","MYOB_API_KEY")
    CkHttp::ckSetRequestHeader(http,"x-myobapi-version","v2")

    strResp.s = CkHttp::ckQuickGetStr(http,"https://ar1.api.myob.com/accountright")
    If CkHttp::ckLastMethodSuccess(http) <> 1
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        ProcedureReturn
    EndIf

    Debug "Response Status Code: " + Str(CkHttp::ckLastStatus(http))

    jsonResponse.i = CkJsonObject::ckCreate()
    If jsonResponse.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkJsonObject::ckLoad(jsonResponse,strResp)
    CkJsonObject::setCkEmitCompact(jsonResponse, 0)
    Debug CkJsonObject::ckEmit(jsonResponse)

    If CkHttp::ckLastStatus(http) <> 200
        Debug "Failed."
        CkHttp::ckDispose(http)
        CkJsonObject::ckDispose(jsonResponse)
        ProcedureReturn
    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"
    ; }
    ; 

    Id.s
    Name.s
    LibraryPath.s
    ProductVersion.s
    ProductLevelCode.i
    ProductLevelName.s
    CheckedOutDate.s
    CheckedOutBy.s
    Uri.s
    Country.s

    Id = CkJsonObject::ckStringOf(jsonResponse,"Id")
    Name = CkJsonObject::ckStringOf(jsonResponse,"Name")
    LibraryPath = CkJsonObject::ckStringOf(jsonResponse,"LibraryPath")
    ProductVersion = CkJsonObject::ckStringOf(jsonResponse,"ProductVersion")
    ProductLevelCode = CkJsonObject::ckIntOf(jsonResponse,"ProductLevel.Code")
    ProductLevelName = CkJsonObject::ckStringOf(jsonResponse,"ProductLevel.Name")
    CheckedOutDate = CkJsonObject::ckStringOf(jsonResponse,"CheckedOutDate")
    CheckedOutBy = CkJsonObject::ckStringOf(jsonResponse,"CheckedOutBy")
    Uri = CkJsonObject::ckStringOf(jsonResponse,"Uri")
    Country = CkJsonObject::ckStringOf(jsonResponse,"Country")


    CkHttp::ckDispose(http)
    CkJsonObject::ckDispose(jsonResponse)


    ProcedureReturn
EndProcedure