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);

    }