Sample code for 30+ languages & platforms
Unicode C

MYOB: Get List of Company Files

See more MYOB Examples

Gets a list of company files.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkHttpW.h>
#include <C_CkJsonObjectW.h>

void ChilkatSample(void)
    {
    HCkHttpW http;
    const wchar_t *strResp;
    HCkJsonObjectW jsonResponse;
    const wchar_t *Id;
    const wchar_t *Name;
    const wchar_t *LibraryPath;
    const wchar_t *ProductVersion;
    int ProductLevelCode;
    const wchar_t *ProductLevelName;
    const wchar_t *CheckedOutDate;
    const wchar_t *CheckedOutBy;
    const wchar_t *Uri;
    const wchar_t *Country;

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

    http = CkHttpW_Create();

    CkHttpW_putAuthToken(http,L"ACCESS_TOKEN");

    CkHttpW_putAccept(http,L"application/json");

    CkHttpW_SetRequestHeader(http,L"x-myobapi-key",L"MYOB_API_KEY");
    CkHttpW_SetRequestHeader(http,L"x-myobapi-version",L"v2");

    strResp = CkHttpW_quickGetStr(http,L"https://ar1.api.myob.com/accountright");
    if (CkHttpW_getLastMethodSuccess(http) != TRUE) {
        wprintf(L"%s\n",CkHttpW_lastErrorText(http));
        CkHttpW_Dispose(http);
        return;
    }

    wprintf(L"Response Status Code: %d\n",CkHttpW_getLastStatus(http));

    jsonResponse = CkJsonObjectW_Create();
    CkJsonObjectW_Load(jsonResponse,strResp);
    CkJsonObjectW_putEmitCompact(jsonResponse,FALSE);
    wprintf(L"%s\n",CkJsonObjectW_emit(jsonResponse));

    if (CkHttpW_getLastStatus(http) != 200) {
        wprintf(L"Failed.\n");
        CkHttpW_Dispose(http);
        CkJsonObjectW_Dispose(jsonResponse);
        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"
    //  }
    //  

    Id = CkJsonObjectW_stringOf(jsonResponse,L"Id");
    Name = CkJsonObjectW_stringOf(jsonResponse,L"Name");
    LibraryPath = CkJsonObjectW_stringOf(jsonResponse,L"LibraryPath");
    ProductVersion = CkJsonObjectW_stringOf(jsonResponse,L"ProductVersion");
    ProductLevelCode = CkJsonObjectW_IntOf(jsonResponse,L"ProductLevel.Code");
    ProductLevelName = CkJsonObjectW_stringOf(jsonResponse,L"ProductLevel.Name");
    CheckedOutDate = CkJsonObjectW_stringOf(jsonResponse,L"CheckedOutDate");
    CheckedOutBy = CkJsonObjectW_stringOf(jsonResponse,L"CheckedOutBy");
    Uri = CkJsonObjectW_stringOf(jsonResponse,L"Uri");
    Country = CkJsonObjectW_stringOf(jsonResponse,L"Country");


    CkHttpW_Dispose(http);
    CkJsonObjectW_Dispose(jsonResponse);

    }