RingCentral Webinar API Quick Start
RingCentral Webinar APIs are in beta
The RingCentral Webinar API is currently in beta. Developers should be aware of the following:
- While efforts will be made to notify developers of changes that may impact them, no guarantees are offered around backwards compatibility. Changes can be introduced at any time that may impact your applications.
- To call Webinar APIs, a license will need to be purchased via the Admin Portal.
Partners wishing to build products for RingCentral customers should apply to the Webinar Partner Developer Program to obtain a free Developer license for RingCentral Webinar.
Calling the RingCentral API for the first time? We recommend you try out getting started experience.
In this quick start, we are going to help you create your first webinar 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 Webinar 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 Webinar 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 "Auth" select "JWT 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.
Download and edit a .env
file
Follow the instructions found in our guide to running Developer Guide code samples. Or:
- Download our env-template and save it as a file named
.env
. - Edit your newly downloaded
.env
file, setting its variables with the proper values for the app you created above, paying close attention to the following:RC_APP_CLIENT_ID
- set to the Client ID of the app you created aboveRC_APP_CLIENT_SECRET
- set to the Client Secret of the app you created aboveRC_USER_JWT
- set to the JWT credential you created for yourself
Create a webinar
Install RingCentral Node.js SDK
$ npm install @ringcentral/sdk dotenv
Create and edit webinar.js
Create a file called webinar.js
. Be sure to edit the variables in ALL CAPS with your app and user credentials.
const RC = require('@ringcentral/sdk').SDK
var rcsdk = new RC({
'server': process.env.RC_SERVER_URL,
'clientId': process.env.RC_APP_CLIENT_ID,
'clientSecret': process.env.RC_APP_CLIENT_SECRET
});
var platform = rcsdk.platform();
platform.login({ 'jwt': process.env.RC_USER_JWT })
platform.on(platform.events.loginSuccess, function(e){
create_webinar()
});
async function create_webinar(){
try {
platform.post('/webinar/configuration/v1/webinars', {
title: "My first webinar",
description: "This webinar was created via the Webinar Quick Start guide for developers"
})
.then(function(resp) {
return resp.json()
})
.then(function (json) {
console.log('Response: ', json )
});
} catch(e) {
console.log("An error occured: ", e.message)
process.exit(1)
}
});
Run Your Code
You are almost done. Now run your script.
$ node webinar.js
Install RingCentral Python SDK (Python version 3.x recommended)
$ pip install ringcentral
Create and edit webinar.py
Create a file called webinar.py
. Be sure to edit the variables in ALL CAPS with your app and user credentials.
#!/usr/bin/python
# You get the environment parameters from your
# application dashbord in your developer account
# https://developers.ringcentral.com
import os
import sys
from dotenv import load_dotenv
from ringcentral import SDK
load_dotenv()
rcsdk = SDK( os.environ.get('RC_APP_CLIENT_ID'),
os.environ.get('RC_APP_CLIENT_SECRET'),
os.environ.get('RC_SERVER_URL') )
platform = rcsdk.platform()
try:
platform.login( jwt=os.environ.get('RC_USER_JWT') )
except Exception as e:
sys.exit("Unable to authenticate to platform: " + str(e))
def create_webinar(fromNumber):
try:
resp = platform.post('/webinar/configuration/v1/webinars',
{
'title': "My first webinar",
'description': "This webinar was created via the Webinar Quick Start guide for developers"
})
jsonObj = resp.json()
except:
sys.exit("Unable to create a webinar")
print (jsonObj.messageStatus)
create_webinar()
Run Your Code
You are almost done. Now run your script.
$ python webinar.py
Install RingCentral PHP SDK
$ curl -sS https://getcomposer.org/installer | php
$ php composer.phar require ringcentral/ringcentral-php
Create and edit webinar.php
Create a file called webinar.php
. Be sure to edit the variables in ALL CAPS with your app and user credentials.
<?php
/* You get the environment parameters from your
application dashbord in your developer account
https://developers.ringcentral.com */
require('vendor/autoload.php');
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__ . '/../');
$dotenv->load();
$rcsdk = new RingCentral\SDK\SDK( $_ENV['RC_APP_CLIENT_ID'],
$_ENV['RC_APP_CLIENT_SECRET'],
$_ENV['RC_SERVER_URL'] );
$platform = $rcsdk->platform();
$platform->login( [ "jwt" => $_ENV['RC_USER_JWT'] ] );
create_webinar();
function create_webinar(){
global $platform;
try {
$resp = $platform->post('/webinar/configuration/v1/webinars',
array(
'title' => "My first webinar",
'description' => "This webinar was created via the Webinar Quick Start guide for developers"
));
print("Webinar created. Message status: " . $resp->json()->messageStatus . PHP_EOL);
} catch (\RingCentral\SDK\Http\ApiException $e) {
exit("An error occurred: " . $e->message . PHP_EOL);
}
}
?>
Run Your Code
You are almost done. Now run your script.
$ php webinar.php
Install RingCentral Ruby SDK
$ gem install ringcentral-sdk
Create and edit webinar.rb
Create a file called webinar.rb
. Be sure to edit the variables in ALL CAPS with your app and user credentials.
#!usr/bin/ruby
# You get the environment parameters from your
# application dashbord in your developer account
# https://developers.ringcentral.com
require 'ringcentral'
require 'dotenv/load'
$rc = RingCentral.new(ENV['RC_APP_CLIENT_ID'],
ENV['RC_APP_CLIENT_SECRET'],
ENV['RC_SERVER_URL'])
$rc.authorize(jwt: ENV['RC_USER_JWT'])
def create_webinar()
resp = $rc.post('/webinar/configuration/v1/webinars', payload: {
title: "My first webinar",
description: "This webinar was created via the Webinar Quick Start guide for developers"
})
puts "Webinar created. Message status: " + resp.body['messageStatus']
end
create_webinar()
Run Your Code
You are almost done. Now run your script.
$ ruby webinar.rb
C# and .NET SDKs are not currently available
If you are looking to call RingCentral Webinar APIs using Java or C#, RingCentral Webinar 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 Webinar APIs using Java or C#, RingCentral Webinar 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!