PureBasic
PureBasic
MyInvois Malaysia Validate Taxpayer TIN
See more Malaysia MyInvois Examples
Validate specific Tax Identification Number (TIN) before adding this number to an invoice and issuing the invoice.Chilkat PureBasic Downloads
IncludeFile "CkHttpResponse.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkJsonObject.pb"
Procedure ChilkatExample()
success.i = 0
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; Implements the following CURL command:
; curl -X GET https://preprod-api.myinvois.hasil.gov.my/api/v1.0/taxpayer/validate/C1234567890 \
; -d "idType=BRN" \
; -d "idValue=200001009999" \
; -H "Authorization: Bearer <access_token>"
; Use the following online tool to generate HTTP code from a CURL command
; Convert a cURL Command to HTTP Source Code
queryParams.i = CkJsonObject::ckCreate()
If queryParams.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckUpdateString(queryParams,"idType","BRN")
CkJsonObject::ckUpdateString(queryParams,"idValue","200001009999")
; Adds the "Authorization: Bearer <access_token>" header.
CkHttp::setCkAuthToken(http, "<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
resp.i = CkHttpResponse::ckCreate()
If resp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkHttp::ckHttpParams(http,"GET","https://preprod-api.myinvois.hasil.gov.my/api/v1.0/taxpayer/validate/C1234567890",queryParams,resp)
If success = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(queryParams)
CkHttpResponse::ckDispose(resp)
ProcedureReturn
EndIf
Debug Str(CkHttpResponse::ckStatusCode(resp))
Debug CkHttpResponse::ckBodyStr(resp)
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(queryParams)
CkHttpResponse::ckDispose(resp)
ProcedureReturn
EndProcedure