Chilkat Online Tools

PureBasic / LHDN MyInvois SDK / Login as Intermediary System

Back to Collection Items

IncludeFile "CkHttp.pb"
IncludeFile "CkHttpResponse.pb"
IncludeFile "CkHttpRequest.pb"

Procedure ChilkatExample()

    ; 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

    success.i

    req.i = CkHttpRequest::ckCreate()
    If req.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkHttpRequest::ckAddParam(req,"grant_type","client_credentials")
    CkHttpRequest::ckAddParam(req,"scope","InvoicingAPI")

    CkHttpRequest::ckAddHeader(req,"client_id","{{clientId}}")
    CkHttpRequest::ckAddHeader(req,"grant_type","client_credentials")
    CkHttpRequest::ckAddHeader(req,"onbehalfof","100015840")
    CkHttpRequest::ckAddHeader(req,"client_secret","{{clientSecret}}")

    resp.i = CkHttpResponse::ckCreate()
    If resp.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkHttpRequest::setCkHttpVerb(req, "POST")
    CkHttpRequest::setCkContentType(req, "application/x-www-form-urlencoded")
    success = CkHttp::ckHttpReq(http,"https://{{apiBaseUrl}}/connect/token",req,resp)
    If success = 0
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        CkHttpRequest::ckDispose(req)
        CkHttpResponse::ckDispose(resp)
        ProcedureReturn
    EndIf

    Debug Str(CkHttpResponse::ckStatusCode(resp))
    Debug CkHttpResponse::ckBodyStr(resp)


    CkHttp::ckDispose(http)
    CkHttpRequest::ckDispose(req)
    CkHttpResponse::ckDispose(resp)


    ProcedureReturn
EndProcedure

Curl Command

curl -X POST
	-H "client_id: {{clientId}}"
	-H "client_secret: {{clientSecret}}"
	-H "onbehalfof: 100015840"
	-H "grant_type: client_credentials"
	--data-urlencode 'grant_type=client_credentials'
	--data-urlencode 'scope=InvoicingAPI'
https://{{apiBaseUrl}}/connect/token

Postman Collection Item JSON

{
  "name": "Login as Intermediary System",
  "request": {
    "method": "POST",
    "header": [
      {
        "key": "client_id",
        "value": "{{clientId}}",
        "type": "text",
        "uuid": "df451b49-4e2b-4868-a180-1d01df266117"
      },
      {
        "key": "client_secret",
        "value": "{{clientSecret}}",
        "type": "text",
        "uuid": "c693de12-7723-4be2-aec1-00c1cdc7a797"
      },
      {
        "key": "onbehalfof",
        "value": "100015840",
        "type": "text",
        "uuid": "d55cb4b6-59f8-4f19-95a2-db6780b8152d"
      },
      {
        "key": "grant_type",
        "value": "client_credentials",
        "type": "text",
        "uuid": "7386ca83-cce5-4b62-bcb0-06e464a3b67f"
      }
    ],
    "body": {
      "mode": "urlencoded",
      "urlencoded": [
        {
          "key": "grant_type",
          "value": "client_credentials",
          "type": "text"
        },
        {
          "key": "scope",
          "value": "InvoicingAPI",
          "type": "text"
        }
      ]
    },
    "url": {
      "raw": "https://{{apiBaseUrl}}/connect/token",
      "protocol": "https",
      "host": [
        "{{apiBaseUrl}}"
      ],
      "path": [
        "connect",
        "token"
      ]
    }
  },
  "response": [
  ]
}