Dashboard api - tracking particular user qos when in meetings, starting with only user id

this is not really a question anymore
I had someone with access show me the marketplace and it seems like webhooks are the way to go; notify me of participant/host joined meeting…see if I care about the participant based on ID, make the appropriate API calls from there? Would appreciate any input but this seems valid to me in theory. Original question below.

Description
I’m trying to see if there’s a better way to go about this, we have a requirement to make a custom dashboard for “VIP” users, for whom we have a collection of user ids (in the format of Zx756wViKy62pYRea)

First I’ll explain how we are doing it, with the understanding that it seems like a terrible idea and I’m just missing the better/faster way.

Step 1: call “https://api.zoomgov.com/v2/metrics/meetings?type=live” to get all active meetings

Step 2: iterate through those meetings using the meeting id, so say my next call would be “https://api.zoomgov.com/v2/metrics/meetings/12345678/participants

Step 3: In that list of participants, look for one with “id” of “Zx756wViKy62pYRea” and if exists, get their “user_id” field (let’s say it’s 9876543)

–now we have a combination of meeting and “VIP” user we care about - so we want qos

Step 4: Use that to call “https://api.zoomgov.com/v2/metrics/meetings/12345678/participants/9876543/qos

It seems like any of the following things would make my life easier but I may be missing something obvious:

  1. (ideal) being able to hit an api with user.id Zx756wViKy62pYRea and have it tell me any meetings/rooms/etc they’re currently in

1.5 (Probably even more ideal?) I use a webhook and notify myself of participant login/join/etc and if it’s a participant id that I care about…go do my thing? I don’t have access to the marketplace myself so I’ve no idea what’s available, I was just given a token to test api calls with.

  1. being able to call with the alphanumeric id like “https://api.zoomgov.com/v2/metrics/meetings/12345678/participants/Zx756wViKy62pYRea/qos” would let me iterate through meetings and the userids I care about, if it returns an error they’re not in that meeting and I move on. If it returns QOS data I start charting it

  2. knowing the integer id ahead of time without having to look a meeting participants. It seems so obvious I feel I must be missing it but if I only have user.id “Zx756wViKy62pYRea” I don’t see where I can find user.user_id of “9876543” (unless that’s unique every for that user/meeting combo and isn’t the same for the same person across different meetings?)

Error
If I call https://api.zoomgov.com/v2/metrics/meetings/12345678/participants/Zx756wViKy62pYRea/qos
where both meetingid and participantid are valid and live, I get 3001/meeting does not exist. I have to call it with the integer-type participantid, which I have to spend a lot of effort digging through meetings for.

Which App Type (OAuth / Chatbot / JWT / Webhook)?
JWT at the following:
https://api.zoomgov.com/v2/metrics/meetings ({}/participants/{}/qos)

I would be thrilled to give specific examples over email if there’s a separate address for zoomgov dev support. Thanks! -Allen

Hey @Allen-D,

Thank you for reaching out to the Zoom Developer Forum. I’m happy to hear that you were able to get access to the marketplace and found our Webhook-Only functionality. After reading through your use-case, that does seem like the best option.

As you mentioned, using something like the meeting.participant_joined webhook will allow you to filter based on the VIP users that you’re looking for. It also includes the user_id for making QOS requests.

It sounds like you got everything sorted out but let me know if you have any further questions or issues.

Thanks,
Max

Mostly sorted for now, Max, thanks. One persistent question, though…
Is there a way to find the integer user_id when I have the alphanumeric user.id, outside the context of a meeting?
I feel like it’s probably obvious but it eludes me.
Thanks,
-Allen

Hey @Allen-D,

Thank you for your question. The participant.user_id field only pertains to a user in a meeting. It can change when a user rejoins a meeting or enters from the waiting room. For this reason, you’ll want to keep track of any of your own users with the UUID for that user.

In the future, we’ll be adding a key for participants that the same on rejoins which can be used to track guest users.

I hope that helps! Let me know if you have any questions.

Thanks,
Max

1 Like

That’s great @MaxM, thanks. Making a ton of progress now. I appreciate the quick responses here.

1 Like

Hey @Allen-D,

I’m glad to hear that answered your questions! If you encounter any further issues or questions, please don’t hesitate to reach out.

Thanks,
Max