Chilkat Online Tools

Swift / Zoom API / Update registration questions

Back to Collection Items

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

    let http = CkoHttp()
    var success: Bool

    let req = CkoHttpRequest()
    req.HttpVerb = "PATCH"
    req.Path = "/v2/meetings/:meetingId/recordings/registrants/questions"
    req.ContentType = "multipart/form-data"

    let jsonFormData1 = CkoJsonArray()

    jsonFormData1.AddObjectAt(-1)
    var jsonObj_1: CkoJsonObject? = jsonFormData1.ObjectAt(jsonFormData1.Size.intValue - 1)
    jsonObj_1!.UpdateString("field_name", value: "industry")
    jsonObj_1!.UpdateBool("required", value: false)
    jsonObj_1 = nil

    jsonFormData1.AddObjectAt(-1)
    jsonObj_1 = jsonFormData1.ObjectAt(jsonFormData1.Size.intValue - 1)
    jsonObj_1!.UpdateString("field_name", value: "org")
    jsonObj_1!.UpdateBool("required", value: false)
    jsonObj_1 = nil

    req.AddStringForUpload2("questions", filename: "", strData: jsonFormData1, charset: "utf-8", contentType: "application/json")

    let jsonFormData2 = CkoJsonArray()

    jsonFormData2.AddObjectAt(-1)
    var jsonObj_1: CkoJsonObject? = jsonFormData2.ObjectAt(jsonFormData2.Size.intValue - 1)
    jsonObj_1!.UpdateString("field_name", value: "industry")
    jsonObj_1!.UpdateBool("required", value: false)
    jsonObj_1 = nil

    jsonFormData2.AddObjectAt(-1)
    jsonObj_1 = jsonFormData2.ObjectAt(jsonFormData2.Size.intValue - 1)
    jsonObj_1!.UpdateString("field_name", value: "org")
    jsonObj_1!.UpdateBool("required", value: false)
    jsonObj_1 = nil

    req.AddStringForUpload2("custom_questions", filename: "", strData: jsonFormData2, charset: "utf-8", contentType: "application/json")

    req.AddHeader("Authorization", value: "Bearer <access_token>")

    var resp: CkoHttpResponse? = http.SynchronousRequest("api.zoom.us", port: 443, ssl: true, req: req)
    if http.LastMethodSuccess == false {
        print("\(http.LastErrorText)")
        return
    }

    var respStatusCode: Int = resp!.StatusCode.intValue
    print("Response Status Code = \(respStatusCode)")
    if respStatusCode != 204 {
        print("Response Header:")
        print("\(resp!.Header)")
        print("Response Body:")
        print("\(resp!.BodyStr)")
        print("Failed.")
        resp = nil
        return
    }

    resp = nil
    print("Success.")

}

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": ""
    }
  ]
}