Meeting Room Management
This guide will show you how to:
- Retrieve the details for an individual room.
- Get a list of all the rooms associated with your application.
- Change the expiration date for an individual long term room.
Individual Room Retrieval
https://api-eu.vonage.com/v1/meetings/rooms/:room_id
When you create a room, you will get a room id in the response. This id can be used for room retrieval using a
Example Request
This will return a generic Vonage::Response object.
The Vonage::Response object de-serializes the returned JSON data into Vonage::Entity objects, and provides getter methods for the top level properties of that JSON data, for example:
For properties in the JSON data where the value is a JSON object, this is itself de-serialized into a Vonage::Entity object, with its own getter methods. For example, the recording_options getter returns a Vonage::Entity object with auto_record and record_only_owner getters. You can chain these getter method invocations to get to the data you need:
The response will be identical whether the room is long term or instant.
Example Response
{
"id": "9f6fe8ae-3458-4a72-b532-8276d5533e97",
"display_name": "My custom room",
"metadata": "Welcome to my custom room",
"type": "instant",
"recording_options": {
"auto_record": false,
"record_only_owner": false
},
"meeting_code": "280674154",
"is_available": true,
"theme_id": "ef2b46f3-8ebb-437e-a671-272e4990fbc8",
"created_at": "2023-06-06T06:45:07.135Z",
"expires_at": "2023-06-06T06:55:07.134Z",
"expire_after_use": true,
"join_approval_level": "none",
"initial_join_options": {
"microphone_state": "on"
},
"callback_urls": {
"rooms_callback_url": "https://example.com/rooms",
"sessions_callback_url": "https://example.com/sessions",
"recordings_callback_url": "https://example.com/recordings"
},
"available_features": {
"is_recording_available": true,
"is_chat_available": true,
"is_whiteboard_available": true,
"is_locale_switcher_available": true,
"is_captions_available": false
},
"ui_settings": {
"language": "es"
},
"_links": {
"guest_url": {
"href": "https://meetings.vonage.com/280674154"
},
"host_url": {
"href": "https://meetings.vonage.com/?room_token=280674154&participant_token=eyJhbGciOiJIUzI1NiIsInR5cC"
}
}
}
Retrieve all Rooms
https://api-eu.vonage.com/v1/meetings/rooms/
To retrieve all rooms, send a
id:Example Request
This will return an object of the Vonage::Meetings::Rooms::ListResponse class.
This class defines an each method, allowing you to iterate through the _embedded array returned in ther response. For example:
The class also includes Enumerable, so you can call any instance method from that module on the object. For example:
Example Response
{
"page_size": 25,
"total_items": 30,
"_embedded": [
{
"id": "9f6fe8ae-3458-4a72-b532-8276d5533e97",
"display_name": "My custom room",
"metadata": "Welcome to my custom room",
"type": "instant",
"recording_options": {
"auto_record": false,
"record_only_owner": false
},
"meeting_code": "280674154",
"is_available": true,
"theme_id": "ef2b46f3-8ebb-437e-a671-272e4990fbc8",
"created_at": "2023-06-06T06:45:07.135Z",
"expires_at": "2023-06-06T06:55:07.134Z",
"expire_after_use": true,
"join_approval_level": "none",
"initial_join_options": {
"microphone_state": "on"
},
"callback_urls": {
"rooms_callback_url": "https://example.com/rooms",
"sessions_callback_url": "https://example.com/sessions",
"recordings_callback_url": "https://example.com/recordings"
},
"available_features": {
"is_recording_available": true,
"is_chat_available": true,
"is_whiteboard_available": true,
"is_locale_switcher_available": true,
"is_captions_available": false
},
"ui_settings": {
"language": "es"
},
"_links": {
"guest_url": {
"href": "https://meetings.vonage.com/280674154"
},
"host_url": {
"href": "https://meetings.vonage.com/?room_token=280674154&participant_token=eyJhbGciOiJIUzI1NiIsInR5cC"
}
}
}
],
"_links": {
"first": {
"href": "https://api-eu.vonage.com/v1/meetings/rooms?page_size=50"
},
"self": {
"href": "https://api-eu.vonage.com/v1/meetings/rooms?page_size=50&start_id=2293905"
},
"next": {
"href": "https://api-eu.vonage.com/v1/meetings/rooms?page_size=50&start_id=2293906"
},
"prev": {
"href": "https://api-eu.vonage.com/v1/meetings/rooms?page_size=50&start_id=2293904"
}
}
}
Expiration Update
PATCH: https://api-eu.vonage.com/v1/meetings/rooms/
The expiration date of a long term room can be updated by using a PATCH action and the room id. The new date should be included in an object called update_details:
Example Request
Please note that only long term rooms can be updated.