Unable to map meeting registrant id with live participant id

Hey @alden, @saurabh,

We are working on fixing the email encrypted issue asap:

(ZOOM-182022)

Thanks,
Tommy

Hey @alden,

Got it thanks! :slight_smile: We are working on a solution.

Thanks,
Tommy

@tommy The change to the encrypted emails was reverted last Tuesday it looks like but we didn’t get notified, so our workaround broke again.

Do you have a reliable changelog we can consult for your API? I am not seeing the encryption of the email or the reversal mentioned in this changelog?

Hey @fred,

Apologies for not mentioning this change. It was a hotfix on the product side so it was not in the developer platform release life cycle. We will work on communicating all changes that affect the APIs even if they originate outside of the developer platform.

Thanks,
Tommy

1 Like

Same issue. I’m trying to reliably track users as they pay a subscription fee for our service.

I’m noticing the same issues as the other users have posted.

I register the user via the API and log their registrant_id. However if the user logs into Zoom with a different email address using the join URL I get a different participants[0].id in the resulting webhook.

The join URL should always log them in with the original registrant_id no matter what email they use to connect to Zoom. This seems very basic to me otherwise there is no way to track users.

You can sort of use email but what if the email the user decides to use isn’t in your database?

Michael

Hey @FutureX,

Thanks for sharing, yes this is the case we are working on improving. Right now the constant is the email they register with, it will pass through to the Get participants APIs:

-Tommy

My question is why does this work in Webinar but not Meeting API?

@tommy here’s an example:

Meeting:

  • Meeting is registration required
  • Create registration, gets registration_id back as uAS6dH4LR128h7uNu9527A
  • Join as logged in user using join link from registration, get payload.object.participant.id as rEhKojUMTK2fBn_lOFDuTQ
  • Join without logging in, incognito, via browser (but using join_link from registration) payload.object.participant.id is blank
  • Doing a meetings/###/registrants call returns uAS6dH4LR128h7uNu9527A as the id
  • The user in the meeting has the name from the local zoom client in both cases (even though zoom client is logged out)

Webinar:

  • Registrant comes back with ID of McxymcfPTzukKloK1C7Frw
  • Joining using a logged in zoom session particpant.id of McxymcfPTzukKloK1C7Frw
  • Joining using an incognito participant.id of McxymcfPTzukKloK1C7Frw
  • In Webinar, it takes the user name from Registration that was sent to Zoom

The way webinar works seems to be the correct way. This appears to be a bug, instead of a feature request. My guess is that the logic is messed up that enforces the rules for what shows up in the ID field. The documentation is the same for both webinar and meeting webhooks, but they behave different. In no cases does the original registrant ID get passed to the meeting webhook, where it should when there is registration required for the meeting.

Hi @gagathos,

We are aware of this issue, and it will be fixed in one of our upcoming releases.

Thanks

Any ETA for this fix?

1 Like

This needs to be fixed. It’s basically destroying half of our zoom automation and forcing us to manually review thousands of records.

Hey @BCELT @elearningevolve,

Our team is aware of this issue and they’re planning to address it as soon as they can.

Thanks,
Will

1 Like

@will.zoom Today I was playing around with webhook in order to do the mapping as well and I ran into something interesting. When a participant leaves the id in the webhook is the registrant id but when they join, id is blank: This is the payload I have:

Participant joined { user_id: ‘16780288’,
user_name: ‘Sanjay --1171-- Uppal’,
id: ‘’,
join_time: ‘2020-10-09T12:52:09Z’ }
Participant left { leave_time: ‘2020-10-09T12:52:52Z’,
user_id: ‘16780288’,
user_name: ‘Sanjay --1171-- Uppal’,
id: ‘QvFTv8-ZTUGWQBw1qQMqSw’ }

Can you please tell me what is the reliable way to get the id to show up for join? Also if someone is logged in…is the id field still going to be there or will it change?

Hey @saj.arora,

Did you join and then immediately leave the same meeting right away? I’m wondering if this might be a result of the speed with which you joined and then left. Do you experience this if you wait a few seconds before leaving?

Let me know—thanks!
Will

Hi @will.zoom,

I completely agree with @saj.arora, as I am facing the same problem.

  • I am having a meeting, with registration required.
  • I add registrant to the meeting
  • I approve that registrant with an API, at that time user receives join_url from zoom
  • Now, user tries to join zoom meeting with his personal join_url
  • At that time, Participant joined webhook has registrant id blank
  • But Participant left webhook has registrant id

I really need registrant id, when someone joins meeting using their personal join url.

1 Like

Hi @malvika.ite,

I see that we’ve connected over at Developer Support, so I will continue the conversation there.

Thanks,
Will

It’s been two months already, still no updates? :confused:

Hey @elearningevolve,

We do have an update, actually! We’ve added the registrant ID field to our List Meeting Participants endpoint to help map these IDs:

I hope this helps!
Will

That’s good to know but this endpoint requires Business or a higher plan and its rate limit is Heavy. It will be too costly to fetch the registrant_id from here.
Any ETA for adding the missing registrant_id for a non-logged in user in the participant_joined webhook?

Hey @elearningevolve,

We did release a new feature to the Get Meeting Participant Report API that allows you to retain the registrant_id. :slight_smile:

When making a request, just provide the include_fields=registrant_id query param.

Please let us know if this is a satisfactory solution for you!

Thanks,
Tommy