Get Meeting Participant Reports not getting desired participant "Name" values

Description
Hello,
I’m writing a function in C# that “replicates” the Excel file you can download from zoom.us Reports > Usage Reports > Usage which contains the Meeting Details and Participants with their join_time and leave_time.

Error
When I download the Usage Report from zoom.us, the Usage Report has a column named “Name (Original Name)”, which should contain both the user’s name when it joins and the rename given by the Host (if the Host renamed the user during the Meeting).
On the JSON response I have only a “Name” value, and not the Host’s rename (when there’s one).

Which App Type (OAuth / Chatbot / JWT / Webhook)?
I’m using JWT.

Which Endpoint/s?
/v2/report/meetings/{meetingId}/participants

Screenshots (If applicable)
For example, I have these participants in the Usage Report (and on the Excel that is generated by it):

And this is the JSON Response I get from the API Endpoint:
{
“next_page_token”: “”,
“page_count”: 1,
“page_size”: 100,
“participants”: [
{
“attentiveness_score”: “”,
“duration”: 16,
“id”: “”,
“join_time”: “2020-11-02T07:55:08Z”,
“leave_time”: “2020-11-02T07:55:24Z”,
“name”: “950007”,
“user_email”: “”,
“user_id”: “100664320”
},
{
“attentiveness_score”: “”,
“duration”: 6,
“id”: “SD9IxbOZQIKu9Tjt_lAJ2A”,
“join_time”: “2020-11-02T07:55:09Z”,
“leave_time”: “2020-11-02T07:55:15Z”,
“name”: “Martina Rota”,
“user_email”: “”,
“user_id”: “117441536”
},
{
“attentiveness_score”: “”,
“duration”: 14689,
“id”: “SD9IxbOZQIKu9Tjt_lAJ2A”,
“join_time”: “2020-11-02T07:55:15Z”,
“leave_time”: “2020-11-02T12:00:04Z”,
“name”: “Martina Rota”,
“user_email”: “”,
“user_id”: “117442560”
},
{
“attentiveness_score”: “”,
“duration”: 11201,
“id”: “”,
“join_time”: “2020-11-02T07:55:13Z”,
“leave_time”: “2020-11-02T11:01:54Z”,
“name”: “Jessica Vivaldi”,
“user_email”: “”,
“user_id”: “134218752”
},
{
“attentiveness_score”: “”,
“duration”: 8,
“id”: “MJUSFfBjR7CjT6D_wc2Jig”,
“join_time”: “2020-11-02T07:56:33Z”,
“leave_time”: “2020-11-02T07:56:41Z”,
“name”: “Maietta Elisa”,
“user_email”: “”,
“user_id”: “134219776”
},
{
“attentiveness_score”: “”,
“duration”: 11112,
“id”: “MJUSFfBjR7CjT6D_wc2Jig”,
“join_time”: “2020-11-02T07:56:42Z”,
“leave_time”: “2020-11-02T11:01:54Z”,
“name”: “Maietta Elisa”,
“user_email”: “”,
“user_id”: “134220800”
},
{
“attentiveness_score”: “”,
“duration”: 5,
“id”: “dWJkD84bSLqgN-0Mmu-2YA”,
“join_time”: “2020-11-02T10:45:46Z”,
“leave_time”: “2020-11-02T10:45:51Z”,
“name”: “Alessio”,
“user_email”: “”,
“user_id”: “134221824”
},
{
“attentiveness_score”: “”,
“duration”: 962,
“id”: “dWJkD84bSLqgN-0Mmu-2YA”,
“join_time”: “2020-11-02T10:45:51Z”,
“leave_time”: “2020-11-02T11:01:53Z”,
“name”: “Alessio”,
“user_email”: “”,
“user_id”: “134222848”
},
{
“attentiveness_score”: “”,
“duration”: 3,
“id”: “WGIqRGVLTvyafGsKGBkqrQ”,
“join_time”: “2020-11-02T07:56:33Z”,
“leave_time”: “2020-11-02T07:56:36Z”,
“name”: “edoardoplacidi”,
“user_email”: “”,
“user_id”: “150995968”
},
{
“attentiveness_score”: “”,
“duration”: 14630,
“id”: “WGIqRGVLTvyafGsKGBkqrQ”,
“join_time”: “2020-11-02T07:56:37Z”,
“leave_time”: “2020-11-02T12:00:27Z”,
“name”: “edoardoplacidi”,
“user_email”: “”,
“user_id”: “167773184”
},
{
“attentiveness_score”: “”,
“duration”: 947,
“id”: “EgpqBGbKRBSXd1-52MDUvQ”,
“join_time”: “2020-11-02T07:54:36Z”,
“leave_time”: “2020-11-02T08:10:23Z”,
“name”: “IFOA 06”,
“user_email”: “zoom06@ifoa.it”,
“user_id”: “16778240”
},
{
“attentiveness_score”: “”,
“duration”: 13852,
“id”: “EgpqBGbKRBSXd1-52MDUvQ”,
“join_time”: “2020-11-02T08:10:24Z”,
“leave_time”: “2020-11-02T12:01:16Z”,
“name”: “Deborah Riccio tutor IFOA”,
“user_email”: “zoom06@ifoa.it”,
“user_id”: “16783360”
},
{
“attentiveness_score”: “”,
“duration”: 3499,
“id”: “dWJkD84bSLqgN-0Mmu-2YA”,
“join_time”: “2020-11-02T11:02:07Z”,
“leave_time”: “2020-11-02T12:00:26Z”,
“name”: “Alessio Castellaccio”,
“user_email”: “”,
“user_id”: “16784384”
},
{
“attentiveness_score”: “”,
“duration”: 4,
“id”: “”,
“join_time”: “2020-11-02T07:56:53Z”,
“leave_time”: “2020-11-02T07:56:57Z”,
“name”: “Malavolta Federico”,
“user_email”: “”,
“user_id”: “184550400”
},
{
“attentiveness_score”: “”,
“duration”: 11097,
“id”: “”,
“join_time”: “2020-11-02T07:57:03Z”,
“leave_time”: “2020-11-02T11:02:00Z”,
“name”: “Malavolta Federico”,
“user_email”: “”,
“user_id”: “201327616”
},
{
“attentiveness_score”: “”,
“duration”: 8,
“id”: “l7nHS_jRSrK7QXEfoHyVDg”,
“join_time”: “2020-11-02T07:58:15Z”,
“leave_time”: “2020-11-02T07:58:23Z”,
“name”: “eugenia lazzari”,
“user_email”: “”,
“user_id”: “218104832”
},
{
“attentiveness_score”: “”,
“duration”: 14519,
“id”: “l7nHS_jRSrK7QXEfoHyVDg”,
“join_time”: “2020-11-02T07:58:24Z”,
“leave_time”: “2020-11-02T12:00:23Z”,
“name”: “eugenia lazzari”,
“user_email”: “”,
“user_id”: “234882048”
},
{
“attentiveness_score”: “”,
“duration”: 5,
“id”: “uOwwxVt1TRm68nHqYL4YfA”,
“join_time”: “2020-11-02T07:59:02Z”,
“leave_time”: “2020-11-02T07:59:07Z”,
“name”: “Alice Rossi”,
“user_email”: “”,
“user_id”: “251659264”
},
{
“attentiveness_score”: “”,
“duration”: 14476,
“id”: “uOwwxVt1TRm68nHqYL4YfA”,
“join_time”: “2020-11-02T07:59:07Z”,
“leave_time”: “2020-11-02T12:00:23Z”,
“name”: “Alice Rossi”,
“user_email”: “”,
“user_id”: “251660288”
},
{
“attentiveness_score”: “”,
“duration”: 6,
“id”: “nHqB2M-8RZ2_ypfAaJRwng”,
“join_time”: “2020-11-02T08:01:33Z”,
“leave_time”: “2020-11-02T08:01:39Z”,
“name”: “roberto colella”,
“user_email”: “”,
“user_id”: “268436480”
},
{
“attentiveness_score”: “”,
“duration”: 14300,
“id”: “nHqB2M-8RZ2_ypfAaJRwng”,
“join_time”: “2020-11-02T08:01:39Z”,
“leave_time”: “2020-11-02T11:59:59Z”,
“name”: “roberto colella”,
“user_email”: “”,
“user_id”: “268437504”
},
{
“attentiveness_score”: “”,
“duration”: 6,
“id”: “zDXXukXYR3WuzhhhyBS8CA”,
“join_time”: “2020-11-02T08:13:20Z”,
“leave_time”: “2020-11-02T08:13:26Z”,
“name”: “Alessio”,
“user_email”: “”,
“user_id”: “285213696”
},
{
“attentiveness_score”: “”,
“duration”: 8973,
“id”: “zDXXukXYR3WuzhhhyBS8CA”,
“join_time”: “2020-11-02T08:13:26Z”,
“leave_time”: “2020-11-02T10:42:59Z”,
“name”: “Alessio”,
“user_email”: “”,
“user_id”: “301990912”
},
{
“attentiveness_score”: “”,
“duration”: 2,
“id”: “”,
“join_time”: “2020-11-02T11:02:42Z”,
“leave_time”: “2020-11-02T11:02:44Z”,
“name”: “Alessio Castellaccio”,
“user_email”: “”,
“user_id”: “318768128”
},
{
“attentiveness_score”: “”,
“duration”: 3500,
“id”: “”,
“join_time”: “2020-11-02T11:02:01Z”,
“leave_time”: “2020-11-02T12:00:21Z”,
“name”: “Malavolta Federico”,
“user_email”: “”,
“user_id”: “335545344”
},
{
“attentiveness_score”: “”,
“duration”: 7,
“id”: “”,
“join_time”: “2020-11-02T11:03:11Z”,
“leave_time”: “2020-11-02T11:03:18Z”,
“name”: “Jessica Vivaldi”,
“user_email”: “”,
“user_id”: “335546368”
},
{
“attentiveness_score”: “”,
“duration”: 3419,
“id”: “”,
“join_time”: “2020-11-02T11:03:23Z”,
“leave_time”: “2020-11-02T12:00:22Z”,
“name”: “Jessica Vivaldi”,
“user_email”: “”,
“user_id”: “335547392”
},
{
“attentiveness_score”: “”,
“duration”: 22,
“id”: “eIJo_GhsQbKuxVUQ8bc75g”,
“join_time”: “2020-11-02T07:54:39Z”,
“leave_time”: “2020-11-02T07:55:01Z”,
“name”: “Chiara Maffioli”,
“user_email”: “”,
“user_id”: “33555456”
},
{
“attentiveness_score”: “”,
“duration”: 14720,
“id”: “eIJo_GhsQbKuxVUQ8bc75g”,
“join_time”: “2020-11-02T07:55:01Z”,
“leave_time”: “2020-11-02T12:00:21Z”,
“name”: “Chiara Maffioli”,
“user_email”: “”,
“user_id”: “33556480”
},
{
“attentiveness_score”: “”,
“duration”: 3498,
“id”: “MJUSFfBjR7CjT6D_wc2Jig”,
“join_time”: “2020-11-02T11:02:02Z”,
“leave_time”: “2020-11-02T12:00:20Z”,
“name”: “Maietta Elisa”,
“user_email”: “”,
“user_id”: “352322560”
},
{
“attentiveness_score”: “”,
“duration”: 2,
“id”: “”,
“join_time”: “2020-11-02T11:02:43Z”,
“leave_time”: “2020-11-02T11:02:45Z”,
“name”: “Jessica Vivaldi”,
“user_email”: “”,
“user_id”: “369099776”
},
{
“attentiveness_score”: “”,
“duration”: 17,
“id”: “”,
“join_time”: “2020-11-02T07:54:47Z”,
“leave_time”: “2020-11-02T07:55:04Z”,
“name”: “950007”,
“user_email”: “”,
“user_id”: “50332672”
},
{
“attentiveness_score”: “”,
“duration”: 17,
“id”: “”,
“join_time”: “2020-11-02T07:54:47Z”,
“leave_time”: “2020-11-02T07:55:04Z”,
“name”: “Jessica Vivaldi”,
“user_email”: “”,
“user_id”: “67109888”
},
{
“attentiveness_score”: “”,
“duration”: 15,
“id”: “LEo0Df2TRcKN3GNR4DBZCg”,
“join_time”: “2020-11-02T07:54:49Z”,
“leave_time”: “2020-11-02T07:55:04Z”,
“name”: “Bartosz Miroslaw Wilczek”,
“user_email”: “”,
“user_id”: “83887104”
},
{
“attentiveness_score”: “”,
“duration”: 14724,
“id”: “LEo0Df2TRcKN3GNR4DBZCg”,
“join_time”: “2020-11-02T07:55:05Z”,
“leave_time”: “2020-11-02T12:00:29Z”,
“name”: “Bartosz Miroslaw Wilczek”,
“user_email”: “”,
“user_id”: “83888128”
}
],
“total_records”: 35
}

