Objective-C / Zoom API / Update registration questions
Back to Collection Items
#import <CkoHttp.h>
#import <CkoHttpRequest.h>
#import <CkoJsonArray.h>
#import <CkoJsonObject.h>
#import <CkoHttpResponse.h>
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkoHttp *http = [[CkoHttp alloc] init];
BOOL success;
CkoHttpRequest *req = [[CkoHttpRequest alloc] init];
req.HttpVerb = @"PATCH";
req.Path = @"/v2/webinars/:webinarId/registrants/questions";
req.ContentType = @"multipart/form-data";
CkoJsonArray *jsonFormData1 = [[CkoJsonArray alloc] init];
[jsonFormData1 AddObjectAt: [NSNumber numberWithInt: -1]];
CkoJsonObject *jsonObj_1 = [jsonFormData1 ObjectAt: [NSNumber numberWithInt: ([jsonFormData1.Size intValue] - 1)]];
[jsonObj_1 UpdateString: @"field_name" value: @"org"];
[jsonObj_1 UpdateBool: @"required" value: YES];
[jsonFormData1 AddObjectAt: [NSNumber numberWithInt: -1]];
jsonObj_1 = [jsonFormData1 ObjectAt: [NSNumber numberWithInt: ([jsonFormData1.Size intValue] - 1)]];
[jsonObj_1 UpdateString: @"field_name" value: @"job_title"];
[jsonObj_1 UpdateBool: @"required" value: NO];
[req AddStringForUpload2: @"questions" filename: @"" strData: jsonFormData1 charset: @"utf-8" contentType: @"application/json"];
CkoJsonArray *jsonFormData2 = [[CkoJsonArray alloc] init];
[jsonFormData2 AddObjectAt: [NSNumber numberWithInt: -1]];
CkoJsonObject *jsonObj_1 = [jsonFormData2 ObjectAt: [NSNumber numberWithInt: ([jsonFormData2.Size intValue] - 1)]];
[jsonObj_1 UpdateString: @"field_name" value: @"org"];
[jsonObj_1 UpdateBool: @"required" value: YES];
[jsonFormData2 AddObjectAt: [NSNumber numberWithInt: -1]];
jsonObj_1 = [jsonFormData2 ObjectAt: [NSNumber numberWithInt: ([jsonFormData2.Size intValue] - 1)]];
[jsonObj_1 UpdateString: @"field_name" value: @"job_title"];
[jsonObj_1 UpdateBool: @"required" value: NO];
[req AddStringForUpload2: @"custom_questions" filename: @"" strData: jsonFormData2 charset: @"utf-8" contentType: @"application/json"];
[req AddHeader: @"Authorization" value: @"Bearer <access_token>"];
CkoHttpResponse *resp = [http SynchronousRequest: @"api.zoom.us" port: [NSNumber numberWithInt: 443] ssl: YES req: req];
if (http.LastMethodSuccess == NO) {
NSLog(@"%@",http.LastErrorText);
return;
}
int respStatusCode = [resp.StatusCode intValue];
NSLog(@"%@%d",@"Response Status Code = ",respStatusCode);
if (respStatusCode != 204) {
NSLog(@"%@",@"Response Header:");
NSLog(@"%@",resp.Header);
NSLog(@"%@",@"Response Body:");
NSLog(@"%@",resp.BodyStr);
NSLog(@"%@",@"Failed.");
return;
}
NSLog(@"%@",@"Success.");
Curl Command
curl -X PATCH
-H "Authorization: Bearer <access_token>"
-H "Content-Type: multipart/form-data"
--form 'questions=[{"field_name":"org","required":true},{"field_name":"job_title","required":false}]'
--form 'custom_questions=[{"field_name":"org","required":true},{"field_name":"job_title","required":false}][{"title":"","type":"single_dropdown","required":true,"answers":["culpa elit","tempor amet culpa nostrud ullamco"]},{"title":"est in incididunt occaecat","type":"short","required":true,"answers":["culpa nulla","laborum pariatur aliqua minim"]}]'
https://api.zoom.us/v2/webinars/:webinarId/registrants/questions
Postman Collection Item JSON
{
"name": "Update registration questions",
"request": {
"auth": {
"type": "oauth2"
},
"method": "PATCH",
"header": [
{
"key": "Content-Type",
"value": "multipart/form-data"
}
],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "questions",
"value": "[{\"field_name\":\"org\",\"required\":true},{\"field_name\":\"job_title\",\"required\":false}]",
"description": "undefined",
"type": "text"
},
{
"key": "custom_questions",
"value": "[{\"title\":\"\",\"type\":\"single_dropdown\",\"required\":true,\"answers\":[\"culpa elit\",\"tempor amet culpa nostrud ullamco\"]},{\"title\":\"est in incididunt occaecat\",\"type\":\"short\",\"required\":true,\"answers\":[\"culpa nulla\",\"laborum pariatur aliqua minim\"]}]",
"description": "undefined",
"type": "text"
}
]
},
"url": {
"raw": "{{baseUrl}}/webinars/:webinarId/registrants/questions",
"host": [
"{{baseUrl}}"
],
"path": [
"webinars",
":webinarId",
"registrants",
"questions"
],
"variable": [
{
"key": "webinarId",
"value": "68423085",
"description": "(Required) The webinar's ID."
}
]
},
"description": "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 with fields and questions before they can receive the link to join the Webinar.<br>Use this API to update registration questions and fields of a scheduled Webinar that are to be answered by users while registering for a Webinar.<br><br>\n**Prerequisites:**<br> \n* Pro or higher plan with a Webinar Add-on.\n* Registration option for Webinar should be set as required to use this API. \n**Scopes:** `webinar:write:admin` `webinar:write`<br>\n \n **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`\n\n"
},
"response": [
{
"name": "**HTTP Status Code:** `204`<br>Webinar Registrant Questions Updated",
"originalRequest": {
"method": "PATCH",
"header": [
{
"description": "Added as a part of security scheme: oauth2",
"key": "Authorization",
"value": "<token>"
}
],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "questions",
"value": "[{\"field_name\":\"country\",\"required\":true},{\"field_name\":\"zip\",\"required\":false}]",
"description": "undefined",
"type": "text"
},
{
"key": "custom_questions",
"value": "[{\"title\":\"commodo magna incididunt\",\"type\":\"short\",\"required\":true,\"answers\":[\"sunt eu\",\"exercitation nulla eiusmod Lorem\"]},{\"title\":\"aliqua cupidatat Excepteur sit\",\"type\":\"multiple\",\"required\":true,\"answers\":[\"do tempor \",\"in ut\"]}]",
"description": "undefined",
"type": "text"
}
]
},
"url": {
"raw": "{{baseUrl}}/webinars/:webinarId/registrants/questions",
"host": [
"{{baseUrl}}"
],
"path": [
"webinars",
":webinarId",
"registrants",
"questions"
],
"variable": [
{
"key": "webinarId",
"value": "68423085",
"description": "(Required) The webinar's ID."
}
]
}
},
"status": "No Content",
"code": 204,
"_postman_previewlanguage": "text",
"header": [
{
"key": "Content-Type",
"value": "text/plain"
}
],
"cookie": [
],
"body": ""
},
{
"name": "**HTTP Status Code:** `404`<br>Webinar not found",
"originalRequest": {
"method": "PATCH",
"header": [
{
"description": "Added as a part of security scheme: oauth2",
"key": "Authorization",
"value": "<token>"
}
],
"body": {
"mode": "formdata",
"formdata": [
{
"key": "questions",
"value": "[{\"field_name\":\"country\",\"required\":true},{\"field_name\":\"zip\",\"required\":false}]",
"description": "undefined",
"type": "text"
},
{
"key": "custom_questions",
"value": "[{\"title\":\"commodo magna incididunt\",\"type\":\"short\",\"required\":true,\"answers\":[\"sunt eu\",\"exercitation nulla eiusmod Lorem\"]},{\"title\":\"aliqua cupidatat Excepteur sit\",\"type\":\"multiple\",\"required\":true,\"answers\":[\"do tempor \",\"in ut\"]}]",
"description": "undefined",
"type": "text"
}
]
},
"url": {
"raw": "{{baseUrl}}/webinars/:webinarId/registrants/questions",
"host": [
"{{baseUrl}}"
],
"path": [
"webinars",
":webinarId",
"registrants",
"questions"
],
"variable": [
{
"key": "webinarId",
"value": "68423085",
"description": "(Required) The webinar's ID."
}
]
}
},
"status": "Not Found",
"code": 404,
"_postman_previewlanguage": "text",
"header": [
{
"key": "Content-Type",
"value": "text/plain"
}
],
"cookie": [
],
"body": ""
}
]
}