{"id":21406622,"url":"https://github.com/ringcentral/ringcentral-python","last_synced_at":"2025-10-26T12:36:01.341Z","repository":{"id":27564283,"uuid":"31046360","full_name":"ringcentral/ringcentral-python","owner":"ringcentral","description":"RingCentral Connect Platform Python SDK ","archived":false,"fork":false,"pushed_at":"2024-12-04T17:08:16.000Z","size":1012,"stargazers_count":46,"open_issues_count":8,"forks_count":37,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-04-03T20:09:29.361Z","etag":null,"topics":["python","sdk"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"stephenlb/python-sdk","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ringcentral.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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,"publiccode":null,"codemeta":null}},"created_at":"2015-02-20T01:31:03.000Z","updated_at":"2024-11-21T00:26:48.000Z","dependencies_parsed_at":"2024-05-09T12:34:11.934Z","dependency_job_id":"403fde06-9c1c-4e6c-9d7b-3e59ddf8ef6d","html_url":"https://github.com/ringcentral/ringcentral-python","commit_stats":{"total_commits":120,"total_committers":15,"mean_commits":8.0,"dds":0.525,"last_synced_commit":"358cb83ca4ffb978312963929b8d337a16a84b9a"},"previous_names":["ringcentral/python-sdk"],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringcentral%2Fringcentral-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringcentral%2Fringcentral-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringcentral%2Fringcentral-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ringcentral%2Fringcentral-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ringcentral","download_url":"https://codeload.github.com/ringcentral/ringcentral-python/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248598011,"owners_count":21130998,"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":["python","sdk"],"created_at":"2024-11-22T16:40:57.436Z","updated_at":"2025-10-26T12:36:01.273Z","avatar_url":"https://github.com/ringcentral.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RingCentral SDK for Python\n\n[![Unit Tests](https://github.com/ringcentral/ringcentral-python/actions/workflows/unit-tests.yml/badge.svg)](https://github.com/ringcentral/ringcentral-python/actions/workflows/unit-tests.yml)\n[![Coverage Status](https://coveralls.io/repos/github/ringcentral/ringcentral-python/badge.svg?branch=master)](https://coveralls.io/github/ringcentral/ringcentral-python?branch=master)\n[![Code Document](https://img.shields.io/badge/pythondoc-reference-blue?branch=master\u0026service=github)](https://ringcentral.github.io/ringcentral-python/ringcentral.html)\n[![Twitter](https://img.shields.io/twitter/follow/ringcentraldevs.svg?style=social\u0026label=follow)](https://twitter.com/RingCentralDevs)\n\n__[RingCentral Developers](https://developer.ringcentral.com/api-products)__ is a cloud communications platform which can be accessed via more than 70 APIs. The platform's main capabilities include technologies that enable:\n__[Voice](https://developer.ringcentral.com/api-products/voice), [SMS/MMS](https://developer.ringcentral.com/api-products/sms), [Fax](https://developer.ringcentral.com/api-products/fax), [Glip Team Messaging](https://developer.ringcentral.com/api-products/team-messaging), [Data and Configurations](https://developer.ringcentral.com/api-products/configuration)__.\n\n## Additional resources\n\n* [RingCentral API Reference](https://developer.ringcentral.com/api-docs/latest/index.html) - an interactive reference for the RingCentral API that allows developers to make API calls with no code.\n* [Document](https://ringcentral.github.io/ringcentral-python/ringcentral.html) - an interactive reference for the SDK code documentation.\n\n\n## Important change logs\n\n- In version 0.9.0, we removed PubNub support. If you need subscription to events, please use WebSocket instead. Please refer to [demo_subscription.py](./ringcentral/demos/demo_subscription.py) for more information.\n  - If you still need PubNub support, please use version 0.8.x.\n\n\n## Installation\n\nThis SDK is tested against Python 3.7 so we recommend [installing using it with Python 3.7 or newer](https://www.python.org/downloads/)\n\n```sh\n$ pip3 install ringcentral\n```\n\n## Usage\n\nTake a look at a sample code.\n\n```py\nfrom ringcentral import SDK\n\nsdk = SDK('CLIENT_ID', 'CLIENT_SECRET', 'SERVER')\nplatform = sdk.platform()\nplatform.login(jwt='JWT_TOKEN')\nres = platform.get('/account/~/extension/~')\nprint('User loaded ' + res.json().name)\n```\n\n\n## Subscribing for server events\n\nPlease refer to [demo_subscription.py](./ringcentral/demos/demo_subscription.py)\n\n\n## Send sms\n```py\nfrom ringcentral import SDK\n\ndatabase = []\ndatabase.append({\"Customer\":\"Tyler\",\"Payment\":\"Due\",\"PhoneNumber\":\"xxxxxxxxxxx\"})\ndatabase.append({\"Customer\":\"Chen\",\"Payment\":\"Paid\",\"PhoneNumber\":\"xxxxxxxxxxx\"})\ndatabase.append({\"Customer\":\"Anne\",\"Payment\":\"Paid\",\"PhoneNumber\":\"xxxxxxxxxxx\"})\ndatabase.append({\"Customer\":\"Brown\",\"Payment\":\"Due\",\"PhoneNumber\":\"xxxxxxxxxxx\"})\ndatabase.append({\"Customer\":\"Peter\",\"Payment\":\"Due\",\"PhoneNumber\":\"xxxxxxxxxxx\"})\ndatabase.append({\"Customer\":\"White\",\"Payment\":\"Paid\",\"PhoneNumber\":\"xxxxxxxxxxx\"})\ndatabase.append({\"Customer\":\"Lisa\",\"Payment\":\"Paid\",\"PhoneNumber\":\"xxxxxxxxxxx\"})\ndatabase.append({\"Customer\":\"Dan\",\"Payment\":\"Paid\",\"PhoneNumber\":\"xxxxxxxxxxx\"})\ndatabase.append({\"Customer\":\"Stephanie\",\"Payment\":\"Due\",\"PhoneNumber\":\"xxxxxxxxxxx\"})\ndatabase.append({\"Customer\":\"Lukas\",\"Payment\":\"Due\",\"PhoneNumber\":\"xxxxxxxxxxx\"})\n\nsdk = SDK('CLIENT_ID', 'CLIENT_SECRET', 'SERVER')\nplatform = sdk.platform()\nplatform.login(jwt='JWT_TOKEN')\n\ndef sendSMS(message, number):\n    params = {'from': {'phoneNumber': 'USERNAME'},'to': [{'phoneNumber': number}],'text': message}\n    response = platform.post('/restapi/v1.0/account/~/extension/~/sms', params)\n    print('Sent payment reminder to ' + number)\n\ndef main():\n    for i in range(len(database)):\n        customer = database[i]\n        if customer['Payment'] is \"Due\":\n            sendSMS(\"Hi \" + customer['Customer'] + \". Your payment is due.\", customer['PhoneNumber'])\n        time.sleep(5)\n    print(\"Send payment reminder done.\")\n\nif __name__ == '__main__':\n    main()\n```\n\n\n## dev-notes\n\nhttps://github.com/ringcentral/ringcentral-python/blob/master/dev-notes.md\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fringcentral%2Fringcentral-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fringcentral%2Fringcentral-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fringcentral%2Fringcentral-python/lists"}