{"id":13406667,"url":"https://github.com/ringcentral/ringcentral-js","last_synced_at":"2026-04-09T13:09:20.274Z","repository":{"id":25876138,"uuid":"29316346","full_name":"ringcentral/ringcentral-js","owner":"ringcentral","description":"RingCentral Connect Platform JS SDK","archived":false,"fork":false,"pushed_at":"2024-04-23T06:18:05.000Z","size":10526,"stargazers_count":63,"open_issues_count":34,"forks_count":55,"subscribers_count":26,"default_branch":"master","last_synced_at":"2024-04-23T09:19:05.003Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://developers.ringcentral.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ringcentral.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2015-01-15T20:19:38.000Z","updated_at":"2024-04-24T10:38:31.773Z","dependencies_parsed_at":"2024-01-18T23:05:33.925Z","dependency_job_id":"9a9a52ce-f2c5-41d6-b9d1-e2fdac3db5f4","html_url":"https://github.com/ringcentral/ringcentral-js","commit_stats":{"total_commits":209,"total_committers":28,"mean_commits":7.464285714285714,"dds":0.4688995215311005,"last_synced_commit":"dcb63a67dfc8f5c0fe9b86b5896d71b54e99b9ba"},"previous_names":["ringcentral/js-sdk"],"tags_count":65,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringcentral%2Fringcentral-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringcentral%2Fringcentral-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringcentral%2Fringcentral-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringcentral%2Fringcentral-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ringcentral","download_url":"https://codeload.github.com/ringcentral/ringcentral-js/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247339155,"owners_count":20923014,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T19:02:36.050Z","updated_at":"2025-12-12T04:01:59.378Z","avatar_url":"https://github.com/ringcentral.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# RingCentral JavaScript SDK\n\n[![Build Status](https://github.com/ringcentral/ringcentral-js/workflows/CI%20Pipeline/badge.svg?branch=master)](https://github.com/ringcentral/ringcentral-js/actions)\n[![Coverage Status](https://coveralls.io/repos/github/ringcentral/ringcentral-js/badge.svg?branch=master)](https://coveralls.io/github/ringcentral/ringcentral-js)\n[![Chat](https://img.shields.io/badge/chat-on%20glip-orange.svg)](https://ringcentral.github.io/join-ringcentral/)\n[![Twitter](https://img.shields.io/twitter/follow/ringcentraldevs.svg?style=social\u0026label=follow)](https://twitter.com/RingCentralDevs)\n\nThe RingCentral Javascript SDK is most often used by the following developers:\n\n* RingCentral customers needing to access data in their account to automate a business process\n* RingCentral [ISV partners](https://www.ringcentral.com/partner/isv.html) building and promoting products for RingCentral customers to integrate with an external system or fill a feature gap in the product\n\nDevelopers use the SDK to build both client and server-side javascript applications that interface with the RingCentral platform. The SDK can assist developers with the following:\n\n* [Send and receive SMS](https://developer.ringcentral.com/api-products/sms)\n* [Send and receive fax messages](https://developers.ringcentral.com/fax-api)\n* [Create chat and other messaging bots](https://developer.ringcentral.com/api-products/team-messaging)\n* [Download and archive call logs and recordings](https://developers.ringcentral.com/overview/call-reporting)\n* [Automate account setup \u0026 provisioning](https://developers.ringcentral.com/api-reference/provisioning)\n* [Access webinar participant data](https://developers.ringcentral.com/guide/webinar)\n* [Schedule video meetings](https://developers.ringcentral.com/guide/video/api)\n\nAs an emerging leader in the CPaaS industry, the RingCentral platform is also being used by more and more developers as their preferred communications platform for their own product or company. \n\n## Prerequisites\n\nTo use this SDK and access RingCentral APIs, you must:\n\n* be a RingCentral customer, or have signed up for a developer account\n* [registered an application](https://developers.ringcentral.com/guide/getting-started/register-app) and acquired a client ID and secret\n\n##### Are you a first-time RingCentral Developer?\n\nIf this is your first time building a RingCentral application, we recommend you get started online using our SMS Quick Start guide which will help you get up-and-running in minutes.\n\n* [Get Started Using RingCentral \u0026raquo;](https://developers.ringcentral.com/guide/sms/quick-start)\n\n##### Packages included in this SDK\n\nThe RingCentral Javascript SDK contains two packages useful to developers. They are:\n\n- [SDK](sdk). The main SDK package used for calling RingCentral's REST APIs.\n- [Subscriptions](subscriptions). An additional SDK to assist developers in subscribing and responding to events via Web Sockets.\n\n**Are you building a client application for RingCentral?**\n\nIf you are building a front-end-heavy client application for making and receiving phone call, sending and receiving SMS messages, engaging with team chat, and more, then you may want to take a closer look at [RingCentral Embeddable](https://apps.ringcentral.com/integration/ringcentral-embeddable/latest/), which is designed specifically for those use cases. \n\n## Installation\n\nThe RingCentral Javascript SDK can be installed easily via npm. \n\n```\nnpm install @ringcentral/sdk --save\n```\n\nMany code samples throughout RingCentral's documentation assume you are using `.env` files to store key values used by your application. To read a `.env` file, we recommend you install the [dotenv](https://www.npmjs.com/package/dotenv) module. We have provided a sample `.env` below for your convenience. You may find some code samples utilize environment variables not included below, requiring you to edit this file according to your needs. \n\n```\n# Core values\nRC_SERVER_URL        = 'https://platform.ringcentral.com'\nRC_CLIENT_ID         = '\u003cINSERT APP CLIENT ID\u003e'\nRC_CLIENT_SECRET     = '\u003cINSERT APP CLIENT SECRET\u003e'\n\n# This credential is used for JWT-grant types\nRC_JWT               = ''\n```\n\n## Usage\n\nYou will find a wide range of code samples throughout our [RingCentral Developer Guide](https://developers.ringcentral.com/guide/), which we recommend you consult as a more complete and relevant code sample. However, the following code sample can help you get a sense of how the SDK works at a high-level and how to connect successfully for the first time.\n\n### Authentication\n\n##### Using a JWT credential\n\nJWT is an ideal authentication method for server-to-server use cases. One can pass a JWT credential to the `login` method to authenticate.\n\n```js\nconst RC_SDK = require('@ringcentral/sdk').SDK\nvar rcsdk = new RC_SDK({\n    'server':       process.env.RC_SERVER_URL,\n    'clientId':     process.env.RC_CLIENT_ID,\n    'clientSecret': process.env.RC_CLIENT_SECRET\n});\nvar platform = rcsdk.platform();\nplatform.login({ 'jwt':  process.env.RC_JWT })\n```\n\n##### Setting the access token manually\n\nIf your application uses OAuth auth token flow, you may have stored or cached an access token. You can set your access token directly by creating an auth object and calling the `setData()` method.\n\n```js\nvar platform                  = rcsdk.platform();\nvar data                      = platform.auth().data();\ndata.token_type               = \"bearer\"\ndata.expires_in               = \"your_AccessToken_Expiration\"\ndata.access_token             = \"your_AccessToken\"\ndata.refresh_token            = \"your_RefreshToken\"\ndata.refresh_token_expires_in = \"your_RefreshToken_Expiration\"\nplatform.auth().setData(data)\n```\n\n### Making an API call\n\nOnce you have successfully authenticated, you can begin making REST API calls using either the `get()`, `post()`, `put()` or `delete()` methods. The following code snippet shows how one can initiate a phone call using the RingOut methodology. \n\n```js\ntry {\n  var resp = await platform.post('/restapi/v1.0/account/~/extension/~/ring-out', {\n    'from': { 'phoneNumber': \"\u003cYOUR RINGCENTRAL PHONE NUMBER\u003e\" },\n    'to':   { 'phoneNumber': \"\u003cTHE PHONE NUMBER YOU ARE CALLING\" },\n    'playPrompt': false\n  })\n  var jsonObj = await resp.json()\n  console.log(\"Call placed. Call status: \" + jsonObj.status.callStatus)\n} catch (e) {\n  console.log(\"Unable to place a ring-out call.\", e.message)\n}\n```\n\n## Additional resources\n\n* [RingCentral Developer Guide](https://developer.ringcentral.com/api-reference) - a comprehensive set of tutorials to help developers build their first application and to evolve existing applications on the platform. \n\n* [RingCentral API Reference](https://developer.ringcentral.com/api-reference) - an interactive reference for the RingCentral API that allows developers to make API calls with no code.\n\n* [Document](https://ringcentral.github.io/ringcentral-js/index.html) - an interactive reference for the SDK code documentation.\n\nYou are viewing documentation for `4.0.0` release. Follow [this link to see 3.x.x documentation](https://github.com/ringcentral/ringcentral-js/tree/v3).  \n\n## Getting help and support\n\nIf you are having difficulty using this SDK, or working with the RingCentral API, please visit our [developer community forums](https://community.ringcentral.com/spaces/144/) for help and to get quick answers to your questions. If you wish to contact the RingCentral Developer Support team directly, please [submit a help ticket](https://developers.ringcentral.com/support/create-case) from our developer website.\n\n## About RingCentral\n\nRingCentral is a leading provider of global enterprise cloud communications and collaboration solutions. More flexible and cost-effective than legacy on-premises systems, RingCentral empowers modern mobile and distributed workforces to communicate, collaborate, and connect from any location, on any device and via any mode. RingCentral provides unified voice, video, team messaging and collaboration, conferencing, online meetings, digital customer engagement and integrated contact center solutions for enterprises globally. RingCentral’s open platform integrates with leading business apps and enables customers to easily customize business workflows.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fringcentral%2Fringcentral-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fringcentral%2Fringcentral-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fringcentral%2Fringcentral-js/lists"}