RingCentral Video REST API Quick Start
RingCentral Video REST API and Client SDKs are in beta
The RingCentral Video REST API and Client SDKs are currently in beta. Developers should be aware of the following:
- Their feature sets are not reflective of the full scope currently planned.
- Backwards compatibility is not guaranteed from one release to the next during the beta period. Changes can be introduced at any time that may impact your applications with little notice.
Welcome to the RingCentral Platform. RingCentral is the leading unified communications platform. From one system developers can integrate with, or build products around all the ways people communicate today: SMS, voice, fax, chat and meetings.
In this Quick Start, we are going to help you create your first meeting on the platform in just a few minutes. Let's get started.
Create an app
The first thing we need to do is create an app in the RingCentral Developer Portal. This can be done quickly by clicking the "Create Video App" button below. Just click the button, enter a name and description if you choose, and click the "Create" button. If you do not yet have a RingCentral account, you will be prompted to create one.
Create Video App Show detailed instructions
- Login or create an account if you have not done so already.
- Go to Console/Apps and click 'Create App' button.
- Select "REST API App" under "What type of app are you creating?" Click "Next."
- Under "Authentication" select "Password-based auth flow."
- Under "Security" select "This app is private and will only be callable using credentials from the same RingCentral account."
When you are done, you will be taken to the app's dashboard. Make note of the Client ID and Client Secret. We will be using those momentarily.
Request help from support
Access to the RingCentral Video API currently requires help from support in order to grant the "Video" application scope to your application, and graduate it to production.
Create a meeting bridge
Install RingCentral Node.js SDK
$ npm install @ringcentral/sdk
Create and edit meetings.js
Create a file called meetings.js
. Be sure to edit the variables in ALL CAPS with your app and user credentials.
const SDK = require('@ringcentral/sdk').SDK
RINGCENTRAL_CLIENTID = "<ENTER CLIENT ID>"
RINGCENTRAL_CLIENTSECRET = "<ENTER CLIENT SECRET>"
RINGCENTRAL_SERVER = "https://platform.ringcentral.com"
RINGCENTRAL_USERNAME = "<YOUR ACCOUNT PHONE NUMBER or EMAIL>"
RINGCENTRAL_PASSWORD = "<YOUR ACCOUNT PASSWORD>"
RINGCENTRAL_EXTENSION = "" // optional, you can leave this as empty string or provide <YOUR EXTENSION NUMBER>
const rcsdk = new SDK({
server: RINGCENTRAL_SERVER,
clientId: RINGCENTRAL_CLIENTID,
clientSecret: RINGCENTRAL_CLIENTSECRET
});
const platform = rcsdk.platform();
platform.login({
username: RINGCENTRAL_USERNAME,
password: RINGCENTRAL_PASSWORD,
extension: RINGCENTRAL_EXTENSION
})
.then(function(resp) {
// Create POST Request with optional body parameters
platform.post("/rcvideo/v2/account/~/extension/~/bridges", {
name: "Test Meeting",
allowJoinBeforeHost: true,
muteAudio: false,
muteVideo: true
})
.then(function(resp) {
return resp.json()
})
.then(function (json) {
console.log("Start Your Meeting: " + json.discovery.web)
});
});
Run Your Code
You are almost done. Now run your script.
$ node meetings.js
Install RingCentral Python SDK (Python version 3.x recommended)
$ pip install ringcentral
Create and edit meetings.py
Create a file called meetings.py
. Be sure to edit the variables in ALL CAPS with your app and user credentials.
#!/usr/bin/env python
from ringcentral import SDK
import os,sys
CLIENTID = 'RC_CLIENT_ID'
CLIENTSECRET = 'RC_CLIENT_SECRET'
SERVER = 'RC_SERVER_URL'
USERNAME = 'RC_USERNAME'
PASSWORD = 'RC_PASSWORD'
EXTENSION = 'RC_EXTENSION'
rcsdk = SDK( CLIENTID, CLIENTSECRET, SERVER )
platform = rcsdk.platform()
try:
platform.login(USERNAME, EXTENSION, PASSWORD)
except:
sys.exit("Unable to authenticate to platform. Check credentials.")
params = {
'name': 'Test Meeting'
}
try:
resp = platform.post('/rcvideo/v2/account/~/extension/~/bridges', params)
print("Start your meeting: " + resp.web.discovery)
except Exception as err:
print("Exception: " + err.message)
Run Your Code
You are almost done. Now run your script.
$ python meetings.py
Install RingCentral PHP SDK
$ curl -sS https://getcomposer.org/installer | php
$ php composer.phar require ringcentral/ringcentral-php
Create and edit meetings.php
Create a file called meetings.php
. Be sure to edit the variables in ALL CAPS with your app and user credentials.
<?php
require('vendor/autoload.php');
$RINGCENTRAL_CLIENTID = '<ENTER CLIENT ID>';
$RINGCENTRAL_CLIENTSECRET = '<ENTER CLIENT SECRET>';
$RINGCENTRAL_SERVER = 'https://platform.ringcentral.com';
$RINGCENTRAL_USERNAME = '<YOUR ACCOUNT PHONE NUMBER>';
$RINGCENTRAL_PASSWORD = '<YOUR ACCOUNT PASSWORD>';
$RINGCENTRAL_EXTENSION = '<YOUR EXTENSION, PROBABLY "101">';
$rcsdk = new RingCentral\SDK\SDK($RINGCENTRAL_CLIENTID, $RINGCENTRAL_CLIENTSECRET, $RINGCENTRAL_SERVER);
$platform = $rcsdk->platform();
$platform->login($RINGCENTRAL_USERNAME, $RINGCENTRAL_EXTENSION, $RINGCENTRAL_PASSWORD);
$params = array(
'name' => 'Test Meeting'
);
try {
$resp = $platform->post('https://platform.ringcentral.com/rcvideo/v2/account/~/extension/~/bridges', $params);
print_r ('Start Your Meeting: ' . $resp->json()->web->discovery . "\n");
} catch (Exception $e) {
print_r ("An error occurred: " . $e->getMessage() . "\n");
}
Run Your Code
You are almost done. Now run your script.
$ php meetings.php
Install RingCentral Ruby SDK
$ gem install ringcentral-sdk
Create and edit meetings.rb
Create a file called meetings.rb
. Be sure to edit the variables in ALL CAPS with your app and user credentials.
require 'ringcentral'
RINGCENTRAL_CLIENTID = '<ENTER CLIENT ID>'
RINGCENTRAL_CLIENTSECRET = '<ENTER CLIENT SECRET>'
RINGCENTRAL_SERVER = 'https://platform.ringcentral.com'
RINGCENTRAL_USERNAME = '<YOUR ACCOUNT PHONE NUMBER>'
RINGCENTRAL_PASSWORD = '<YOUR ACCOUNT PASSWORD>'
RINGCENTRAL_EXTENSION = '<YOUR EXTENSION, PROBABLY "101">'
rc = RingCentral.new(RINGCENTRAL_CLIENTID, RINGCENTRAL_CLIENTSECRET, RINGCENTRAL_SERVER)
rc.authorize(username: RINGCENTRAL_USERNAME, extension: RINGCENTRAL_EXTENSION, password: RINGCENTRAL_PASSWORD)
resp = rc.post('/rcvideo/v2/account/~/extension/~/bridges', payload: {
'name': 'Test Meeting'
})
puts "Start your meeting: " + resp.body['discovery']['web']
]
Run Your Code
You are almost done. Now run your script.
$ ruby meetings.rb
C# and .NET SDKs are not currently available
If you are looking to call RingCentral Video APIs using Java or C#, RingCentral Video APIs can't be invoked using RingCentral's Java or C# SDK at the moment. You can however call the APIs directly from those programming lanugaes using a REST based helper library if needed.
A Java SDK is not currently available
If you are looking to call RingCentral Video APIs using Java or C#, RingCentral Video APIs can't be invoked using RingCentral's Java or C# SDK at the moment. You can however call the APIs directly from those programming lanugaes using a REST based helper library if needed.
Need help?
Having difficulty? Feeling frustrated? Receiving an error you don't understand? Our community is here to help and may already have found an answer. Search our community forums, and if you don't find an answer please ask!
What's next?
When you have successfully made your first API call, it is time to take your next step towards building a more robust RingCentral application. Have a look at our private sample (please provide us your GitHub username to allow access to this repo) Node.JS application for reference purpose.