PureBasic / CleverTap API / Upload Events API
Back to Collection Items
IncludeFile "CkJsonObject.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpResponse.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
; Use this online tool to generate code from sample JSON: Generate Code to Create JSON
; The following JSON is sent in the request body.
; {
; "d": [
; {
; "identity": "34322423",
; "type": "event",
; "evtName": "Product viewed",
; "evtData": {
; "Product name": "Casio Chronograph Watch",
; "Category": "Mens Watch",
; "Price": 59.99,
; "Currency": "USD"
; }
; }
; ]
; }
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckUpdateString(json,"d[0].identity","34322423")
CkJsonObject::ckUpdateString(json,"d[0].type","event")
CkJsonObject::ckUpdateString(json,"d[0].evtName","Product viewed")
CkJsonObject::ckUpdateString(json,"d[0].evtData." + Chr(34) + "Product name" + Chr(34),"Casio Chronograph Watch")
CkJsonObject::ckUpdateString(json,"d[0].evtData.Category","Mens Watch")
CkJsonObject::ckUpdateNumber(json,"d[0].evtData.Price","59.99")
CkJsonObject::ckUpdateString(json,"d[0].evtData.Currency","USD")
CkHttp::ckSetRequestHeader(http,"X-CleverTap-Passcode","{{passcode}}")
CkHttp::ckSetRequestHeader(http,"X-CleverTap-Account-Id","{{id}}")
CkHttp::ckSetRequestHeader(http,"Content-Type","application/json")
resp.i = CkHttp::ckPostJson3(http,"https://api.clevertap.com/1/upload","application/json",json)
If CkHttp::ckLastMethodSuccess(http) = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndIf
Debug Str(CkHttpResponse::ckStatusCode(resp))
Debug CkHttpResponse::ckBodyStr(resp)
CkHttpResponse::ckDispose(resp)
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndProcedure
Curl Command
curl -X POST
-H "X-CleverTap-Account-Id: {{id}}"
-H "X-CleverTap-Passcode: {{passcode}}"
-H "Content-Type: application/json"
-d '{ "d": [ { "identity": "34322423", "type": "event", "evtName": "Product viewed", "evtData": { "Product name": "Casio Chronograph Watch", "Category": "Mens Watch", "Price": 59.99, "Currency": "USD" } } ] }'
https://api.clevertap.com/1/upload
Postman Collection Item JSON
{
"name": "Upload Events API",
"request": {
"method": "POST",
"header": [
{
"key": "X-CleverTap-Account-Id",
"value": "{{id}}"
},
{
"key": "X-CleverTap-Passcode",
"value": "{{passcode}}"
},
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{ \"d\": [ { \"identity\": \"34322423\", \"type\": \"event\", \"evtName\": \"Product viewed\", \"evtData\": { \"Product name\": \"Casio Chronograph Watch\", \"Category\": \"Mens Watch\", \"Price\": 59.99, \"Currency\": \"USD\" } } ] }"
},
"url": {
"raw": "https://api.clevertap.com/1/upload",
"protocol": "https",
"host": [
"api",
"clevertap",
"com"
],
"path": [
"1",
"upload"
]
}
},
"response": [
]
}