Chilkat Online Tools

PowerBuilder / Zoom API / Get webinar tracking sources

Back to Collection Items

integer li_rc
oleobject loo_Http
integer li_Success
oleobject loo_SbResponseBody
oleobject loo_JResp
integer li_RespStatusCode
string ls_Id
string ls_Source_name
integer li_Visitor_count
integer li_Registrationr_count
string ls_Tracking_url
integer li_Total_records
integer i
integer li_Count_i

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

loo_Http = create oleobject
// Use "Chilkat_9_5_0.Http" for versions of Chilkat < 10.0.0
li_rc = loo_Http.ConnectToNewObject("Chilkat.Http")
if li_rc < 0 then
    destroy loo_Http
    MessageBox("Error","Connecting to COM object failed")
    return
end if

// Adds the "Authorization: Bearer <access_token>" header.
loo_Http.AuthToken = "<access_token>"

loo_SbResponseBody = create oleobject
// Use "Chilkat_9_5_0.StringBuilder" for versions of Chilkat < 10.0.0
li_rc = loo_SbResponseBody.ConnectToNewObject("Chilkat.StringBuilder")

li_Success = loo_Http.QuickGetSb("https://api.zoom.us/v2/webinars/:webinarId/tracking_sources",loo_SbResponseBody)
if li_Success = 0 then
    Write-Debug loo_Http.LastErrorText
    destroy loo_Http
    destroy loo_SbResponseBody
    return
end if

loo_JResp = create oleobject
// Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0
li_rc = loo_JResp.ConnectToNewObject("Chilkat.JsonObject")

loo_JResp.LoadSb(loo_SbResponseBody)
loo_JResp.EmitCompact = 0

Write-Debug "Response Body:"
Write-Debug loo_JResp.Emit()

li_RespStatusCode = loo_Http.LastStatus
Write-Debug "Response Status Code = " + string(li_RespStatusCode)
if li_RespStatusCode >= 400 then
    Write-Debug "Response Header:"
    Write-Debug loo_Http.LastHeader
    Write-Debug "Failed."
    destroy loo_Http
    destroy loo_SbResponseBody
    destroy loo_JResp
    return
end if

// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)

// {
//   "total_records": 1,
//   "tracking_sources": [
//     {
//       "id": "1100011100",
//       "source_name": "general",
//       "visitor_count": 2,
//       "registrationr_count": 1,
//       "tracking_url": "https://zoom.us/webinar/register/1100011100/WN_6ToMP5n6Quas2SdMjIWu7Q"
//     }
//   ]
// }

// Sample code for parsing the JSON response...
// Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code

li_Total_records = loo_JResp.IntOf("total_records")
i = 0
li_Count_i = loo_JResp.SizeOfArray("tracking_sources")
do while i < li_Count_i
    loo_JResp.I = i
    ls_Id = loo_JResp.StringOf("tracking_sources[i].id")
    ls_Source_name = loo_JResp.StringOf("tracking_sources[i].source_name")
    li_Visitor_count = loo_JResp.IntOf("tracking_sources[i].visitor_count")
    li_Registrationr_count = loo_JResp.IntOf("tracking_sources[i].registrationr_count")
    ls_Tracking_url = loo_JResp.StringOf("tracking_sources[i].tracking_url")
    i = i + 1
loop


destroy loo_Http
destroy loo_SbResponseBody
destroy loo_JResp

Curl Command

curl -X GET
	-H "Authorization: Bearer <access_token>"
https://api.zoom.us/v2/webinars/:webinarId/tracking_sources

Postman Collection Item JSON

{
  "name": "Get webinar tracking sources",
  "request": {
    "auth": {
      "type": "oauth2"
    },
    "method": "GET",
    "header": [
    ],
    "url": {
      "raw": "{{baseUrl}}/webinars/:webinarId/tracking_sources",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "webinars",
        ":webinarId",
        "tracking_sources"
      ],
      "variable": [
        {
          "key": "webinarId",
          "value": "68423085",
          "description": "(Required) The webinar's ID."
        }
      ]
    },
    "description": "[Webinar Registration Tracking Sources](https://support.zoom.us/hc/en-us/articles/360000315683-Webinar-Registration-Source-Tracking) allow you to see where your registrants are coming from if you share the webinar registration page in multiple platforms. You can then use the source tracking to see the number of registrants generated from each platform.<br> Use this API to list information on all the tracking sources of a Webinar.<br>\n**Scopes:** `webinar:read:admin`, `webinar:read`<br>\n \n **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`<br>\n**Prerequisites**:<br>\n* [Webinar license](https://zoom.us/webinar).\n* Registration must be required for the Webinar.\n"
  },
  "response": [
    {
      "name": "**HTTP Status Code:** `200`",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "description": "Added as a part of security scheme: oauth2",
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/webinars/:webinarId/tracking_sources",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "webinars",
            ":webinarId",
            "tracking_sources"
          ],
          "variable": [
            {
              "key": "webinarId",
              "value": "68423085",
              "description": "(Required) The webinar's ID."
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n \"total_records\": 1,\n \"tracking_sources\": [\n  {\n   \"id\": \"1100011100\",\n   \"source_name\": \"general\",\n   \"visitor_count\": 2,\n   \"registrationr_count\": 1,\n   \"tracking_url\": \"https://zoom.us/webinar/register/1100011100/WN_6ToMP5n6Quas2SdMjIWu7Q\"\n  }\n ]\n}"
    }
  ]
}