# Get Started
# Overview
The VCS Realtime SDK (vcs-realtime-sdk
) uses a room concept where participants can join a room using audio and/or video. To join a room a token is required. This token is created by your server application using a REST POST /room
API. The token is passed to your client application which passes the token to the SDK.
In addition to audio & video, screenshare (web-only) and data-channel is also available.
1: Your server application creates a room via REST API /room. Room token is returned.
2: Your server application distributes the room token to the clients that may join the room.
3: Your clients join the room using the joinRoom
API, passing the room token.
# Create your first app
Create a web application for participants to join a room via audio & video.
# Step 1: Generate API key
You need to contact a system administrator to create an API key (x-vcs-token
) to be used by the application server (or the curl command below) to create rooms.
# Step 2: Create room
Using the API key above, the application creates a room token via a REST API. The maximum number of rooms is defined by the system administrator. Here we just use curl to create a room token.
Replace <api-key>
with the API key provided by your system administrator.
Replace <vcs-domain>
with domain provided by your system administrator, e.g sandbox.virtualcareservices.net
.
$ curl -X POST https://<vcs-domain>/api/realtime/room \
-H "x-vcs-token: <api-key>" \
-H "Content-Type: application/json" \
-d "{\"name\":\"Room A\",\"description\":\"My room description\"}"
{
"room" : {
"id" : "b4a8b6e0-c3b6-4d70-9414-7b02adc50f71",
"name" : "Room A",
"description" : "My room description",
"creationTime" : "2021-02-27T19:10:29.301Z",
"modificationTime" : "2021-02-27T19:10:29.301Z",
"maxParticipants" : 4,
"roomTokenTTLSeconds" : 3600,
"token" : "49bd3a2..."
}
}
# Step 3: Write an app
Create an index.html
file that uses the JavaScript SDK to join the room.
You can include the SDK in your HTML file from https://sdk.virtualcareservices.net/dist/umd/vcs-realtime-sdk.min.js (opens new window).
<html lang="en">
<head>
<title>Sample app</title>
<script src="https://sdk.virtualcareservices.net/dist/umd/vcs-realtime-sdk.min.js"></script>
</head>
<body>
<button id="btn">Join</button>
<script>
document.getElementById('btn').addEventListener('click', async () => {
const room = await RealtimeSdk.joinRoom('49bd3a2...', {
host: '<vcs-domain>' // e.g. sandbox.virtualcareservices.net
});
render(room.localParticipant);
room.remoteParticipants.forEach(render);
room.on('participantJoined', render);
});
function render(participant) {
const div = document.createElement('div');
participant.attach(div);
document.body.appendChild(div);
}
</script>
</body>
</html>
# Step 4: Run the app
Serve the index.html with a web server. You cannot load the file directly as file:// url.
For example use local-web-server (opens new window):
npm install -g local-web-server
ws --https -o # from the folder where you index.html is located