Chilkat Online Tools

VB6 / Zoom API / Get a webinar registrant

Back to Collection Items

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

Dim http As New ChilkatHttp
Dim success As Long

Dim queryParams As New ChilkatJsonObject
success = queryParams.UpdateString("occurrence_id","quis officia in reprehenderit")

' Adds the "Authorization: Bearer <access_token>" header.
http.AuthToken = "<access_token>"

Dim resp As ChilkatHttpResponse
Set resp = http.QuickRequestParams("GET","https://api.zoom.us/v2/webinars/:webinarId/registrants/:registrantId",queryParams)
If (http.LastMethodSuccess = 0) Then
    Debug.Print http.LastErrorText
    Exit Sub
End If

Dim sbResponseBody As New ChilkatStringBuilder
success = resp.GetBodySb(sbResponseBody)

Dim jResp As New ChilkatJsonObject
success = jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = 0

Debug.Print "Response Body:"
Debug.Print jResp.Emit()

Dim respStatusCode As Long
respStatusCode = resp.StatusCode
Debug.Print "Response Status Code = " & respStatusCode
If (respStatusCode >= 400) Then
    Debug.Print "Response Header:"
    Debug.Print resp.Header
    Debug.Print "Failed."

    Exit Sub
End If

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

' {
'   "page_count": "1",
'   "page_number": "1",
'   "page_size": "30",
'   "total_records": "1",
'   "registrants": [
'     {
'       "id": "24000002122",
'       "email": "example@example.com",
'       "first_name": "Jill",
'       "last_name": "Chill",
'       "address": "1800 Amphibious Blvd.",
'       "city": "Mountain View",
'       "country": "US",
'       "zip": "94045",
'       "state": "CA",
'       "phone": "5550100",
'       "industry": "Food",
'       "org": "Cooking Org",
'       "job_title": "Chef",
'       "purchasing_time_frame": "1-3 months",
'       "role_in_purchase_process": "Influencer",
'       "no_of_employees": "10",
'       "comments": "Looking forward to the Webinar",
'       "custom_questions": [
'         {
'           "title": "What do you hope to learn from this Webinar?",
'           "value": "Look forward to learning how you come up with new recipes and what other services you offer."
'         }
'       ],
'       "status": "approved",
'       "create_time": "2019-02-26T23:01:16.899Z",
'       "join_url": "https://zoom.us/webinar/mywebinarissocooldighdghodghodg"
'     }
'   ]
' }

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

Dim id As String
Dim email As String
Dim first_name As String
Dim last_name As String
Dim address As String
Dim city As String
Dim country As String
Dim zip As String
Dim state As String
Dim phone As String
Dim industry As String
Dim org As String
Dim job_title As String
Dim purchasing_time_frame As String
Dim role_in_purchase_process As String
Dim no_of_employees As String
Dim comments As String
Dim status As String
Dim create_time As String
Dim join_url As String
Dim j As Long
Dim count_j As Long
Dim title As String
Dim value As String

Dim page_count As String
page_count = jResp.StringOf("page_count")
Dim page_number As String
page_number = jResp.StringOf("page_number")
Dim page_size As String
page_size = jResp.StringOf("page_size")
Dim total_records As String
total_records = jResp.StringOf("total_records")
Dim i As Long
i = 0
Dim count_i As Long
count_i = jResp.SizeOfArray("registrants")
Do While i < count_i
    jResp.I = i
    id = jResp.StringOf("registrants[i].id")
    email = jResp.StringOf("registrants[i].email")
    first_name = jResp.StringOf("registrants[i].first_name")
    last_name = jResp.StringOf("registrants[i].last_name")
    address = jResp.StringOf("registrants[i].address")
    city = jResp.StringOf("registrants[i].city")
    country = jResp.StringOf("registrants[i].country")
    zip = jResp.StringOf("registrants[i].zip")
    state = jResp.StringOf("registrants[i].state")
    phone = jResp.StringOf("registrants[i].phone")
    industry = jResp.StringOf("registrants[i].industry")
    org = jResp.StringOf("registrants[i].org")
    job_title = jResp.StringOf("registrants[i].job_title")
    purchasing_time_frame = jResp.StringOf("registrants[i].purchasing_time_frame")
    role_in_purchase_process = jResp.StringOf("registrants[i].role_in_purchase_process")
    no_of_employees = jResp.StringOf("registrants[i].no_of_employees")
    comments = jResp.StringOf("registrants[i].comments")
    status = jResp.StringOf("registrants[i].status")
    create_time = jResp.StringOf("registrants[i].create_time")
    join_url = jResp.StringOf("registrants[i].join_url")
    j = 0
    count_j = jResp.SizeOfArray("registrants[i].custom_questions")
    Do While j < count_j
        jResp.J = j
        title = jResp.StringOf("registrants[i].custom_questions[j].title")
        value = jResp.StringOf("registrants[i].custom_questions[j].value")
        j = j + 1
    Loop
    i = i + 1
