Chilkat Online Tools

PureBasic / CleverTap API / Create Campaign API - Target Users by their Identities(PUSH)

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.

    ; {
    ;   "to": {
    ;     "FBID": [
    ;       "102029292929388",
    ;       "114342342453463"
    ;     ],
    ;     "GPID": [
    ;       "1928288389299292"
    ;     ],
    ;     "Email": [
    ;       "john@doe.com",
    ;       "jane@doe.com"
    ;     ],
    ;     "Identity": [
    ;       "JohnDoe"
    ;     ],
    ;     "objectId": [
    ;       "_asdnkansdjknaskdjnasjkndja",
    ;       "-adffajjdfoaiaefiohnefwprjf"
    ;     ]
    ;   },
    ;   "tag_group": "my tag group",
    ;   "respect_frequency_caps": false,
    ;   "content": {
    ;     "title": "Welcome",
    ;     "body": "Hello world!",
    ;     "platform_specific": {
    ;       "windows": {
    ;         "deep_link": "example.com",
    ;         "key": "value_windows"
    ;       },
    ;       "ios": {
    ;         "deep_link": "example.com",
    ;         "sound_file": "example.caf",
    ;         "category": "notification category",
    ;         "badge_count": 1,
    ;         "key": "value_ios"
    ;       },
    ;       "android": {
    ;         "background_image": "http://example.jpg",
    ;         "default_sound": true,
    ;         "deep_link": "example.com",
    ;         "large_icon": "http://example.png",
    ;         "key": "value_android"
    ;       }
    ;     }
    ;   }
    ; }

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

    CkJsonObject::ckUpdateString(json,"to.FBID[0]","102029292929388")
    CkJsonObject::ckUpdateString(json,"to.FBID[1]","114342342453463")
    CkJsonObject::ckUpdateString(json,"to.GPID[0]","1928288389299292")
    CkJsonObject::ckUpdateString(json,"to.Email[0]","john@doe.com")
    CkJsonObject::ckUpdateString(json,"to.Email[1]","jane@doe.com")
    CkJsonObject::ckUpdateString(json,"to.Identity[0]","JohnDoe")
    CkJsonObject::ckUpdateString(json,"to.objectId[0]","_asdnkansdjknaskdjnasjkndja")
    CkJsonObject::ckUpdateString(json,"to.objectId[1]","-adffajjdfoaiaefiohnefwprjf")
    CkJsonObject::ckUpdateString(json,"tag_group","my tag group")
    CkJsonObject::ckUpdateBool(json,"respect_frequency_caps",0)
    CkJsonObject::ckUpdateString(json,"content.title","Welcome")
    CkJsonObject::ckUpdateString(json,"content.body","Hello world!")
    CkJsonObject::ckUpdateString(json,"content.platform_specific.windows.deep_link","example.com")
    CkJsonObject::ckUpdateString(json,"content.platform_specific.windows.key","value_windows")
    CkJsonObject::ckUpdateString(json,"content.platform_specific.ios.deep_link","example.com")
    CkJsonObject::ckUpdateString(json,"content.platform_specific.ios.sound_file","example.caf")
    CkJsonObject::ckUpdateString(json,"content.platform_specific.ios.category","notification category")
    CkJsonObject::ckUpdateInt(json,"content.platform_specific.ios.badge_count",1)
    CkJsonObject::ckUpdateString(json,"content.platform_specific.ios.key","value_ios")
    CkJsonObject::ckUpdateString(json,"content.platform_specific.android.background_image","http://example.jpg")
    CkJsonObject::ckUpdateBool(json,"content.platform_specific.android.default_sound",1)
    CkJsonObject::ckUpdateString(json,"content.platform_specific.android.deep_link","example.com")
    CkJsonObject::ckUpdateString(json,"content.platform_specific.android.large_icon","http://example.png")
    CkJsonObject::ckUpdateString(json,"content.platform_specific.android.key","value_android")

    CkHttp::ckSetRequestHeader(http,"X-CleverTap-Passcode","{{passcode}}")
    CkHttp::ckSetRequestHeader(http,"X-CleverTap-Account-Id","{{id}}")
    CkHttp::ckSetRequestHeader(http,"Content-Type","{{type}}")

    resp.i = CkHttp::ckPostJson3(http,"https://api.clevertap.com/1/send/push.json","{{type}}",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: {{type}}"
	-d '{
    "to": {
        "FBID": [
            "102029292929388",
            "114342342453463"
        ],
        "GPID": [
            "1928288389299292"
        ],
        "Email": [
            "john@doe.com",
            "jane@doe.com"
        ],
        "Identity": [
            "JohnDoe"
        ],
        "objectId": [
            "_asdnkansdjknaskdjnasjkndja",
            "-adffajjdfoaiaefiohnefwprjf"
        ]
    },
    "tag_group": "my tag group",
    "respect_frequency_caps": false,
    "content": {
        "title": "Welcome",
        "body": "Hello world!",
        "platform_specific": {
            "windows": {
                "deep_link": "example.com",
                "key": "value_windows"
            },
            "ios": {
                "deep_link": "example.com",
                "sound_file": "example.caf",
                "category": "notification category",
                "badge_count": 1,
                "key": "value_ios"
            },
            "android": {
                "background_image": "http://example.jpg",
                "default_sound": true,
                "deep_link": "example.com",
                "large_icon": "http://example.png",
                "key": "value_android"
            }
        }
    }
}'
https://api.clevertap.com/1/send/push.json

Postman Collection Item JSON

{
  "name": "Create Campaign API - Target Users by their Identities(PUSH)",
  "request": {
    "method": "POST",
    "header": [
      {
        "key": "X-CleverTap-Account-Id",
        "value": "{{id}}"
      },
      {
        "key": "X-CleverTap-Passcode",
        "value": "{{passcode}}"
      },
      {
        "key": "Content-Type",
        "value": "{{type}}"
      }
    ],
    "body": {
      "mode": "raw",
      "raw": "{\n    \"to\": {\n        \"FBID\": [\n            \"102029292929388\",\n            \"114342342453463\"\n        ],\n        \"GPID\": [\n            \"1928288389299292\"\n        ],\n        \"Email\": [\n            \"john@doe.com\",\n            \"jane@doe.com\"\n        ],\n        \"Identity\": [\n            \"JohnDoe\"\n        ],\n        \"objectId\": [\n            \"_asdnkansdjknaskdjnasjkndja\",\n            \"-adffajjdfoaiaefiohnefwprjf\"\n        ]\n    },\n    \"tag_group\": \"my tag group\",\n    \"respect_frequency_caps\": false,\n    \"content\": {\n        \"title\": \"Welcome\",\n        \"body\": \"Hello world!\",\n        \"platform_specific\": {\n            \"windows\": {\n                \"deep_link\": \"example.com\",\n                \"key\": \"value_windows\"\n            },\n            \"ios\": {\n                \"deep_link\": \"example.com\",\n                \"sound_file\": \"example.caf\",\n                \"category\": \"notification category\",\n                \"badge_count\": 1,\n                \"key\": \"value_ios\"\n            },\n            \"android\": {\n                \"background_image\": \"http://example.jpg\",\n                \"default_sound\": true,\n                \"deep_link\": \"example.com\",\n                \"large_icon\": \"http://example.png\",\n                \"key\": \"value_android\"\n            }\n        }\n    }\n}"
    },
    "url": {
      "raw": "https://api.clevertap.com/1/send/push.json",
      "protocol": "https",
      "host": [
        "api",
        "clevertap",
        "com"
      ],
      "path": [
        "1",
        "send",
        "push.json"
      ]
    }
  },
  "response": [
  ]
}