{"id":21406656,"url":"https://github.com/ringcentral/ringcentral-api-docs","last_synced_at":"2025-04-05T11:10:16.604Z","repository":{"id":244323786,"uuid":"64155267","full_name":"ringcentral/ringcentral-api-docs","owner":"ringcentral","description":"Official RingCentral Connect Platform Developer Guide","archived":false,"fork":false,"pushed_at":"2025-03-24T20:41:45.000Z","size":49377,"stargazers_count":38,"open_issues_count":4,"forks_count":70,"subscribers_count":16,"default_branch":"main","last_synced_at":"2025-03-29T10:08:21.110Z","etag":null,"topics":["documentation"],"latest_commit_sha":null,"homepage":"https://developers.ringcentral.com/guide/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"anilkumarbp/developing-with-ringcentral","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ringcentral.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.md","funding":null,"license":null,"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":"2016-07-25T17:42:09.000Z","updated_at":"2025-03-24T20:41:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"719ba505-054a-4144-8876-4904c033bf24","html_url":"https://github.com/ringcentral/ringcentral-api-docs","commit_stats":null,"previous_names":["ringcentral/ringcentral-api-docs"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringcentral%2Fringcentral-api-docs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringcentral%2Fringcentral-api-docs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringcentral%2Fringcentral-api-docs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringcentral%2Fringcentral-api-docs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ringcentral","download_url":"https://codeload.github.com/ringcentral/ringcentral-api-docs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247325693,"owners_count":20920714,"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":["documentation"],"created_at":"2024-11-22T16:41:29.597Z","updated_at":"2025-04-05T11:10:16.584Z","avatar_url":"https://github.com/ringcentral.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RingCentral Developer Guide Documentation\n\n![Build](https://github.com/ringcentral/ringcentral-api-docs/actions/workflows/mkdocs_build.yml/badge.svg)\n![Code Samples](https://github.com/ringcentral/ringcentral-api-docs/actions/workflows/check_code_samples.yml/badge.svg?branch=main)\n![Links](https://github.com/ringcentral/ringcentral-api-docs/actions/workflows/check_links.yml/badge.svg?branch=main)\n\nThis repository is the home of the RingCentral Developer Guide: a collection of materials, and documentation to help educate developers on how to build on top of the RingCentral platform.\n\nThis repository powers the production of two key resources:\n\n1. [RingCentral Developer Guide](https://ringcentral-api-docs.readthedocs.io/en/latest/oauth/)\n2. [RingCentral Tutorials Index](https://ringcentral.github.io/tutorials/)\n\n## Inside this Repository\n\nRingCentral's [Developer Guide](https://ringcentral-api-docs.readthedocs.io/en/latest/) is powered by [Read the Docs](https://readthedocs.org/), and makes up the bulk of this repository. To contribute to this documentation effort, start by looking at `mydocs.yml` which powers the generation of the table of contents and points to the specific documents located within the `docs` directory.\n\nRingCentral's [Tutorials](https://ringcentral.github.io/tutorials/) index aggregates content found here, as well as content across the web. It is powered by `tutorials.json`.\n\n## Contributing\n\nIf you would like to contribute to the RingCentral documentation effort, fork this repository, make your desired edits and contributions, and issue a pull request accordingly.\n\n### Running the Developer Guide locally\n\nThe Developer Guide is built on top of Mkdocs, a self-contained documentation server. Writers are encouraged to install Mkdocs locally so that you can edit files and preview your changes before they are pushed to production servers.\n\n```shell\ngit clone https://github.com/ringcentral/ringcentral-api-docs.git\ncd ringcentral-api-docs\npip install mkdocs\npip install -r requirements.txt\nmkdocs serve\n```\n\nThen you should be able to load \u003chttp://localhost:8000\u003e to view the documentation.\n\nPlease be aware that the local version of the Developer Guide utilizes a Mkdocs theme that *mimics* our main documentation site, but it is not the same -- hence some of the visual differences you may observe. When the Developer Guide is published officially, mkdocs is used to generate HTML files, and those HTML files are then loaded into a different presentation framework.\n\n## How to test and verify code samples\n\nFirst, let's setup our python virtual environment within which the code checking framework will be run. We will do this from the root directory of `ringcentral-api-docs`. Then we will install the code checking framework within that virtual environment.\n\n```shell\ncd $GITHUB/ringcentral-api-docs\npython3 -m venv .\nsource ./bin/activate\npython3 -m pip install --upgrade pip\npip3 install mkdocs-codecheck\n```\n\nThe code checking framework can be installed via pip ([mkdocs-codecheck](https://pypi.org/project/mkdocs-codecheck)), or the bleeding edge version can be downloaded and installed from [github](https://github.com/byrnereese/codechecker-mkdocs).\n\nNext, you need to install all the various libraries and other prerequisites used within the code samples for all of the languages we support.\n\n**For python code samples**\n\n```shell\npip install ringcentral\npip install python-dotenv\n```\n\n**For PHP code samples**\n\n```shell\nphp composer.phar require ringcentral/ringcentral-php\n```\n\n**For Java code samples**\n\nTo test java code samples, you will need to make sure you have Java installed, and your CLASSPATH has been setup properly to point to the following jar files.\n\n* RingCentral Java SDK\n* Jetty Util, Server and Servlet\n* J2EE\n* Gson\n* FastJSON\n\nSTEPS to compile and run Java Sample Code using Maven (make sure maven build tool)\n\n```shell\ngit clone \u003cthis repository\u003e\ncd ringcentral-api-docs/code-samples/java-samples\nmvn clean compile\n```\n\nTODO (internal):\n\n1. Adjust mkdocs script for Java so it no longer relies on CLASSPATH environment variable, instead uses maven to compile, run, test Java sample code.\n2. Add JUnit Tests\n\n### For DotNet and .cs code samples\n\nMac and Linux users can install the `dotnet-sdk` package via brew:\n\n```shell\nbrew install --cask dotnet-sdk\n```\n\nThen you will need to install the RingCentral SDK, globally:\n\n```shell\ndotnet tool install --global RingCentral.Net\n```\n\n### Create a .env file\n\nCreate a `.env` file in the `code-samples` directory by copying and editing the provided template. This file will make reference to an app for which all permissions have been enabled. Embed that app's credentials in your `.env` in the appropriate fields.\n\n```shell\ncp code-samples/env-template code-samples/.env\n```\n\n### Run the testing framework\n\nWith all necessary software installed, you can now run the script. Run the script from the root directory of `ringcentral-api-docs` and be sure your python virtual environment is activated.\n\n```shell\ncd $GITHUB/ringcentral-api-docs\nsh ./bin/activate\nmkdocs-codecheck --verbose --recurse --dotenv ./code-samples/.env ./code-samples\n```\n\n## Tips for Styling Documentation\n\n### View our styleguide\n\nOur [styleguide](https://github.com/ringcentral/ringcentral-api-docs/blob/master/docs/styleguide.md) serves as a reference for the various documentation syntaxes to help writers format their documentation and utilize markdown to its fullest extent. The styleguide demonstrates the following styles:\n\n* Fenced Code Blocks\n* Admonitions, or call outs\n* Tables\n* Syntax highlighting and line highlighting\n\n### Customizing the underlying theme and HTML\n\nFor local development, mkdocs uses a [RingCentral Mkdocs Theme](https://github.com/byrnereese/mkdocs-ringcentral). If you wish to affect the underlying structure of the site you have two choices:\n\n* Override locally\n* Fix globally\n\nTo override locally, consult the mkdocs documentation on creating a [custom theme](https://www.mkdocs.org/user-guide/custom-themes/). The process involves overriding theme files with your own custom files. This requires you understand the underlying theme structure, so consult the structure of [mkdocs-ringcentral](https://github.com/byrnereese/mkdocs-ringcentral).\n\nTo make a change globally, you can also submit a pull request to [mkdocs-ringcentral](https://github.com/byrnereese/mkdocs-ringcentral) and the change can be propagated across all documentation projects that utilize it.\n\n### Utilizing components from Bootstrap\n\nOur documentation is all based on the open-source CSS framework called Bootstrap. It makes available a number of commonly used UI components that can be cut and paste into our docs and be rendered faithfully.\n\n* Visit the [Bootstrap Component Library](https://getbootstrap.com/docs/4.4/components/alerts/) to learn more\n\n### Using the Material component library\n\nOur documentation also makes use of the [Mkdocs Material Plugin](https://squidfunk.github.io/mkdocs-material/). This plugin is what renders admonitions for example.\n\n```text\n!!! note \"Phasellus posuere in sem ut cursus\"\n    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod.\n```\n\nThis plugin extends the markdown language new ways of encoding text in markdown, including:\n\n* [admonitions](https://squidfunk.github.io/mkdocs-material/extensions/admonition/)\n* [footnotes/citations](https://squidfunk.github.io/mkdocs-material/extensions/footnotes/)\n* [HTML meta tags](https://squidfunk.github.io/mkdocs-material/extensions/metadata/)\n\nThere are a number of [other Markdown extensions](https://squidfunk.github.io/mkdocs-material/extensions/pymdown/) available through Material as well.\n\n### Embedding Code Samples in documentation\n\nInside of this repository is a `code-samples` directory, into which is placed all the code samples that can be found in our documentation. Each code sample stored here is a fully functional, stand-alone script that can be run directly by a developer.\n\nWriters can then include content from a code sample using the following syntax:\n\n```javascript\n{! code-samples/path/to/code-sample.js [ln:35-48] !}\n```\n\nThe above example includes the file referenced, but only lines 35 through 48. This makes it possible to only include fragments of a code sample, while maintaining the integrity of the code sample's ability to be run as a stand-alone script.\n\nThis include functionality is provided by the [mdx_include extension](https://github.com/neurobin/mdx_include). Consult its documentation to learn how to use it more effectively.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fringcentral%2Fringcentral-api-docs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fringcentral%2Fringcentral-api-docs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fringcentral%2Fringcentral-api-docs/lists"}