Chilkat Online Tools

Foxpro / Zoom API / Update registration questions

Back to Collection Items

LOCAL loHttp
LOCAL lnSuccess
LOCAL loReq
LOCAL loJsonFormData1
LOCAL loJsonObj_1
LOCAL loJsonFormData2
LOCAL loJsonObj_1
LOCAL loResp
LOCAL lnRespStatusCode

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

* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Http')
loHttp = CreateObject('Chilkat.Http')

* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.HttpRequest')
loReq = CreateObject('Chilkat.HttpRequest')
loReq.HttpVerb = "PATCH"
loReq.Path = "/v2/meetings/:meetingId/recordings/registrants/questions"
loReq.ContentType = "multipart/form-data"

* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonArray')
loJsonFormData1 = CreateObject('Chilkat.JsonArray')

loJsonFormData1.AddObjectAt(-1)
loJsonObj_1 = loJsonFormData1.ObjectAt(loJsonFormData1.Size - 1)
loJsonObj_1.UpdateString("field_name","industry")
loJsonObj_1.UpdateBool("required",0)
RELEASE loJsonObj_1

loJsonFormData1.AddObjectAt(-1)
loJsonObj_1 = loJsonFormData1.ObjectAt(loJsonFormData1.Size - 1)
loJsonObj_1.UpdateString("field_name","org")
loJsonObj_1.UpdateBool("required",0)
RELEASE loJsonObj_1

loReq.AddStringForUpload2("questions","",loJsonFormData1,"utf-8","application/json")

* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonArray')
loJsonFormData2 = CreateObject('Chilkat.JsonArray')

loJsonFormData2.AddObjectAt(-1)
loJsonObj_1 = loJsonFormData2.ObjectAt(loJsonFormData2.Size - 1)
loJsonObj_1.UpdateString("field_name","industry")
loJsonObj_1.UpdateBool("required",0)
RELEASE loJsonObj_1

loJsonFormData2.AddObjectAt(-1)
loJsonObj_1 = loJsonFormData2.ObjectAt(loJsonFormData2.Size - 1)
loJsonObj_1.UpdateString("field_name","org")
loJsonObj_1.UpdateBool("required",0)
RELEASE loJsonObj_1

loReq.AddStringForUpload2("custom_questions","",loJsonFormData2,"utf-8","application/json")

loReq.AddHeader("Authorization","Bearer <access_token>")

loResp = loHttp.SynchronousRequest("api.zoom.us",443,1,loReq)
IF (loHttp.LastMethodSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loReq
    RELEASE loJsonFormData1
    RELEASE loJsonFormData2
    CANCEL
ENDIF

lnRespStatusCode = loResp.StatusCode
? "Response Status Code = " + STR(lnRespStatusCode)
IF (lnRespStatusCode <> 204) THEN
    ? "Response Header:"
    ? loResp.Header
    ? "Response Body:"
    ? loResp.BodyStr
    ? "Failed."
    RELEASE loResp
    RELEASE loHttp
    RELEASE loReq
    RELEASE loJsonFormData1
    RELEASE loJsonFormData2
    CANCEL
ENDIF

RELEASE loResp
? "Success."

RELEASE loHttp
RELEASE loReq
RELEASE loJsonFormData1
RELEASE loJsonFormData2

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