PureBasic
PureBasic
MYOB: Add a Category
See more MYOB Examples
Sends a POST to add a general ledger category.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 --request POST "https://api.myob.com/accountright/c06778dd-4371-4a83-975f-522df65d7574/GeneralLedger/Category" \
; --header "Authorization: Bearer ACCESS_TOKEN" \
; --header "x-myobapi-key: {{myob_api_key}}" \
; --header "x-myobapi-version: v2" \
; --header "Accept-Encoding: gzip,deflate" \
; --data "{
; \"DisplayID\" : \"CAT002\",
; \"Name\" : \"Victoria\",
; \"Description\" : \"Demo API Category Endpoint.\",
; \"IsActive\" : true
; }"
; Use this online tool to generate code from sample JSON:
; Generate Code to Create JSON
; The following JSON is sent in the request body.
; {
; "DisplayID": "CAT002",
; "Name": "Victoria",
; "Description": "Demo API Category Endpoint.",
; "IsActive": true
; }
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckUpdateString(json,"DisplayID","CAT002")
CkJsonObject::ckUpdateString(json,"Name","Victoria")
CkJsonObject::ckUpdateString(json,"Description","Demo API Category Endpoint.")
CkJsonObject::ckUpdateBool(json,"IsActive",1)
CkHttp::ckSetRequestHeader(http,"Authorization","Bearer ACCESS_TOKEN")
CkHttp::ckSetRequestHeader(http,"x-myobapi-key","{{myob_api_key}}")
CkHttp::ckSetRequestHeader(http,"Accept-Encoding","gzip,deflate")
CkHttp::ckSetRequestHeader(http,"x-myobapi-version","v2")
resp.i = CkHttpResponse::ckCreate()
If resp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkHttp::ckHttpJson(http,"POST","https://api.myob.com/accountright/c06778dd-4371-4a83-975f-522df65d7574/GeneralLedger/Category",json,"application/json",resp)
If success = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(json)
CkHttpResponse::ckDispose(resp)
ProcedureReturn
EndIf
respStatusCode.i = CkHttpResponse::ckStatusCode(resp)
Debug "Response Status Code = " + Str(respStatusCode)
If respStatusCode <> 200
Debug "Response Header:"
Debug CkHttpResponse::ckHeader(resp)
Debug "Response Body:"
Debug CkHttpResponse::ckBodyStr(resp)
Debug "Failed."
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(json)
CkHttpResponse::ckDispose(resp)
ProcedureReturn
EndIf
Debug "Success."
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(json)
CkHttpResponse::ckDispose(resp)
ProcedureReturn
EndProcedure