![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Unicode C++) MyInvois Malaysia Get Document TypesSee more Malaysia MyInvois ExamplesThere are multiple types of documents supported by MyInvois, and this API retrieves their definitions through API call.For more information, see https://sdk.myinvois.hasil.gov.my/api/03-get-document-types/
#include <CkHttpW.h> #include <CkStringBuilderW.h> #include <CkJsonObjectW.h> void ChilkatSample(void) { // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkHttpW http; // Adds the "Authorization: Bearer <access_token>" header. http.put_AuthToken(L"<access_token>"); // Note: The access token is valid for a short amount of time. Perhaps 1 hour. // The access token is used in the "Authorization: Bearer <access_token>" header in subsequent requests until it expires. // Your application would then need to get a new access token, and so on.. // To get an access token, see How to Get a MyInvois Access Token CkStringBuilderW sb; bool success = http.QuickGetSb(L"https://preprod-api.myinvois.hasil.gov.my/api/v1.0/documenttypes",sb); if (success == false) { wprintf(L"%s\n",http.lastErrorText()); return; } int statusCode = http.get_LastStatus(); wprintf(L"response status code = %d\n",statusCode); if (statusCode != 200) { // Failed. wprintf(L"%s\n",sb.getAsString()); return; } // Sample response: // {"result": // [ // {"id":45, // "invoiceTypeCode":4, // "description":"Invoice", // "activeFrom":"2015-02-13T13:15:00Z", // "activeTo":"2027-03-01T00:00:00Z", // "documentTypeVersions": // [ // {"id":454, // "name":"1.0", // "description":"Invoice version 1.1", // "activeFrom":"2015-02-13T13:15:00Z", // "activeTo":"2027-03-01T00:00:00Z", // "versionNumber":1.1, // "status":"published" // } // ] // } // ] // } // Use this online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON CkJsonObjectW json; json.LoadSb(sb); int id; int invoiceTypeCode; const wchar_t *description = 0; const wchar_t *activeFrom = 0; const wchar_t *activeTo = 0; int j; int count_j; const wchar_t *name = 0; const wchar_t *versionNumber = 0; const wchar_t *status = 0; int i = 0; int count_i = json.SizeOfArray(L"result"); while (i < count_i) { json.put_I(i); id = json.IntOf(L"result[i].id"); invoiceTypeCode = json.IntOf(L"result[i].invoiceTypeCode"); description = json.stringOf(L"result[i].description"); activeFrom = json.stringOf(L"result[i].activeFrom"); activeTo = json.stringOf(L"result[i].activeTo"); j = 0; count_j = json.SizeOfArray(L"result[i].documentTypeVersions"); while (j < count_j) { json.put_J(j); id = json.IntOf(L"result[i].documentTypeVersions[j].id"); name = json.stringOf(L"result[i].documentTypeVersions[j].name"); description = json.stringOf(L"result[i].documentTypeVersions[j].description"); activeFrom = json.stringOf(L"result[i].documentTypeVersions[j].activeFrom"); activeTo = json.stringOf(L"result[i].documentTypeVersions[j].activeTo"); versionNumber = json.stringOf(L"result[i].documentTypeVersions[j].versionNumber"); status = json.stringOf(L"result[i].documentTypeVersions[j].status"); j = j + 1; } i = i + 1; } } |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.