Which API or SDK should I use to create a service like Outschool?

Hi,

I’m looking for a video conference back-end for our learning platform and I think Zoom may suit our needs. Our plan to integrate Zoom with our platform is similar to how Outschool does Teaching live classes with Zoom | Outschool Support.

Here is a brief of our requirements.

  1. We will open for anyone to register to be our teachers or learners, so the number of users will be growing over time.
  2. We want our teachers and learners to attend the conference via Zoom desktop client or via the browser (if possible)
  3. We want to control the conference including creating, scheduling, recording, etc; and prevent users from stopping recording.
  4. We want to own the recording. We can control the access permissions of the recording.
  5. We would like to allow teachers to create breakout rooms and have all breakout rooms recorded.

I’ve looked at the REST API and Video SDK.

  1. I’ve found that the REST API has a rate limit that we cannot create more than 100 rooms per day, which may not enough in the future. Rate Limits - API Reference (zoom.us)
  2. With Video SDK, I think the meeting created using Video SDK is not compatible with the Zoom desktop client. We need to build a desktop app right? Users cannot use the official zoom’s desktop client to attend the meeting created by the Video SDK right?

What do you suggest? Which tools, API, or SDK should I use to implement the platform?

Thank you!

Hey @orachun,

Thank you for reaching out to the Zoom Developer Forum. The requirements you mentioned can be accomplished with a combination of the Zoom desktop app, Zoom API and potentially the Zoom Client SDKs.

The limit I believe you are referring to is the Rate Limit on the Create a Meeting API. In that case, it is a limit of 100 meetings created per user per day.

More specifically, you can make 100 calls to create, update or delete a meeting per user per day.

That’s correct. It sounds like you would want to use the Web SDK in this case to embed a Zoom Meeting on your website.

However, you can also use the standard Zoom Browser Client. This wouldn’t have the same level of integration but also wouldn’t require development work. If you allow users to join from their browser in your account settings, then they’ll have the option to use the Zoom Desktop Client or the Zoom Browser Client when you send them the Join URL.

I hope that helps! Let me know if you have any questions.

Thanks,
Max

Hi Max,

Thank you for the provided information.
With the combination of the Zoom desktop app, Zoom API, and the Zoom Client SDKs, would these allow my users to use my platform without login into Zoom?

If my user can use my platform without login into Zoom, will the Rate Limit of the Create a Meeting API apply to each user separately or count altogether?

If my users need to login into Zoom to grant authorization to my platform to call API on their behalves, do I still have all controls over the meeting room (creating, scheduling, recording, etc.)? Can I prevent my users from stopping recording?

Could you please also provide the steps and the corresponding API calls to create a meeting room that satisfies all the requirements I’ve posted previously?

Thank you!
Orachun

Hey @orachun,

The API will only apply to a user that has a Zoom account. You can create meetings for users under your own account with a JWT App or you can publish an OAuth App to make API requests on behalf of another user.

You can join meetings with the Zoom App and Client SDKs without logging in but you must log in to host a meeting.

This applies separately to each user.

Please see the example section from the Create a Meeting API:

Thanks,
Max

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.