Loop

Curl Command

curl -G -d "occurrence_id=quis%20officia%20in%20reprehenderit"
	-H "Authorization: Bearer <access_token>"
https://api.zoom.us/v2/webinars/:webinarId/registrants/:registrantId

Postman Collection Item JSON

{
  "name": "Get a webinar registrant",
  "request": {
    "auth": {
      "type": "oauth2"
    },
    "method": "GET",
    "header": [
    ],
    "url": {
      "raw": "{{baseUrl}}/webinars/:webinarId/registrants/:registrantId?occurrence_id=quis officia in reprehenderit",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "webinars",
        ":webinarId",
        "registrants",
        ":registrantId"
      ],
      "query": [
        {
          "key": "occurrence_id",
          "value": "quis officia in reprehenderit",
          "description": "The meeting or webinar occurrence ID."
        }
      ],
      "variable": [
        {
          "key": "webinarId",
          "value": "68423085",
          "description": "(Required) The webinar's ID."
        },
        {
          "key": "registrantId",
          "value": "quis officia in reprehenderit",
          "description": "(Required) The registrant ID."
        }
      ]
    },
    "description": "Zoom users with a [Webinar Plan](https://zoom.us/webinar) have access to creating and managing Webinars. Webinar allows a host to broadcast a Zoom meeting to up to 10,000 attendees. Scheduling a [Webinar with registration](https://support.zoom.us/hc/en-us/articles/204619915-Scheduling-a-Webinar-with-Registration) requires your registrants to complete a brief form before receiving the link to join the Webinar.<br>Use this API to get details on a specific user who has registered for the Webinar.<br><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):** `Light`<br>\n**Prerequisites:**<br>\n* The account must have a Webinar plan."
  },
  "response": [
    {
      "name": "Success.",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "description": "Added as a part of security scheme: oauth2",
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/webinars/:webinarId/registrants/:registrantId?occurrence_id=quis officia in reprehenderit",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "webinars",
            ":webinarId",
            "registrants",
            ":registrantId"
          ],
          "query": [
            {
              "key": "occurrence_id",
              "value": "quis officia in reprehenderit"
            }
          ],
          "variable": [
            {
              "key": "webinarId",
              "value": "68423085",
              "description": "(Required) The webinar's ID."
            },
            {
              "key": "registrantId",
              "value": "quis officia in reprehenderit",
              "description": "(Required) The registrant ID."
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n \"page_count\": \"1\",\n \"page_number\": \"1\",\n \"page_size\": \"30\",\n \"total_records\": \"1\",\n \"registrants\": [\n  {\n   \"id\": \"24000002122\",\n   \"email\": \"example@example.com\",\n   \"first_name\": \"Jill\",\n   \"last_name\": \"Chill\",\n   \"address\": \"1800 Amphibious Blvd.\",\n   \"city\": \"Mountain View\",\n   \"country\": \"US\",\n   \"zip\": \"94045\",\n   \"state\": \"CA\",\n   \"phone\": \"5550100\",\n   \"industry\": \"Food\",\n   \"org\": \"Cooking Org\",\n   \"job_title\": \"Chef\",\n   \"purchasing_time_frame\": \"1-3 months\",\n   \"role_in_purchase_process\": \"Influencer\",\n   \"no_of_employees\": \"10\",\n   \"comments\": \"Looking forward to the Webinar\",\n   \"custom_questions\": [\n    {\n     \"title\": \"What do you hope to learn from this Webinar?\",\n     \"value\": \"Look forward to learning how you come up with new recipes and what other services you offer.\"\n    }\n   ],\n   \"status\": \"approved\",\n   \"create_time\": \"2019-02-26T23:01:16.899Z\",\n   \"join_url\": \"https://zoom.us/webinar/mywebinarissocooldighdghodghodg\"\n  }\n ]\n}"
    },
    {
      "name": "Invalid webinar ID.",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "description": "Added as a part of security scheme: oauth2",
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/webinars/:webinarId/registrants/:registrantId?occurrence_id=quis officia in reprehenderit",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "webinars",
            ":webinarId",
            "registrants",
            ":registrantId"
          ],
          "query": [
            {
              "key": "occurrence_id",
              "value": "quis officia in reprehenderit"
            }
          ],
          "variable": [
            {
              "key": "webinarId",
              "value": "68423085",
              "description": "(Required) The webinar's ID."
            },
            {
              "key": "registrantId",
              "value": "quis officia in reprehenderit",
              "description": "(Required) The registrant ID."
            }
          ]
        }
      },
      "status": "Multiple Choices",
      "code": 300,
      "_postman_previewlanguage": "text",
      "header": [
        {
          "key": "Content-Type",
          "value": "text/plain"
        }
      ],
      "cookie": [
      ],
      "body": ""
    },
    {
      "name": "**HTTP Status Code:** `400`<br>\nBad request<br>\n**Error Code:** `1010`<br>\nUser does not belong to this account:{accountId}.<br>",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "description": "Added as a part of security scheme: oauth2",
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/webinars/:webinarId/registrants/:registrantId?occurrence_id=quis officia in reprehenderit",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "webinars",
            ":webinarId",
            "registrants",
            ":registrantId"
          ],
          "query": [
            {
              "key": "occurrence_id",
              "value": "quis officia in reprehenderit"
            }
          ],
          "variable": [
            {
              "key": "webinarId",
              "value": "68423085",
              "description": "(Required) The webinar's ID."
            },
            {
              "key": "registrantId",
              "value": "quis officia in reprehenderit",
              "description": "(Required) The registrant ID."
            }
          ]
        }
      },
      "status": "Bad Request",
      "code": 400,
      "_postman_previewlanguage": "text",
      "header": [
        {
          "key": "Content-Type",
          "value": "text/plain"
        }
      ],
      "cookie": [
      ],
      "body": ""
    },
    {
      "name": "**HTTP Status Code:** `404`<br>\nWebinar not found.<br>\n**Error Code:** `1001`<br>\nUser {userId} does not exist or does not belong to this account.<br>\n**Error Code:** `3001`<br>\nWebinar {webinarId} not found or has expired.<br>",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "description": "Added as a part of security scheme: oauth2",
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/webinars/:webinarId/registrants/:registrantId?occurrence_id=quis officia in reprehenderit",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "webinars",
            ":webinarId",
            "registrants",
            ":registrantId"
          ],
          "query": [
            {
              "key": "occurrence_id",
              "value": "quis officia in reprehenderit"
            }
          ],
          "variable": [
            {
              "key": "webinarId",
              "value": "68423085",
              "description": "(Required) The webinar's ID."
            },
            {
              "key": "registrantId",
              "value": "quis officia in reprehenderit",
              "description": "(Required) The registrant ID."
            }
          ]
        }
      },
      "status": "Not Found",
      "code": 404,
      "_postman_previewlanguage": "text",
      "header": [
        {
          "key": "Content-Type",
          "value": "text/plain"
        }
      ],
      "cookie": [
      ],
      "body": ""
    }
  ]
}