Background: I am in the research/design phase for integrating Zoom (via APIs) into an application to provide tightly integrated video conferencing capabilities. The integration will be ochestrated via Zoom API calls made from the application server code (via the Zoom JWT REST API). The issue I ran into in my proof-my-concept phase follows.
Issue: When I create a new meeting and then proceed to join the “join_url” (from Step 2) I get a Zoom dialog with the message: “The meeting has been ended by host”. I use the following API calls to create the meeting (request payloads also included).
Step 1: Create a new user (this will be done once and associated with the app user)
Url: {{baseUrl}}/users?access_token=redacted
Request: {
“action”: “custCreate”,
“user_info”: {
“email”: "app.user1@appdomain.com",
“type”: 1,
“first_name”: “AppUser-1-Firstname”,
“last_name”: “AppUser-1-Lastname”
}
}
Response: {
“id”: “9ArEkBL_R8GhrBuhTAI4Qg”,
“first_name”: “AppUser-1-Firstname”,
“last_name”: “AppUser-1-Lastname”,
“email”: "app.user1@appdomain.com",
“type”: 1
}
Step 2: Create a new meeting
Url: {baseUrl}}/users/cAKbqg_YRf2L-b96otyFTA/meetings?access_token=redacted
Request: {
“topic”: “Instant Meeting”,
“type”: 1,
“password”: “Lz58P<6zRT”,
“settings”: {
“host_video”: true,
“participant_video”: true,
“join_before_host”: true,
“mute_upon_entry”: false,
“audio”: “voip”,
“auto_recording”: “none”,
“enforce_login”: “false”
}
}
Response: {
“uuid”: “jKuaXd3BRrah7Gz+0PuJOg==”,
“id”: 707137908,
“host_id”: “cAKbqg_YRf2L-b96otyFTA”,
“topic”: “Instant Meeting”,
“type”: 1,
“status”: “waiting”,
“timezone”: “America/Los_Angeles”,
“created_at”: “2019-08-28T04:15:55Z”,
“start_url”: “https://zoom.us/s/707137908?zak=redacted”,
“join_url”: “https://zoom.us/j/707137908?pwd=aVNtZVhpN0c4Zjdhd1Z0eVp5MlhlQT09”,
“password”: “Lz58P<6zRT”,
“h323_password”: “878162”,
“pstn_password”: “878162”,
“encrypted_password”: “aVNtZVhpN0c4Zjdhd1Z0eVp5MlhlQT09”,
“settings”: {
“host_video”: true,
“participant_video”: true,
“cn_meeting”: false,
“in_meeting”: false,
“join_before_host”: true,
“mute_upon_entry”: false,
“watermark”: false,
“use_pmi”: false,
“approval_type”: 2,
“audio”: “voip”,
“auto_recording”: “none”,
“enforce_login”: false,
“enforce_login_domains”: “”,
“alternative_hosts”: “”,
“close_registration”: false,
“registrants_confirmation_email”: true,
“waiting_room”: false
}
}
P.S. My company already uses Zoom for our day-to-day video-conferencing (and we love it!) so it was a natural choice to use in an application system we are building.
Thanks in advance.