RingCentral SDK for Ruby
Table of contents
- Overview
- Documentation
- Installation
- Usage
- Supported Ruby Versions
- Releases
- Links
- Contributions
- License
Overview
A Ruby SDK for the RingCentral REST API.
Documentation
Full documentation and resources are available at:
- Ruby SDK Developer Guide - Read the Docs
- Ruby SDK Reference Guide - RubyDoc.info
For API information, see the official RingCentral resources:
Installation
Via Bundler
Add 'ringcentral_sdk' to Gemfile and then run bundle
:
$ echo "gem 'ringcentral_sdk'" >> Gemfile
$ bundle
Via RubyGems
$ gem install ringcentral_sdk
Usage
Synopsis
require 'ringcentral_sdk'
client = RingCentralSdk::REST::Client.new do |config|
# App info (mandatory)
config.client_id = 'myAppClientID'
config.client_secret = 'myAppClientSecret'
config.server_url = RingCentralSdk::RC_SERVER_SANDBOX
# JWT Bearer Grant (optional)
config.jwt = 'myJwt'
# Set a custom logger (optional)
config.logger = Logger.new(STDOUT)
# Enable HTTP retries for 429, 503, and 504 errors
# Set custom codes and retry after using retry_options
config.retry = true
end
# Send SMS
res = client..sms.create(
from: '+16505551212',
to: '+14155551212',
text: 'Hi there!'
)
More information on the authorization code flow:
API Requests
API requests can be made via the included Faraday
client or RingCentralSdk::Helpers::Request
subclasses. These are described below.
Generic HTTP Requests
To make generic API requests, use included Faraday
client which can be accessed via client.http
. The client automatically adds the correct access token to the HTTP request and handles OAuth token refresh using the OAuth
gem.
This is useful to access many API endpoints which do not have custom wrappers and for debugging purposes.
http = client.http
SMS and MMS Examples
SMS:
client..sms.create(
from: '+16505551212',
to: '+14155551212',
text: 'Hi there!'
)
MMS with media file:
client..sms.create(
from: '+16505551212',
to: '+14155551212',
text: 'Hi there!',
media: '/filepath/to/file.ext'
)
Fax Examples
Fax files:
client..fax.create(
to: '+14155551212',
coverPageText: 'Hi there!',
files: ['/path/to/myfile.pdf']
)
Fax text:
client..fax.create(
to: '+14155551212',
coverPageText: 'Hi there!',
text: 'Hi there!'
)
Subscription Example
To make subscriptions with RingCentral, use the SDK object to create subscription Observer object and then add observers to it.
# Create an observer object
class MyObserver
def update()
puts 'Subscription Message Received'
puts JSON.dump()
end
end
# Create an observable subscription and add your observer
sub = client.create_subscription
sub.add_observer MyObserver.new
# Subscribe to an arbitrary number of event filters
sub.subscribe ['/restapi/v1.0/account/~/extension/~/presence']
# End the subscription
sub.destroy
Examples
See examples in the scripts
folder.
A simple read only script is account-extensions.rb
which can be used to validate your app configuration.
Advanced Use Cases
Supported Ruby Versions
This library is tested against this list of Ruby implementations.
Releases
Releases with release notes are availabe on GitHub releases. Release notes include a high level description of the release as well as lists of non-breaking and breaking changes.
Versioning
- Versions 1.0.0 and above follow semantic versioning. Breaking changes will be indicated by a change in major version.
- Versions below 1.0.0 are in active development. During initial development (Version 0.x.x), minor version changes will indicate either substantial feature inclusion or breaking changes.
Change Log
See CHANGELOG.md
Links
Project Repo
RingCentral API Docs
RingCentral API Explorer
RingCentral Official SDKs
Contributing
- Fork it ( http://github.com/grokify/ringcentral-sdk-ruby/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
Development
To build local development copy of the gem use:
% gem build ringcentral_sdk.gemspec
This will produce a file like: ringcentral_sdk-3.1.0.gem
which you can install with:
% gem install ringcentral_sdk-3.1.0.gem
License
RingCentral SDK is available under the MIT license. See LICENSE for details.
RingCentral SDK © 2015-2024 by John Wang