Registrant Country/Region field missing

Description
I’m trying to get some participant and registrant fields for past webinars from a Zoom API Endpoint. I can extract and see the same fields when exporting the csv reports rom the Zoom web portal.

Error
When I use the registrants endpoints, some fields are populated whilst others are blank. For example, name and email are populated but the field I need in particular, ‘Country’, as well as all address related fields are returned as blank.
If I manually export a csv report for my webinars, I can see that ‘Country/Region’ is populated.

For the participant fields that I need (Location, role), the endpoint that I have used returns a (400) error which actually doesn’t appear in the list of responses in the documentation.

DataSource.Error: Web.Contents failed to get contents from ‘https://api.zoom.us/v2/metrics/webinars/XXXXXXXX/participants’ (400):
Details:
DataSourceKind=Web
DataSourcePath=https://api.zoom.us/v2/metrics/webinars/XXXXXXXX/participants
Url=https://api.zoom.us/v2/metrics/webinars/XXXXXXXX/participants

Which App Type (OAuth / Chatbot / JWT / Webhook)?
JWT

Which Endpoint/s?
For registrants ‘Country’ field I have tried:
/webinars/{webinarId}/registrants

For participants ‘location’ and ‘role’ fields I have tried:
/metrics/webinars/{webinarId}/participants

Additional context
I am making calls through Power Query in Power BI.
I have a Pro plan with webinar add on.

This topic appears similar: Fields missing from Participants/Registrants API. And I have tried the solution there with query parameter ?type=past but I still get the 400 error.

Hi,
I made the post you linked to and I’m familiar with PowerBI, though we don’t have Pro, so I just used AutoHotKey to make the calls to save it as a json file and then import that.

Going back to my code the actual URL I’m using is:
https://api.zoom.us/v2/metrics/webinars/XXXXXXXXXXX/participants?type=past&page_size=300&include_fields=registrant_id

So there’s a bit more on the end. I’m not sure that will make a difference but it might be worth trying.

You say “When I use the registrants endpoints, some fields are populated whilst others are blank.” is this a call you’ve made in PowerBI? I just wanted to check because, if not, the problem might be how it handles the security info - particularly as you’re getting a 400 error. How do you enter the JWT in Power BI and how long is it valid for?

Or it might just be Power BI being Power BI.

Sorry there’s nothing more helpful there, but maybe something I’ve said might jog something in your head or someone else’s. If you did get it be working I’d love to hear more about it because I’d like to avoid having to use the intermediate steps I’ve mentioned and it might try and help me convince budget holders/IT my end to bump up to Pro.

Matt

Hi Matt,

Thanks for the info. My JWT is not set to expire for another year and I am definitely inputting it correctly as other endpoints I’ve tried in power query have worked fine. I’ve also tried the additional parameters you included but no luck!

After a bit more digging I think the 400 error I am getting is due to the endpoint prerequisites for /metrics/webinars/{webinarId}/participants:

  • A Business, Education, or API Plan with Webinar add-on.

I should have known really as the metrics endpoints are under the ‘Dashboard’ section in the API reference docs. And I definitely don’t have the dashboard functionality when I look at my zoom profile. :frowning:

I’m curious how you managed to make this call work? What zoom plan are you on - as you say you’d like to upgrade to Pro?

Thanks
J

Hi @j.bradley
Sorry that didn’t really help. I am on a business account (with a webinar add-on), but to be honest I don’t have much to do with that side of the account so I’m not 100 % sure.
But when I said about upgrading to Pro, I meant a more advanced version of Power BI not Zoom

How do you connect Zoom to Power BI, because I’ve not yet worked out how to do that. I guess if I did I could see if I could make the call I use work then that might highlight the problem with yours. Maybe?
Matt

Ah, sorry I misunderstood.
To make API calls straight from Power BI I did this:
Home > Get Data > Other > Web > Enter endpoint and JWT as example below

And then connect as ‘Anonymous’ as you have already provided the JWT.

Hope that works, let me know if you need anymore info!

1 Like

Thanks for posting this. It took me a while to work out that I had to actually out the JWT where you’d written [Token] (me being thick!), but once past that hurdle it seemed to work fine.

Looking at what has come through and comparing to past and present direct downloads, it looks like Zoom changed the field a little while ago to “Location” rather than “Country/Region”. On some of my old direct downloads I had two fields called “Country/Region”, though I think one of them was the result of a bespoke questions my org was asking as it appeared after them. I don’t think you can access any bespoke fields by the API.

The other one use to consist of 2 capital letters to indicate the country. It has now put those in brackets and out the city name before it. I figure I can work with that in Power BI.

Are you not seeing the location field, or is it that you still get “Country/Region” as a field in the download and it’s definitely not a bespoke field your org is adding on?

(Apologies for the basic questions - I appreciate that given you’ve showed me how to make this work in Power BI you’re operating at a more advanced level than me, I just thought I’d clarify that in case it helped, even if it’s just a trigger for someone else)

By the way, how do you get Power BI to make multiple calls for when the no. of attendees goes above 300?

Thanks again for the help, sorry I don’t have anything more constructive.
Matt

Thank you for offering your insight @j.bradley!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.