Matching meeting.participant_joined webhook with local database

I am trying to track when a specific (local to us) user has joined a zoom meeting.

We are creating instant meetings over the API whenever a host launches it. We want to allow multiple, unanticipated people, to be able to just click a join button on our site to just go straight into the meeting. This all works fine.

We have a particular user though that we need to mark a flag when they’ve joined the meeting. I’m trying now to utilize the registrant create API call, as it sounds like that can return a unique join_url to enable this matching: https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meetingregistrantcreate

The response I get though is:
(
[code] => 300
[message] => This meeting has not registration required: 309841423
}

Can you help me understand the requirements for using this method or if there may be any other methods for performing this method?

Hey @thand,

To use the Create Registrant endpoint, make sure the meeting has registration enabled:

So in your case, option approval_type 0, or 1.

Thanks,
Tommy

I was thinking that I had approval_type already at “0”, but it does not seem to be working. There seems to be a problem there though and I am hopeful solving that may fix everything else.

I am looking at the API call log for such a meeting on zoom and I see that I request an “approval_type” of 0, but the response is actually giving me an “approval_type” of 2. Any assistance on why that might be?

Example:
request_body: “{“topic”:“CreatingConnections”,“type”:1,“agenda”:“1:1”,“settings”:{“host_video”:1,“participant_video”:1,“waiting_room”:0,“approval_type”:0,“auto_recording”:“cloud”,“mute_upon_entry”:0}}”,

response: "{“uuid”:“ygnBsOeMSpW5811IKFUV3w==”,“id”:590871426,“host_id”:“XXX”,“topic”:“Creating Connections”,“type”:1,“status”:“waiting”,“timezone”:“America/Los_Angeles”,“agenda”:“1:1”,“created_at”:“2020-03-26T23:05:30Z”,“start_url”:“XXX”,“join_url”:“XXX”,“settings”:{“host_video”:true,“participant_video”:true,“cn_meeting”:false,“in_meeting”:false,“join_before_host”:false,“mute_upon_entry”:false,“watermark”:false,“use_pmi”:false,“approval_type”:2,…}

Hey @thand,

To use approval_type 0 you need to use meeting type 2, 3, or 8. It can’t be used with type 1 (instant meetings.)

Thanks,
Tommy