Additional context
I see that some "ID"s are the same for “different” people (I assume they logged in/out from the same device, hence the same ID but different "Name"s in some cases), but the total number stays the same (35 participants on JSON, 35 participants on the Excel generated from Usage Reports), so “grouping” them by ID wouldn’t work.

Am I missing something in the API or reading the JSON incorrectly?
For example there’s this participant named “edoardoplacidi” and “edoardo placidi (edoardoplacidi)” on the Usage Report, but on the JSON there’s only “edoardoplacidi”.
I was expecting to see a “edoardo placidi” somewhere (possibly with the same ID as “edoardoplacidi”).

On an unrelated note, which value should I pass to the Endpoint: the MeetingId or the UUID? And why? (I’ve been using the MeetingId for now, but I read that the UUID can get more “instances” of the same meeting?)

Thanks a lot,
Adrian

Hey @zoom06,

Good question—the API will return the original name of the user in its response. It does not contain a rename field like the report in the UI.

More specifically, our GET Meeting Participant Reports endpoint will return the name they have set within the Zoom App, or if they are logged in when joining, it will return the name they have on their Zoom account.

In regards to the Meeting ID vs Meeting UUID, this can depend a bit on your use case. The Meeting ID can encompass different instances of 1 meeting (such as the meeting before it was started vs after it is started). If you need to make sure your request is as granular as possible, the UUID will help you accomplish this. You can also find some more details on this here:

Let me know if this helps,
Will

Hello,

Thank you for your response!
On the meetingID vs UUID, I’ll stick to the UUID from now on, as it looks like it covers everything.

On the Original Name, I have a theory: could it be that the Usage Report groups the users by ID (when there’s one) and later by Name?
When it groups by ID, it puts in Name the one with more Duration, and in Original Name the one with less Duration.
And when it groups by Name because it can’t group by ID, it just can’t group the same users as they have different names (in my example there’s Alessio, Alessio Castellaccio that are the same person but on the “unique users” report they are still separated, as they have different IDs/Names).
This theory works for all the names I have in the JSON that have both Name and (Original Name), but it still doesn’t work for edoardoplacidi (who doesn’t have a “edoardo placidi” in the JSON, but still it is shown like that in the Usage Report).

Is there a way to “update” the API so it gives the “rename” for the user in the JSON response?
If there isn’t, is there an API that I can use to get both Name and Original Name like in the Usage Report? I couldn’t find any in the API Reference.

Or is there something I missed in my “theory” and it doesn’t work like that?

Thanks a lot,
Adrian

Hey @zoom06,

While I don’t know the exact structure of how the report in the UI is grouped (this would be a question for our Technical Support team), I would recommend this API endpoint to retrieve users names as they are in the meeting:

And this webhook or the previously mentioned endpoint for their original name:

Let me know if this helps,
Will

Hello,

Thanks for your response.

Sadly the Dashboards API is not available to some of our accounts, as some of them haven’t the dashboard feature enabled because those aren’t Business.
On the accounts we have it, the API works so probably I’ll try to use that and then, in case, go for the Reports API.

For the UI, I’ll ask the technical support, I’m curious as how it works :slight_smile:

Thanks a lot for your time and support,
Adrian

No problem, @zoom06. Glad I could help to clarify.

Best,
Will