Skip to content
Branch: master
Clone or download
Pull request Compare This branch is 1 commit ahead, 25 commits behind ringcentral:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
src
test
.babelrc
.env.default
.eslintrc
.gitignore
.travis.yml
README.md
getWebpackBaseConfig.js
jest-puppeteer.config.js
jest.config.js
jest.setup.js
package.json
postcss.config.js
release.sh
webpack-dev-server.config.js
webpack-production.config.js
yarn.lock

README.md

RingCentral Embeddable

Build Status

Introduction

This is an out-of-the-box embeddable web application that help developers to integrate RingCentral services to their web applications with few codes.

Built with:

Visit Online

Visit website in github pages.

Use as a embeddable web widget

Get Started

there are two ways to integrate this widget to a web application

Adapter JS way

Just add following the following codes to a website's header. It will create a RingCentral Embeddable widget in your website.

<script>
  (function() {
    var rcs = document.createElement("script");
    rcs.src = "https://ringcentral.github.io/ringcentral-embeddable/adapter.js";
    var rcs0 = document.getElementsByTagName("script")[0];
    rcs0.parentNode.insertBefore(rcs, rcs0);
  })();
</script>

Iframe way

Create a iframe with the following codes:

<iframe width="300" height="500" id="rc-widget" allow="microphone" src="https://ringcentral.github.io/ringcentral-embeddable/app.html">
</iframe>

You can use the config tool in this page to generate codes with config.

Stable version

We provide latest RingCentral Embeddable version on github page https://ringcentral.github.io/ringcentral-embeddable. It includes latest features and bugfix in RingCentral Embeddable. And it will keep up to date with master codes. But we recommend developers to use versioned RingCentral Embeddable. Current latest stable version of RingCentral Embeddable is 0.1.1. You can get versioned app in this uri https://apps.ringcentral.com/integration/ringcentral-embeddable/0.1.1.

Just replace https://ringcentral.github.io/ringcentral-embeddable in upper codes to the versioned uri, and you will be using versioned RingCentral Embeddable. The versioned app will not be influenced when new features are added, so it will be more stable than latest version. When you need to update RingCentral Embeddable, you need to update the versioned app uri in your codes manually.

To get all versions of RingCentral Embeddable in here.

Documents

Awesome Embeddable examples

  • Ringcentral Embeddable phone for Hubspot - repo
  • Ringcentral Embeddable phone for Insightly - repo
  • RingCentral Embeddable with Salesforce Lightning - tutorial
  • RingCentral Embeddable with Static CRM - tutorial
  • RingCentral Embeddable with chrome extension - repo
  • RingCentral Embeddable with Third Party service - repo
  • RingCentral Embeddable with Electron - Support Linux - repo
  • RingCentral Embeddable with Game of Thrones theme - repo
  • RingCentral Embeddable with Java app - jxBrowser - repo

Contribution and Development

We provide a online version that developers can use to embed and config in their web application. When you want to get a deep development of this widget, you can clone codes of this widget, update it and deploy by yourself.

Clone the code

$ git clone https://github.com/ringcentral/ringcentral-embeddable.git

Create a free RingCentral app

  1. Create a RingCentral developer free account
  2. Create a RingCentral app with platform type - "Browser Based"
  3. Add permissions Edit Message, Edit Presence, Internal Messages, Read Accounts, Read Call Log, Read Contacts, Read Messages, Read Presence, RingOut, SMS, Glip and VoIP Calling to your app.
  4. Add redirect uri http://localhost:8080/redirect.html to your app settings.

Create environment variables file in project root path

Create .env file in project root path:

API_KEY=your_ringcentral_app_client_id
API_SECRET=your_ringcentral_app_client_sercet
API_SERVER=ringcentral sever url, eg: https://platform.devtest.ringcentral.com
TEST_HOST_URI=http://localhost:8080
TEST_USER_NAME=your_sandbox_account_phone_number
TEST_USER_PASSWORD=your_sandbox_account_password
TEST_HEADLESS=false

The API_SECRET is optional to enable the authorization code flow. If you don't provide API_SECRET, the app will use the implicit grant flow. TEST_* variables is optional for automatical test, you can just keep it blank before you run automatical tests.

Start development server

We assume you have pre-installed node.js > 8 and yarn.

$ yarn       # use yarn to install dependences
$ yarn start # start a webpack dev server

Open site: 'http://localhost:8080/' on browser

Run Tests

You need to update .env file to add environment variables for test as mentioned in previous section.

yarn test

Deploy on production

If you create pull request to this repo and get merged, CI will deploy it to this repo's github page automatically. But for something that customized, you can deploy it to your own web space, such as your github page.

  1. Update api.json in production environment
  2. Run command to compile codes and build release
$ HOSTING_URL=your_host_uri yarn build

Please replace your_host_uri with your own web host address, such as https://ringcentral.github.io/ringcentral-embeddable.

  1. Upload all files in release folder to your web space. And visit it in browser.
You can’t perform that action at this time.