Sample code for 30+ languages & platforms
C#

MyInvois Malaysia Get Document Types

See more Malaysia MyInvois Examples

There are multiple types of documents supported by MyInvois, and this API retrieves their definitions through API call.

Chilkat C# Downloads

C#
bool success = false;

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

Chilkat.Http http = new Chilkat.Http();

// Adds the "Authorization: Bearer <access_token>" header.
http.AuthToken = "<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

Chilkat.StringBuilder sb = new Chilkat.StringBuilder();
success = http.QuickGetSb("https://preprod-api.myinvois.hasil.gov.my/api/v1.0/documenttypes",sb);
if (success == false) {
    Debug.WriteLine(http.LastErrorText);
    return;
}

int statusCode = http.LastStatus;
Debug.WriteLine("response status code = " + Convert.ToString(statusCode));

if (statusCode != 200) {
    // Failed.
    Debug.WriteLine(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

Chilkat.JsonObject json = new Chilkat.JsonObject();
json.LoadSb(sb);

int id;
int invoiceTypeCode;
string description;
string activeFrom;
string activeTo;
int j;
int count_j;
string name;
string versionNumber;
string status;

int i = 0;
int count_i = json.SizeOfArray("result");
while (i < count_i) {
    json.I = i;
    id = json.IntOf("result[i].id");
    invoiceTypeCode = json.IntOf("result[i].invoiceTypeCode");
    description = json.StringOf("result[i].description");
    activeFrom = json.StringOf("result[i].activeFrom");
    activeTo = json.StringOf("result[i].activeTo");
    j = 0;
    count_j = json.SizeOfArray("result[i].documentTypeVersions");
    while (j < count_j) {
        json.J = j;
        id = json.IntOf("result[i].documentTypeVersions[j].id");
        name = json.StringOf("result[i].documentTypeVersions[j].name");
        description = json.StringOf("result[i].documentTypeVersions[j].description");
        activeFrom = json.StringOf("result[i].documentTypeVersions[j].activeFrom");
        activeTo = json.StringOf("result[i].documentTypeVersions[j].activeTo");
        versionNumber = json.StringOf("result[i].documentTypeVersions[j].versionNumber");
        status = json.StringOf("result[i].documentTypeVersions[j].status");
        j = j + 1;
    }

    i = i + 1;
}