Browser Call SDK (Beta)
- 1 Embedding Browser Call
- 1.1 Prepare data
- 1.2 Integration
- 1.2.1 Step 1: Embed external_api.min.js
- 1.2.2 Step 2: Define container
- 1.2.3 Step 3: Initialize browser call on iframe
- 1.2.4 Step 4: Listening to events
- 1.2.5 Step 5: Sending commands
- 1.2.5.1 Javascript
- 1.3 Example code
Embedding Browser Call
VSee extend Jitsi Meet for browser call component. This version of Jitsi Meet allows calling capability with VSee Messenger on Windows, Mac, iOS, Android as well as VSeeKit on mobile platform (iOS / Android)
To get started, you need to prepare data and work on the integration
Prepare data
Use case: Create a visit in VSee Clinic and embed the video into your page
Step 1: Obtain patient access credentials from POST /users/sso?fields=vsee API call
Important fields in the response are:
Field name / path | Type | Example Data | Field Description |
---|---|---|---|
|
|
| Patient's ID |
|
|
| The SSO token that should be used for further creating Intake (Step 2) and Visit (Step 3) |
|
|
| Use as Username in the SDK tool above |
|
|
| Use as Auth token in the SDK tool above |
Step 2: Create intake object via POST /intakes API
Use the SSO token from Step 1 in the X-ApiToken
header field. You will get an intake ID in the response (data.id
), e.g. 61165a8e-d8cc-47da-bd8e-597d64457b1f
Step 3: Create either a walkin visit via POST /visits/add_walkin API or a scheduled appointment visit via POST /visits API
Use SSO token from Step 1 in the X-ApiToken
header field and intake_id from Step 2.
Important fields in the response are:
Field name / path | Type | Example Data | Field Description |
---|---|---|---|
|
|
| Visit ID |
|
|
| This can be used as Conference ID in the SDK test tool above. https://jsfiddle.net/vseelab/8tz3bq5e/ |
Integration
|
|
---|---|
Working example can be viewed here https://jsfiddle.net/vseelab/8tz3bq5e/ Step 1: Embed | HTML<html itemscope itemtype="http://schema.org/Product" prefix="og: http://ogp.me/ns#" xmlns="http://www.w3.org/1999/html">
<head>
<meta charset="utf-8">
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
</head>
<body>
<noscript>
<div>JavaScript is disabled. </br>For this site to work you have to enable JavaScript.</div>
</noscript>
<div class="container-fluid" id="vsee-container">
<div class="row justify-content-center" style="height: 100%;">
<div class="align-self-center text-center" id="loading-container">
<div>Connecting...</div>
<div class="spinner-border " role="status">
<span class="visually-hidden">Loading...</span>
</div>
</div>
<div class="col-lg-5 col-md-7 col-sm-11 col-xs-11 align-self-center" id="form-container">
<div class="card">
<div class="card-body">
<form onsubmit="return false;" id="form">
<h3>VSee Browser Call SDK (Beta)</h3>
<a href="https://vsee.atlassian.net/wiki/spaces/VD/pages/30605327/Browser+Call+SDK+Beta" target="_blank">Documentation</a> - Last updated: Jun 3, 2024
</br></br>
<div class="mb-3">
<label for="userName" class="form-label">Username</label>
<input type="text" class="form-control" id="userName" value="ccpreview+6474dbe8525044b0952f461f0a0300ce" required>
</div>
<div class="mb-3">
<label for="authToken" class="form-label">Auth token</label>
<input type="password" class="form-control" id="authToken" value="9f900d1d7669418c9439c844d9003926" required>
</div>
<div class="mb-3">
<label for="roomName" class="form-label">Conference ID</label>
<input type="text" class="form-control" id="roomName" aria-describedby="roomNameHelp" required value="demo_jitsi">
<div id="roomNameHelp" class="form-text">Please fill the conference ID without space and end with _jitsi</div>
</div>
<button type="submit" class="btn btn-primary">Join</button>
</form>
</div>
</div>
</div>
</div>
</div>
<div id="vseeBrowserCall">
</div>
<script src='https://clinic.meet.vsee.com/libs/external_api.min.js'></script>
</body>
</html>
CSSbody {
font-family: sans-serif;
}
#vsee-container {
height: 100%;
padding-top: 50px;
}
#loading-container {
display: none;
}
#vseeBrowserCall {
height: 100vh;
display: none;
} |
Step 3: Initialize browser call on iframeconst conferenceObject = new JitsiMeetExternalAPI(domain, options); If you are using Step 4: Listening to eventsYou can add event listeners to the embedded Jitsi Meet using the If you want to remove a listener you can use the The The More detail list of events can be found here https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-iframe Step 5: Sending commandsYou can control the embedded Jitsi Meet conference by calling The command parameter is a string which contains the command name. You can also execute multiple commands using the The More detail list of commands can be found here https://jitsi.github.io/handbook/docs/dev-guide/dev-guide-iframe | Javascript
|
Example code
Working example can be viewed here https://jsfiddle.net/vseelab/8tz3bq5e/
To test call, please open the example in 2 different tabs / browsers or best 2 different computers.
Enter the username and token for each of the session and click Join
You should see 2 ways call