Sample code for 30+ languages & platforms
Swift

MYOB: Get List of Company Files

See more MYOB Examples

Gets a list of company files.

Chilkat Swift Downloads

Swift

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

    let http = CkoHttp()!

    http.authToken = "ACCESS_TOKEN"

    http.accept = "application/json"

    http.setRequestHeader(name: "x-myobapi-key", value: "MYOB_API_KEY")
    http.setRequestHeader(name: "x-myobapi-version", value: "v2")

    var strResp: String? = http.quickGetStr(url: "https://ar1.api.myob.com/accountright")
    if http.lastMethodSuccess != true {
        print("\(http.lastErrorText!)")
        return
    }

    print("Response Status Code: \(http.lastStatus.intValue)")

    let jsonResponse = CkoJsonObject()!
    jsonResponse.load(json: strResp)
    jsonResponse.emitCompact = false
    print("\(jsonResponse.emit()!)")

    if http.lastStatus.intValue != 200 {
        print("Failed.")
        return
    }

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

    var Id: String?
    var Name: String?
    var LibraryPath: String?
    var ProductVersion: String?
    var ProductLevelCode: Int
    var ProductLevelName: String?
    var CheckedOutDate: String?
    var CheckedOutBy: String?
    var Uri: String?
    var Country: String?

    Id = jsonResponse.string(of: "Id")
    Name = jsonResponse.string(of: "Name")
    LibraryPath = jsonResponse.string(of: "LibraryPath")
    ProductVersion = jsonResponse.string(of: "ProductVersion")
    ProductLevelCode = jsonResponse.int(of: "ProductLevel.Code").intValue
    ProductLevelName = jsonResponse.string(of: "ProductLevel.Name")
    CheckedOutDate = jsonResponse.string(of: "CheckedOutDate")
    CheckedOutBy = jsonResponse.string(of: "CheckedOutBy")
    Uri = jsonResponse.string(of: "Uri")
    Country = jsonResponse.string(of: "Country")

}