Overview needed; allow 3rd parties to register for meeting and check against attendance?

Hi, Apologies if this has been asked before but I’m probably using the wrong terminology to search successfully.
I would like advice on how to provide the following;
Owner (with Pro licence) logs on and creates meeting
Potential Attendee registers for meeting
Owner takes register of actual attendees, usually to send out follow up material.

Specifically what zoom technologies and / or approaches (API vs SDK / JWT or OAuth) do I need to;
create users and meetings for a third party i.e. the owner, who is logged into my website.
accept meetings on behalf of the attendee

I’d rather NOT have to know the login details of either 3rd party (owner / attendee).

Any help is appreciated?
Kind Regards
C.

Hi @chris21
Thanks for reaching out to the Zoom Developer forum and welcome to our community!
I am happy to help here!

If you want to embed Zoom into your web app, you can benefit from our Meeting Web SDK:
https://developers.zoom.us/docs/meeting-sdk/

https://developers.zoom.us/docs/meeting-sdk/web/

Now, as you want third-party users to log into your website and use their own Zoom account, you will need to publish your app in the Marketplace, once your app is published, and users install and authorize your app, it will be able to make API calls on behalf of them (without storing or asking for their credentials)

https://developers.zoom.us/docs/distribute/

https://developers.zoom.us/docs/distribute/#submission-review--testing-process

Hope this helps!
Elisa

Hi, so just to dig a little deeper …
I’ve created a meeting via a licensed user using the following endpoint; POST+https://api.zoom.us/v2/users/{userID}/meetings

I assume that if a basic user wants to register for one or meetings of the Licensed user they would list the meetings using;
GET+/users/{userId}/meetings

I’m assuming the join_url is needed for the basic user to register to a specific meeting but what endpoint / function do I use?
Cheers
C.
What I’m struggling to understand is what

Hi @chris21
So if you are trying to have a basic user register for a specific meeting, then you would have to enable registration upon meeting creation.
That way you will receive a registration_url in your response body that you will be able to share with external users to register for said meeting.

Hi, Thankyou for your response, after a bit of digging I found the following fields;
registration_type; {1|2|3}
approval_type; {0|1|2}
default approval type, 2, requires no registration, so for testing I chose 0 for automatic approval.
Here’s my create meeting data;
“params”: {
“start_time”: “2023-06-01T14:00”,
“duration”: “60”,
“topic”: “Test Reg/App 2/0”,
“timezone”: “Europe/London”,
“type”: “2”,
“settings”: {
“registration_type”: “2”,
“approval_type”: “0”
}
},
However, the API call changed the date and time to the current date and time and I wondered what the rules are? Obviously a meeting created instantaneously, would need automatic approval, why set set the need for approval at all?
Kind regards
Chris

So now that I have a Registration Link/URL I’m trying to use curl to register and have realised that the response url received on creation of a meeting i.e. https://us02web.zoom.us/meeting/register/tZE.......xxx is probably for human registration NOT part of the zoom api.
For zoom api should i be using https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods/#operation/meetingRegistrantCreate
???
Kind regards
Chris

Hi @chris21
Correct, you should use this endpoint to add registrants via API

Any update on this meeting creation error?

C.

Hey @chris21
About the meeting creation, I noticed a couple of things.
De duration, type, registration type, and approval type are integer types, so make sure to pass those fields as integers and not as strings.
And I also did some testing with your payload and it looks like the start_time is what’s causing that the date and time is not the one that you want.
Make sure to pass the complete start time, in your case it should look like this: “2023-06-01T14:00:00Z”