C++ / Zoom API / Update registration questions
Back to Collection Items
#include <CkHttp.h>
#include <CkHttpRequest.h>
#include <CkJsonArray.h>
#include <CkJsonObject.h>
#include <CkHttpResponse.h>
void ChilkatSample(void)
{
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkHttp http;
bool success;
CkHttpRequest req;
req.put_HttpVerb("PATCH");
req.put_Path("/v2/meetings/:meetingId/recordings/registrants/questions");
req.put_ContentType("multipart/form-data");
CkJsonArray jsonFormData1;
jsonFormData1.AddObjectAt(-1);
CkJsonObject *jsonObj_1 = jsonFormData1.ObjectAt(jsonFormData1.get_Size() - 1);
jsonObj_1->UpdateString("field_name","industry");
jsonObj_1->UpdateBool("required",false);
delete jsonObj_1;
jsonFormData1.AddObjectAt(-1);
jsonObj_1 = jsonFormData1.ObjectAt(jsonFormData1.get_Size() - 1);
jsonObj_1->UpdateString("field_name","org");
jsonObj_1->UpdateBool("required",false);
delete jsonObj_1;
req.AddStringForUpload2("questions","",jsonFormData1,"utf-8","application/json");
CkJsonArray jsonFormData2;
jsonFormData2.AddObjectAt(-1);
CkJsonObject *jsonObj_1 = jsonFormData2.ObjectAt(jsonFormData2.get_Size() - 1);
jsonObj_1->UpdateString("field_name","industry");
jsonObj_1->UpdateBool("required",false);
delete jsonObj_1;
jsonFormData2.AddObjectAt(-1);
jsonObj_1 = jsonFormData2.ObjectAt(jsonFormData2.get_Size() - 1);
jsonObj_1->UpdateString("field_name","org");
jsonObj_1->UpdateBool("required",false);
delete jsonObj_1;
req.AddStringForUpload2("custom_questions","",jsonFormData2,"utf-8","application/json");
req.AddHeader("Authorization","Bearer <access_token>");
CkHttpResponse *resp = http.SynchronousRequest("api.zoom.us",443,true,req);
if (http.get_LastMethodSuccess() == false) {
std::cout << http.lastErrorText() << "\r\n";
return;
}
int respStatusCode = resp->get_StatusCode();
std::cout << "Response Status Code = " << respStatusCode << "\r\n";
if (respStatusCode != 204) {
std::cout << "Response Header:" << "\r\n";
std::cout << resp->header() << "\r\n";
std::cout << "Response Body:" << "\r\n";
std::cout << resp->bodyStr() << "\r\n";
std::cout << "Failed." << "\r\n";
delete resp;
return;
}
delete resp;
std::cout << "Success." << "\r\n";
}
Curl Command
curl -X PATCH
-H "Authorization: Bearer <access_token>"
-H "Content-Type: multipart/form-data"
--form 'questions=[{"field_name":"industry","required":false},{"field_name":"org","required":false}]'
--form 'custom_questions=[{"field_name":"industry","required":false},{"field_name":"org","required":false}][{"title":"Ut elit voluptate officia","type":"short","required":true,"answers":["amet in aliquip proident","occaecat eu ut laboris esse"]},{"title":"in nisi","type":"single","required":true,"answers":["anim est","Excepteur reprehenderit sit est"]}]'
https://api.zoom.us/v2/meetings/:meetingId/recordings/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\":\"industry\",\"required\":false},{\"field_name\":\"org\",\"required\":false}]",
"description": "undefined",
"type": "text"
},
{
"key": "custom_questions",
"value": "[{\"title\":\"Ut elit voluptate officia\",\"type\":\"short\",\"required\":true,\"answers\":[\"amet in aliquip proident\",\"occaecat eu ut laboris esse\"]},{\"title\":\"in nisi\",\"type\":\"single\",\"required\":true,\"answers\":[\"anim est\",\"Excepteur reprehenderit sit est\"]}]",
"description": "undefined",
"type": "text"
}
]
},
"url": {
"raw": "{{baseUrl}}/meetings/:meetingId/recordings/registrants/questions",
"host": [
"{{baseUrl}}"
],
"path": [
"meetings",
":meetingId",
"recordings",
"registrants",
"questions"
],
"variable": [
{
"key": "meetingId",
"value": "quis officia in reprehenderit",
"description": "(Required) To get Cloud Recordings of a meeting, provide the meeting ID or meeting UUID. If the meeting ID is provided instead of UUID,the response will be for the latest meeting instance. \n\nTo get Cloud Recordings of a webinar, provide the webinar ID or the webinar UUID. If the webinar ID is provided instead of UUID,the response will be for the latest webinar instance. \n\nIf a UUID starts with \"/\" or contains \"//\" (example: \"/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request. "
}
]
},
"description": "For [on-demand](https://support.zoom.us/hc/en-us/articles/360000488283-On-demand-Recordings) meeting recordings, you can include fields with questions that will be shown to registrants when they register to view the recording.\n\nUse this API to update registration questions that are to be answered by users while registering to view a recording.<br>\n**Scopes:** `recording:write:admin`, `recording:write`<br> \n **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Light`<br>\n"
},
"response": [
{
"name": "**HTTP Status Code:** `200`<br>\nRecording 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\":\"phone\",\"required\":true},{\"field_name\":\"country\",\"required\":true}]",
"description": "undefined",
"type": "text"
},
{
"key": "custom_questions",
"value": "[{\"title\":\"do laboris cupidatat dolor\",\"type\":\"single\",\"required\":true,\"answers\":[\"commodo aliquip sint incididunt\",\"deserunt dolore non Du\"]},{\"title\":\"commodo aliquip\",\"type\":\"single\",\"required\":false,\"answers\":[\"do magna laborum cillum\",\"veniam reprehenderit\"]}]",
"description": "undefined",
"type": "text"
}
]
},
"url": {
"raw": "{{baseUrl}}/meetings/:meetingId/recordings/registrants/questions",
"host": [
"{{baseUrl}}"
],
"path": [
"meetings",
":meetingId",
"recordings",
"registrants",
"questions"
],
"variable": [
{
"key": "meetingId",
"value": "quis officia in reprehenderit",
"description": "(Required) To get Cloud Recordings of a meeting, provide the meeting ID or meeting UUID. If the meeting ID is provided instead of UUID,the response will be for the latest meeting instance. \n\nTo get Cloud Recordings of a webinar, provide the webinar ID or the webinar UUID. If the webinar ID is provided instead of UUID,the response will be for the latest webinar instance. \n\nIf a UUID starts with \"/\" or contains \"//\" (example: \"/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request. "
}
]
}
},
"status": "No Content",
"code": 204,
"_postman_previewlanguage": "text",
"header": [
{
"key": "Content-Type",
"value": "text/plain"
}
],
"cookie": [
],
"body": ""
},
{
"name": "**HTTP Status Code:** `404`<br>\nMeeting recording or Registrant 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\":\"phone\",\"required\":true},{\"field_name\":\"country\",\"required\":true}]",
"description": "undefined",
"type": "text"
},
{
"key": "custom_questions",
"value": "[{\"title\":\"do laboris cupidatat dolor\",\"type\":\"single\",\"required\":true,\"answers\":[\"commodo aliquip sint incididunt\",\"deserunt dolore non Du\"]},{\"title\":\"commodo aliquip\",\"type\":\"single\",\"required\":false,\"answers\":[\"do magna laborum cillum\",\"veniam reprehenderit\"]}]",
"description": "undefined",
"type": "text"
}
]
},
"url": {
"raw": "{{baseUrl}}/meetings/:meetingId/recordings/registrants/questions",
"host": [
"{{baseUrl}}"
],
"path": [
"meetings",
":meetingId",
"recordings",
"registrants",
"questions"
],
"variable": [
{
"key": "meetingId",
"value": "quis officia in reprehenderit",
"description": "(Required) To get Cloud Recordings of a meeting, provide the meeting ID or meeting UUID. If the meeting ID is provided instead of UUID,the response will be for the latest meeting instance. \n\nTo get Cloud Recordings of a webinar, provide the webinar ID or the webinar UUID. If the webinar ID is provided instead of UUID,the response will be for the latest webinar instance. \n\nIf a UUID starts with \"/\" or contains \"//\" (example: \"/ajXp112QmuoKj4854875==\"), you must **double encode** the UUID before making an API request. "
}
]
}
},
"status": "Not Found",
"code": 404,
"_postman_previewlanguage": "text",
"header": [
{
"key": "Content-Type",
"value": "text/plain"
}
],
"cookie": [
],
"body": ""
}
]
}