Need advice for POC application

Description
I am creating an application where I would like to connect 2 users on my website on a zoom call at a decided date and time. The flow would be:

  1. users decide the date and time of call and it’s duration (30 mins / 1 hour)
  2. I generate a zoom meeting (or equivalent) preferably with a custom password and the 2 users are invited to this meeting
  3. At the datetime instance of the scheduled call, the users get an email of the zoom meeting link and can join the meeting.
  4. When the duration expires, the meeting is ended automatically.

Error
NA

Which App Type (OAuth / Chatbot / JWT / Webhook)?
Need advice on this

Which Endpoint/s?
Need advice on this

How To Reproduce (If applicable)
NA

Screenshots (If applicable)
NA

Additional context
NA

Hi @otaku,

Thanks for reaching out, and welcome to our Developer Community!

This is definitely possible, and I would recommend leveraging our Create Meeting API for this:

In terms of authenticating your API requests, you have two options: JWT or OAuth

If you will be provisioning Zoom users under your account for the users on your website, you can use JWT.

Let me know if you have additional questions!

Best,
Will

Thanks. I have gone through this API and was able to create a meeting for 2 users who have a zoom account. There will be cases where we have multiple meetings scheduled at the same time with different website users joining the meeting and we should be able to manage these meetings simultaneously.

I wasn’t able to create a meeting for users who do not have a zoom account. This is the request and response I get when trying to create a meeting for a non-zoom user by setting the email id of the website user under the schedule_for field:
Request

{
  "topic": "test",
  "type": "2",
  "start_time": "2020-12-30T16:00:00Z",
  "duration": "60",
  "schedule_for": "ahsanqureshi1603@gmail.com",
  "timezone": "IN",
  "password": "*****",
  "agenda": "test",
  "settings": {
    "host_video": "true",
    "participant_video": "true",
    "in_meeting": "true",
    "join_before_host": "true",
    "mute_upon_entry": "true",
    "watermark": "true",
    "use_pmi": "true",
    "approval_type": "0",
    "audio": "both",
    "auto_recording": "cloud"
  }

Response:

    {
    "code": 1001,
    "message": "User does not exist: L5Vq3lmzQ9-9-ekBGVN4jA."
    }

Is setting the schedule_for field to the website user correct?
The users on the website may or may not have a zoom account, how do I handle this case?

Do I create users through the Create User API? It says “Use this API to add a new user to your account.”

When I try to create a user using the create user API I get the following response:
Request:

{
"action": "create",
"user_info": {
"email": "ahsanqureshi1603@gmail.com",
"type": 1,
"first_name": "Terry",
"last_name": "Jones"
}
}

Response:

{
"code": 200,
"message": "No privilege."
}

How do we get the privilege to create users? and do these users need to have a zoom account already or not? does this affect the pricing on my account?

Hi @otaku,

These are all good questions—I’m happy to clarify!

First, I should note that the schedule_for parameter under our Create Meeting API requires that the user you’re scheduling the meeting on behalf of belongs to your account and is a licensed user. You will not be able to use this parameter for users outside of your own Zoom account. For your use case, I might recommend provisioning users for these individuals under your account so that you can schedule for them. Alternatively, you can authenticate your requests with an OAuth App, but this will require you to follow our app submission process.

In regards to provisioning/creating users under your account, you can use the Create User API, but this requires that you have a Pro or higher plan—if you don’t have a Pro or higher plan, you will receive the “No privilege” error.

If you wish to purchase a Pro or higher plan so that you can create users and schedule on their behalf, you can sign up/view our pricing here:

Let me know if this helps to clarify!

Best,
Will

I expect the number of users to be in the order of hundreds, thousands as the site grows. The Pro plan states “Purchase up to 9 licenses per account” so I believe provisioning an account for them under a purchased plan would not be possible and too expensive?
Going for a custom WebRTC solution would be more appropriate here it seems

Hi @otaku,

Thanks for clarifying—If you’re expecting to have hundreds or more users who you’d like to schedule meetings on behalf of, I would recommend utilizing an OAuth App so that the users can use their own accounts/licenses.

Thanks,
Will

Thanks for clearing that up.

No problem, @otaku—glad I could help. :slight_smile: