How to use `customer_key` in meeting participants report?

I found the customer_key parameter in participant report.

I would like to know how I can set the customer_key value for each participant. My goal is, I want to identify the user who is attended Zoom meeting from my application.

Is it possible to add the customer_key parameter in joinURL? something like that?

For user1:
https://us02web.zoom.us/j/{meetingId}?customer_key=user1

For user2:
https://us02web.zoom.us/j/{meetingId}?customer_key=user2

Thank you in advance!

customer_key is found in this Endpoint.

Hey @h_yamada,

Thank you for reaching out to the Zoom Developer Forum. Good question! I’ve reached out to our team to see if they can provide clarification on this.

Thanks,
Max

Thank you for your reply, @MaxM .

I am looking forward to hearing the answer from you.

Best regards,
Hiroki

Hey @h_yamada,

Sorry for the delay on this, I still don’t have a solid answer. I didn’t have as much time as I would’ve liked to track this down but it’s on my todo list for tomorrow.

Thanks,
Max

Thank you very much, @MaxM. I am glad to hear that my question is still on your todo list :slight_smile:

Thank you for your patience @h_yamada! It looks like we are still working to roll out the customer_key feature to all platforms so you may see a blank customer_key when using the Zoom Client right now.

However, when implemented, the customer_key should be set the same way as with other clients such as the Web SDK. That is, it is generated by the client and passed to our DB so that it can be consumed via API and reports.

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

Max

It is not working. Customer_key value is always blank in the response. I think this is the same issue we are facing with userName and userEmail. @tommy suggested me to use “customerKey” property here:

Here is my code. Please suggest what should we do?

ZoomMtg.preLoadWasm();
ZoomMtg.prepareJssdk();

$(function() {
    ZoomMtg.init({
    leaveUrl: 'http://myhomepage.com',
    isSupportAV: true,
    disableInvite: true,
    disableCallOut: true,
    audioPanelAlwaysOpen: true,
    meetingInfo: [],
    success: function() {
		ZoomMtg.join(
		{
    			meetingNumber: '83523******',
    			passWord: '******',
    			userName: 'Harshal',
    			participantId: 'id****',
    			customerKey : 'id****',
   		 	 userEmail: 'user***@myhomepage.com',
    			signature: '****',
    			apiKey: '***',
    			success: function(res) {
       				ZoomMtg.showInviteFunction({
           				show: false
       				});
       				ZoomMtg.showRecordFunction({
          				show: false
       				});

       				setTimeout(function() {
          				var startButton = document.getElementById('pc-join');
          				if (startButton != null && startButton !== undefined)
          				{
              					startButton.click();
          				}
       				}, 1500);

      				$('.meeting-info-icon__icon').remove();
   			},
  			error: function(res) {
    				console.log(res);
  			}
  		});
  	},
	error: function(res) {
 		console.log(res);
	}
    });
});

Participant API is returning customer_key blank:

{
    "page_count": 1,
    "page_size": 300,
    "total_records": 5,
    "next_page_token": "",
    "participants": [
        {
            "id": "POMWXVL-TDmynrOjWHNz1g",
            "user_id": "16778240",
            "user_name": "Mukesh Soni",
            "device": "Unknown",
            "ip_address": "157.38.5.53",
            "location": "Jaipur (IN)",
            "network_type": "Others",
            "data_center": "India",
            "connection_type": "SSL",
            "join_time": "2021-06-07T03:35:31Z",
            "leave_time": "2021-06-07T03:43:23Z",
            "share_application": false,
            "share_desktop": false,
            "share_whiteboard": false,
            "recording": false,
            "pc_name": "",
            "domain": "",
            "mac_addr": "",
            "harddisk_id": "",
            "version": "",
            "leave_reason": "Mukesh Soni left the meeting.<br>Reason: Host ended the meeting.",
            "status": "in_meeting",
            "customer_key": ""
        },
        {
            "id": "oe2Vt0VrTL65NwB_D_nTRA",
            "user_id": "16779264",
            "user_name": "Harshal",
            "device": "Unknown",
            "ip_address": "157.38.5.53",
            "location": "Jaipur (IN)",
            "network_type": "Others",
            "data_center": "India",
            "connection_type": "SSL",
            "join_time": "2021-06-07T03:35:36Z",
            "leave_time": "2021-06-07T03:39:34Z",
            "share_application": false,
            "share_desktop": false,
            "share_whiteboard": false,
            "recording": false,
            "pc_name": "",
            "domain": "",
            "mac_addr": "",
            "harddisk_id": "",
            "version": "",
            "leave_reason": "Harshal left the meeting.<br>Reason: left the meeting.",
            "status": "in_meeting",
            "customer_key": ""
        },
        {
            "id": "RD8otr-bRpyjDXiRTtdHJw",
            "user_id": "16780288",
            "user_name": "Mukesh Soni",
            "device": "Unknown",
            "ip_address": "157.38.5.53",
            "location": "Jaipur (IN)",
            "network_type": "Others",
            "data_center": "India",
            "connection_type": "SSL",
            "join_time": "2021-06-07T03:35:41Z",
            "leave_time": "2021-06-07T03:41:29Z",
            "share_application": false,
            "share_desktop": false,
            "share_whiteboard": false,
            "recording": false,
            "pc_name": "",
            "domain": "",
            "mac_addr": "",
            "harddisk_id": "",
            "version": "",
            "leave_reason": "Mukesh Soni left the meeting.<br>Reason: left the meeting.",
            "status": "in_meeting",
            "customer_key": ""
       
    ]
}

Hey @namrata,

While this topic is mainly focused on using the customer key with the Zoom App, I understand your point that there is an issue or need for better documentation when it comes the Web SDK.

My next step is to speak with our team tomorrow to see what clients have implemented this feature and to nail down exactly how it can be used.

Thanks,
Max

Hey @namrata,

Please try using the property name customeKey instead of customerKey. Yes, I meant to spell it custome. I thought this was a typo in our documentation but I’m hearing that is not the case.

Let me know if that helps.

Thanks,
Max

@h_yamada

My apologies, I almost forgot, thank you for your patience.

I spoke with our team and learned that the customer key cannot be used with the Client. When a user is not logged in an joins a meeting, we don’t have a method to track that user throughout a meeting. This is by design to follow security and privacy policies.

It can only be used with our SDKs.

Let me know if you have any questions.

Thanks,
Max

Hi @MaxM ,

Thank you very much for your information. I understood we can not track the user without sign-in. I will try to use SDKs with our developers.

Hiroki

That makes sense, I was also confused why the zoom team will name a property customer key when they are referring to the participants :). I will try this and update you soon.

Thanks.
Namrata Mathur

Hello @MaxM,

I changed “customerKey” with “customeKey”, now I am not able to start or join the meeting. The join action stuck at below screen:

Can you please help me with creating a sample first at your end and then reply to us about what should we use.

I hope you can understand the urgency and why we are constantly following up on this issue. Zoom API has failed to give us a way to track our participants. Please help us and ask your team to pick this issue soon because I am following up for more than a year now.

Thank you.

@namrata

First, I’ll say that I absolutely hear you - this has been an issue for quite some time. I know this has been a blocker for your team and I’m excited to help get this working for you ASAP.

Further, I’ll have to apologise for offering in correct information earlier. After further discussion with our team, they corrected their last statement and indicated that the correct value to use is customerKey as you were using.

They indicated that they meeting will need to end before this information is available via API. A good way to check for testing is through the Dashboard. Otherwise, you can use an webhook event.

If that’s not helpful, please send an email to developersupport@zoom.us with a link to this thread. In that email, please include the full endpoint URL that you’re using when calling the participant API.

I’ll use that to investigate further.

Thanks,
Max