{"id":15675521,"url":"https://github.com/grokify/ringcentral-sdk-ruby","last_synced_at":"2025-08-13T21:36:57.836Z","repository":{"id":32039092,"uuid":"35610550","full_name":"grokify/ringcentral-sdk-ruby","owner":"grokify","description":"RingCentral SDK in Ruby (https://developers.ringcentral.com)","archived":false,"fork":false,"pushed_at":"2025-02-09T21:45:57.000Z","size":948,"stargazers_count":13,"open_issues_count":9,"forks_count":13,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-25T16:28:14.635Z","etag":null,"topics":["fax","mms","ringcentral","ringcentral-ruby","sms"],"latest_commit_sha":null,"homepage":"http://ringcentral-sdk-ruby.readthedocs.org/","language":"Ruby","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/grokify.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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,"publiccode":null,"codemeta":null}},"created_at":"2015-05-14T12:44:20.000Z","updated_at":"2025-02-09T21:46:00.000Z","dependencies_parsed_at":"2025-01-15T23:15:58.366Z","dependency_job_id":"161e6ce9-f33b-42ad-b8e6-4d938915dce6","html_url":"https://github.com/grokify/ringcentral-sdk-ruby","commit_stats":{"total_commits":670,"total_committers":5,"mean_commits":134.0,"dds":"0.19402985074626866","last_synced_commit":"8cf5c5d694ed712ea3df1917de27d8daff35a5f2"},"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"purl":"pkg:github/grokify/ringcentral-sdk-ruby","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grokify%2Fringcentral-sdk-ruby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grokify%2Fringcentral-sdk-ruby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grokify%2Fringcentral-sdk-ruby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grokify%2Fringcentral-sdk-ruby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grokify","download_url":"https://codeload.github.com/grokify/ringcentral-sdk-ruby/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grokify%2Fringcentral-sdk-ruby/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270321931,"owners_count":24564631,"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","status":"online","status_checked_at":"2025-08-13T02:00:09.904Z","response_time":66,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["fax","mms","ringcentral","ringcentral-ruby","sms"],"created_at":"2024-10-03T16:00:24.537Z","updated_at":"2025-08-13T21:36:57.802Z","avatar_url":"https://github.com/grokify.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"RingCentral SDK for Ruby\n========================\n\n[![Gem Version][gem-version-svg]][gem-version-url]\n[![Build Status][build-status-svg]][build-status-url]\n[![Coverage Status][coverage-status-svg]][coverage-status-url]\n[![Code Climate][codeclimate-status-svg]][codeclimate-status-url]\n[![Scrutinizer Code Quality][scrutinizer-status-svg]][scrutinizer-status-url]\n[![Docs][docs-readthedocs-svg]][docs-readthedocs-url]\n[![Docs][docs-rubydoc-svg]][docs-rubydoc-url]\n[![License][license-svg]][license-url]\n\n[![Stack Overflow][stackoverflow-svg]][stackoverflow-url]\n[![Chat][chat-svg]][chat-url]\n\n## Table of contents\n\n1. [Overview](#overview)\n2. [Documentation](#documentation)\n3. [Installation](#installation)\n4. [Usage](#usage)\n  1. [Synopsis](#synopsis)\n  1. [API Requests](#api-requests)\n    1. [Generic HTTP Requests](#generic-http-requests)\n    2. [SMS and MMS Examples](#sms-and-mms-examples)\n    3. [Fax Examples](#fax-examples)\n  1. [Advanced Use Cases](#advanced-use-cases)\n5. [Supported Ruby Versions](#supported-ruby-versions)\n6. [Releases](#releases)\n  1. [Versioning](#versioning)\n  1. [Change Log](#change-log)\n8. [Links](#links)\n9. [Contributions](#contributions)\n10. [License](#license)\n\n## Overview\n\nA Ruby SDK for the [RingCentral REST API](https://developers.ringcentral.com).\n\n## Documentation\n\nFull documentation and resources are available at:\n\n1. [Ruby SDK Developer Guide](http://ringcentral-sdk-ruby.readthedocs.org/) - Read the Docs\n2. [Ruby SDK Reference Guide](http://www.rubydoc.info/gems/ringcentral_sdk/) - RubyDoc.info\n\nFor API information, see the official RingCentral resources:\n\n1. [API Developer and Reference Guide](https://developers.ringcentral.com/api-docs/latest/index.html)\n1. [API Explorer](https://developer.ringcentral.com/api-explorer/)\n1. [CTI Tutorial](http://ringcentral.github.io/tutorial/)\n\n## Installation\n\n### Via Bundler\n\nAdd 'ringcentral_sdk' to Gemfile and then run `bundle`:\n\n```sh\n$ echo \"gem 'ringcentral_sdk'\" \u003e\u003e Gemfile\n$ bundle\n```\n\n### Via RubyGems\n\n```sh\n$ gem install ringcentral_sdk\n```\n\n## Usage\n\n### Synopsis\n\n```ruby\nrequire 'ringcentral_sdk'\n\nclient = RingCentralSdk::REST::Client.new do |config|\n  # App info (mandatory)\n  config.client_id = 'myAppClientID'\n  config.client_secret = 'myAppClientSecret'\n  config.server_url = RingCentralSdk::RC_SERVER_SANDBOX\n\n  # JWT Bearer Grant (optional)\n  config.jwt = 'myJwt'\n\n  # Set a custom logger (optional)\n  config.logger = Logger.new(STDOUT)\n\n  # Enable HTTP retries for 429, 503, and 504 errors\n  # Set custom codes and retry after using retry_options\n  config.retry = true\nend\n\n# Send SMS\nres = client.messages.sms.create(\n  from: '+16505551212',\n  to: '+14155551212',\n  text: 'Hi there!'\n)\n```\n\nMore information on the authorization code flow:\n\n1. [Full documentation](http://ringcentral-sdk-ruby.readthedocs.org/en/latest/usage/authorization/Authorization/#authorization-code-grant)\n2. [Sinatra example](scripts/oauth2-sinatra)\n\n### API Requests\n\nAPI requests can be made via the included `Faraday` client or `RingCentralSdk::Helpers::Request` subclasses. These are described below.\n\n#### Generic HTTP Requests\n\nTo 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.\n\nThis is useful to access many API endpoints which do not have custom wrappers and for debugging purposes.\n\n```ruby\nhttp = client.http\n```\n\n#### SMS and MMS Examples\n\nSMS:\n\n```ruby\nclient.messages.sms.create(\n  from: '+16505551212',\n  to: '+14155551212',\n  text: 'Hi there!'\n)\n```\n\nMMS with media file:\n\n```ruby\nclient.messages.sms.create(\n  from: '+16505551212',\n  to: '+14155551212',\n  text: 'Hi there!',\n  media: '/filepath/to/file.ext'\n)\n```\n\n#### Fax Examples\n\nFax files:\n\n```ruby\nclient.messages.fax.create(\n  to: '+14155551212',\n  coverPageText: 'Hi there!',\n  files: ['/path/to/myfile.pdf']\n)\n```\n\nFax text:\n\n```ruby\nclient.messages.fax.create(\n  to: '+14155551212',\n  coverPageText: 'Hi there!',\n  text: 'Hi there!'\n)\n```\n\n#### Subscription Example\n\nTo make subscriptions with RingCentral, use the SDK object to create subscription Observer object and then add observers to it.\n\n```ruby\n# Create an observer object\nclass MyObserver\n  def update(message)\n    puts 'Subscription Message Received'\n    puts JSON.dump(message)\n  end\nend\n\n# Create an observable subscription and add your observer\nsub = client.create_subscription\nsub.add_observer MyObserver.new\n\n# Subscribe to an arbitrary number of event filters\nsub.subscribe ['/restapi/v1.0/account/~/extension/~/presence']\n\n# End the subscription\nsub.destroy\n```\n\n### Examples\n\nSee examples in the [`scripts`](scripts) folder.\n\nA simple read only script is `account-extensions.rb` which can be used to validate your app configuration.\n\n### Advanced Use Cases\n\n1. [Subscribing to All Extensions](http://ringcentral-sdk-ruby.readthedocs.org/en/latest/usage/notifications/Subscriptions-All-Extensions/)\n1. [Managing Call Queue Member Status](http://ringcentral-sdk-ruby.readthedocs.org/en/latest/usage/callqueues/Member-Status/)\n\n## Supported Ruby Versions\n\nThis library is tested against [this list of Ruby implementations](https://travis-ci.org/grokify/ringcentral-sdk-ruby).\n\n## Releases\n\nReleases with release notes are availabe on [GitHub releases](https://github.com/grokify/ringcentral-sdk-ruby/releases). Release notes include a high level description of the release as well as lists of non-breaking and breaking changes.\n\n### Versioning\n\n* Versions 1.0.0 and above follow [semantic versioning](http://semver.org/). Breaking changes will be indicated by a change in major version.\n* 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.\n\n### Change Log\n\nSee [CHANGELOG.md](CHANGELOG.md)\n\n## Links\n\nProject Repo\n\n* https://github.com/grokify/ringcentral-sdk-ruby\n\nRingCentral API Docs\n\n* https://developers.ringcentral.com/library.html\n\nRingCentral API Explorer\n\n* http://ringcentral.github.io/api-explorer\n\nRingCentral Official SDKs\n\n* https://github.com/ringcentral\n\n## Contributing\n\n1. Fork it ( http://github.com/grokify/ringcentral-sdk-ruby/fork )\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n\n### Development\n\nTo build local development copy of the gem use:\n\n```\n% gem build ringcentral_sdk.gemspec\n```\n\nThis will produce a file like: `ringcentral_sdk-3.1.0.gem` which you can install with:\n\n```\n% gem install ringcentral_sdk-3.1.0.gem\n```\n\n## License\n\nRingCentral SDK is available under the MIT license. See [LICENSE](LICENSE) for details.\n\nRingCentral SDK \u0026copy; 2015-2024 by John Wang\n\n [gem-version-svg]: https://badge.fury.io/rb/ringcentral_sdk.svg\n [gem-version-url]: http://badge.fury.io/rb/ringcentral_sdk\n [downloads-svg]: http://ruby-gem-downloads-badge.herokuapp.com/ringcentral_sdk\n [downloads-url]: https://rubygems.org/gems/ringcentral_sdk\n [build-status-svg]: https://github.com/grokify/ringcentral-sdk-ruby/workflows/test/badge.svg\n [build-status-url]: https://github.com/grokify/ringcentral-sdk-ruby/actions/workflows/test.yaml\n [coverage-status-svg]: https://coveralls.io/repos/grokify/ringcentral-sdk-ruby/badge.svg?branch=master\n [coverage-status-url]: https://coveralls.io/r/grokify/ringcentral-sdk-ruby?branch=master\n [dependency-status-svg]: https://gemnasium.com/grokify/ringcentral-sdk-ruby.svg\n [dependency-status-url]: https://gemnasium.com/grokify/ringcentral-sdk-ruby\n [codacy-svg]: https://api.codacy.com/project/badge/Grade/4792fe45b56b4841a7e6099c316ac0f8\n [codacy-url]: https://www.codacy.com/app/grokify/ringcentral-sdk-ruby\n [codeclimate-status-svg]: https://codeclimate.com/github/grokify/ringcentral-sdk-ruby/badges/gpa.svg\n [codeclimate-status-url]: https://codeclimate.com/github/grokify/ringcentral-sdk-ruby\n [scrutinizer-status-svg]: https://scrutinizer-ci.com/g/grokify/ringcentral-sdk-ruby/badges/quality-score.png?b=master\n [scrutinizer-status-url]: https://scrutinizer-ci.com/g/grokify/ringcentral-sdk-ruby/?branch=master\n [story-status-svg]: https://badge.waffle.io/grokify/ringcentral-sdk-ruby.svg?label=ready\u0026title=Ready\n [story-status-url]: https://waffle.io/grokify/ringcentral-sdk-ruby\n [docs-readthedocs-svg]: https://img.shields.io/badge/docs-readthedocs-blue.svg\n [docs-readthedocs-url]: http://ringcentral-sdk-ruby.readthedocs.org/\n [docs-rubydoc-svg]: https://img.shields.io/badge/docs-rubydoc-blue.svg\n [docs-rubydoc-url]: http://www.rubydoc.info/gems/ringcentral_sdk/\n [license-svg]: https://img.shields.io/badge/license-MIT-blue.svg\n [license-url]: https://github.com/grokify/ringcentral-sdk-ruby/blob/master/LICENSE\n [chat-svg]: https://img.shields.io/badge/chat-on%20glip-orange.svg\n [chat-url]: https://glipped.herokuapp.com/\n [stackoverflow-svg]: https://img.shields.io/badge/Stack%20Overflow-ringcentral-orange.svg\n [stackoverflow-url]: https://stackoverflow.com/questions/tagged/ringcentral\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrokify%2Fringcentral-sdk-ruby","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrokify%2Fringcentral-sdk-ruby","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrokify%2Fringcentral-sdk-ruby/lists"}