ringcentral-extensible v0.9.1
RingCentral Extensible SDK
RingCentral Extensible is a SDK with a tiny core and lots of extensions. It is an endeavour to get rid of bloated SDK. You install extensions on demand.
Installation
yarn add ringcentral-extensible
Then you should be able to import the SDK like this:
import RestCentral from 'ringcentral-extensible';
Usage
Sample code for all endpoints
You can also find lots of useful code snippets from test cases.
Extensions
This SDK supports extensions. You can enable features by installing extensions.
If you want to add features to this SDK, create an extension.
Binary content downloading
Some sample code for binary content downloading may not work.
Because RingCentral is gradually migrating binary content to CDN such as media.ringcentral.com
.
For example, to download the attachment of a fax:
// `message` is the fax message object
const r = await rc.get(message.attachments[0].uri, undefined, { responseType: 'arraybuffer' })
const content = r.data
The following does NOT work:
// `message` is the fax message object
const content = await rc.restapi().account().extension().messageStore(message.id).content(message.attachments[0].id).get()
Rule of thumb
But not all binary content has been migrated to CDN. If the resource to download provides you with a CDN uri, use that CDN uri. If there is no CDN uri provided, construct the uri as sample code shows.
For maintainers
Regenerate code using latest swagger spec
Get latest swagger spec here.
Make a copy of the .env.sample
file and name it .env
, edit it to specify credentials.
yarn generate
Test
yarn test
Todo
- convert code generator to TS
- compare it with C# sdk and see what are missing
- WSG
- what if network outage?