RingCentral Webinar API Quick Start

Last updated: 2023-02-17Contributors
Edit this page

RingCentral Webinar APIs are in beta

The RingCentral Webinar API is currently in beta. Developers should be aware that while efforts will be made to notify developers of changes that may impact them, that no guarantees are offered around backwards compatibility. Changes can be introduced at any time that may impact your applications.

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 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

  1. Login or create an account if you have not done so already.
  2. Go to Console/Apps and click 'Create App' button.
  3. Select "REST API App" under "What type of app are you creating?" Click "Next."
  4. Under "Authentication" select "Password-based auth flow."
  5. 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 Webinar API currently requires help from support in order to grant the "Webinar" application scope to your application, and graduate it to production.

Request app graduation

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 SDK = require('@ringcentral/sdk').SDK
require('dotenv').config();

RINGCENTRAL_CLIENTID     = process.env.RINGCENTRAL_CLIENTID
RINGCENTRAL_CLIENTSECRET = process.env.RINGCENTRAL_CLIENTSECRET
RINGCENTRAL_SERVER       = process.env.RINGCENTRAL_SERVER
RINGCENTRAL_USERNAME     = process.env.RINGCENTRAL_USERNAME
RINGCENTRAL_EXTENSION    = process.env.RINGCENTRAL_EXTENSION
RINGCENTRAL_PASSWORD     = process.env.RINGCENTRAL_PASSWORD

var rcsdk = new SDK({
    server: RINGCENTRAL_SERVER,
    clientId: RINGCENTRAL_CLIENTID,
    clientSecret: RINGCENTRAL_CLIENTSECRET
});
var platform = rcsdk.platform();
platform.login({
    username: RINGCENTRAL_USERNAME,
    password: RINGCENTRAL_PASSWORD,
    extension: RINGCENTRAL_EXTENSION
})

platform.on(platform.events.loginSuccess, function(e){
    create_webinar()
});

async function create_webinar(){
    try {
    console.log('fetching preference...')
    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
$ 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_CLIENT_ID'),
             os.environ.get('RC_CLIENT_SECRET'),
             os.environ.get('RC_SERVER_URL') )
platform = rcsdk.platform()

try:
  platform.login(os.environ.get('RC_USERNAME'),
                 os.environ.get('RC_EXTENSION'),
                 os.environ.get('RC_PASSWORD') )
except Exception as e:
  sys.exit("Unable to authenticate to platform. Check credentials." + 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_CLIENT_ID'],
                                  $_ENV['RC_CLIENT_SECRET'],
                                  $_ENV['RC_SERVER_URL'] );

$platform = $rcsdk->platform();
$platform->login( $_ENV['RC_USERNAME'],
                  $_ENV['RC_EXTENSION'],
                  $_ENV['RC_PASSWORD'] );

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_CLIENT_ID'],
                       ENV['RC_CLIENRT_SECRET'],
                       ENV['RC_SERVER_URL'] )

$rc.authorize( username: ENV['RC_USERNAME'],
               extension: ENV['RC_EXTENSION'],
               password: ENV['RC_PASSWORD'] )

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!

Search the forums »

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.

Take your next step »