Description
I have an app that automatically registers people for webinars and webinar cloud recordings. On the webinar side, the app works great. I’m able to add Webinar registrants (marketplace DOT zoom DOT us/docs/api-reference/zoom-api/webinars/webinarregistrantcreate), then programmatically update their status (marketplace DOT zoom DOT us/docs/api-reference/zoom-api/webinars/webinarregistrantstatus) based on whether or not they’re in a predetermined list.
This should work nearly identically for the Cloud Recording side, and in fact, adding a registrant for a Cloud Recording programatically works great. The problem is that updating their status from “Pending Approval” to “Approved” works extremely inconsistently.
When my program is run line by line in a debugger, or when run in the Test Request browser environment with an identical body and headers to what is in the program, the call works exactly as intended. However, when run as part of the program without the debugger enabled, even if the user is already in the “Pending Approval” section of the Cloud Recording, no changes to their status is made, despite a 204 status code being returned.
Error
The issue here is that there is no error, despite unwanted behavior. The API endpoint returns 204 even if nothing is changed serverside. This can be reproduced easily by sending a request where the list of registrant IDs is entirely blank – 204 is returned, despite no registrant statuses being updated at all.
Another error happens when using the Webinar API to add users to the webinar after it is finished. Approved users receive an email with no subject and a link to register for access to the cloud recording, rather than a simple link to the cloud recording.
Fixing either of these would allow the app’s main functionality, which is to programmatically approve specific users to view webinars and webinar recordings, to work once again.
Which App Type (OAuth / Chatbot / JWT / Webhook)?
JWT
Which Endpoint/s?
Most of the errors come from:
How To Reproduce (If applicable)
Steps to reproduce the behavior:
- Use the API to register and approve a user to a webinar after the webinar is already over.
- Use the API to register and approve a user to a recording of a webinar.
Additional context
Previously, adding and approving someone to a webinar that had already ended would result in them getting a working link to the cloud recording, without requiring an additional registration. Now, they are sent an email with no subject and a link that forces them to register again despite already being approved. If the initial email’s body actually links to the cloud recording, rather than the page where someone can sign up to view a cloud recording for a webinar they are already approved for, the entire problem with the Update Recording Registrant’s Status API call is entirely irrelevant.