Send registrants

Due to the Web SDK not having computer audio support for Firefox and Safari, I’m considering the registration API: https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingregistrantcreate, to use the join_url to allow each person access to the event.

However, these requests appear to require oauth_access_token, which required Client ID and Client Secret, which I created in the MarketPlace. However, when using the Send a Test Request function, I needed to enter the key and secret into the popup to generate the oauth_access_token, which asked me to approve access to the app. That approval seems related to each user. Is that correct?

I’d like to send a list of all registrants (in our database) for a meeting or webinar via API, but how do I get an access token that simply allows the code to send the registrants, an access code non-specific to each registrant nor requiring approval?

I’m sure I’m missing something obvious.

Hi @alorentz, you can use JSON Web Tokens with your account-level API Key & Secret to add registrants to meetings on your account. If you want to add registrants for meetings outside of your account, you will need to use OAuth.

Are there docs on adding registrants using JSON Web Tokens?

Are there docs on adding registrants using JSON Web Tokens?

Hi @alorentz, any API request (for data on your account) can be authenticated using JSON Web Tokens. API Reference: Add a Meeting Registrant..

Generate these tokens on a backend service, then pass the token as Bearer Token in the Authorization header of the request.

@michael.zoom - I posted the /memberregistercreate reference initially, which is what I’m questions. For JWT Web Tokens, is Bearer Token different than “signature”. For example, I’ve used signature when establishing a web client meeting.

Such as: (see signature reference)

ZoomMtg.setZoomJSLib(‘https://dmogdx0jrul3u.cloudfront.net/1.7.6/lib’, ‘/av’);

ZoomMtg.preLoadWasm();
ZoomMtg.prepareJssdk();

ZoomMtg.init({
			leaveUrl: leaveUrl,
			isSupportAV: true,
			success: function() {
				ZoomMtg.join({
					signature: signature,
					apiKey: apiKey,
					meetingNumber: meetingNum,
					userName:user,
					// Email required for Webinars
					userEmail: email, 
					// password optional; set by Host
					passWord: password, 
					error(res) { 
						console.log(res) 
					}
				})		
			}
		})

@alorentz, yes this signature you’re using here is to secure the meeting join function within the Web SDK.

JSON Web Tokens also have a signature which you need to sign using your API Secret.

Can you clarify base don my previous question? For JWT Web Tokens, is Bearer Token different than “signature”? Or, would the Bearer Token be the signature, generated the same way as done for the script above?

@michael.zoom For example, see PHP example here for function generate_signature :

Woudl I use the same function to generate a bearer token? Or is a bearer token different than a signature?

@michael.zoom @michael_p.zoom following up in my last comment…?

Hey @alorentz,

A JWT App, does generate both a JWT Token and Web SDK Signature. However, they are different.

The JWT Token is used to call the Zoom APIs:

"Authorization":"Bearer JWT_TOKEN_HERE"

The Web SDK Signature is used to join and start meetings / webinars with the Web SDK.

Does that answer your question?

Thanks,
Tommy