Support for the RingCentral SMS Gateway was added in v4.2 of fmSMS. fmSMS supports both the RingCentral Sandbox (testing environment) as well as the live Production environment. We recommend testing initially using the Sandbox if you are new to RingCentral and creating separate records in the fmSMS Accounts table for the Sandbox and Production environments.
To use fmSMS with RingCentral you will need the following:
- your RingCentral Sandbox or Production username
- your RingCentral Sandbox or Production password
- your RingCentral Virtual Number
You will also need to create a RingCentral app on the RingCentral website to use with fmSMS. When you create the RingCentral app select the Web server option and ‘Only members of my organisation/company’ for access (private app option). Detailed instructions can be found on the RingCentral website here. When creating the RingCentral app make sure you select the following permissions:
- Read Messages
- Webhook Subscriptions
Once you have created your RingCentral app you will also need:
- your RingCentral app Client ID
- your RingCentral app Client Secret
You can then create an Account record in the fmSMS file and select RingCentral as the Gateway to use from the drop down menu and complete the following details:
- enter your RingCentral Phone number linked to account or extension in the Username field in the Accounts Screen
- enter your RingCentral Password in the Password field in the Accounts Screen
- enter your RingCentral Virtual Number in the Custom Text 1 field in the Accounts screen
The Accounts screen should look like this:
RingCentral uses OAuth for authenticating with the RingCentral API, so you will also need to enter your OAuth credentials that were generated as part of creating the RingCentral app. You can view your OAuth Credentials on the RingCentral website (go to Console/Apps and click on your app and then Credentials):
In the fmSMS Accounts screen click the OAuth Settings button:
which opens a FileMaker popover where you can enter your OAuth credentials:
- enter your RingCentral app Client ID into the Client ID field
- enter your RingCentral app Client Secret into the Client Secret field
- select the Environment to use (Sandbox or Production)
You can ignore the other fields as they will be populated automatically as you authenticate or when the access token is refreshed. We are not using the Redirect URL as we are using the Password Auth Mode.
When you have finished testing in the RingCentral Sandbox you can graduate your app for use in the Production environment – see the RingCentral website for more details on this process.
Using Webhooks with RingCentral and fmSMS
The RingCentral API supports using Webhooks to receive incoming SMS messages, however you have to use the RingCentral API to create the Webhook. We have added support for creating and deleting Webhooks using the RingCentral API (we plan to extend this functionality to other SMS Gateways that support creating Webhooks via their API in future updates). To create a Webhook to receive incoming SMS messages using fmSMS you will first need to upload the dedicatedNumberReply.php file supplied with fmSMS – see here for further details on setting up 2 way messaging. You can get more information on the requirements for Webhooks with RingCentral here (e.g. it must be hosted on an SSL secured site and start with https).
Once you have the publicly accessible URL for your dedicatedNumberReply.php file click on the Webhooks tab in the fmSMS Account Details screen and click the Create Webhook button:
Enter the https URL to your dedicatedNumberReply.php file in the Address field and select Incoming Messages for the Type field. The Webhook details should look something like this:
Click the Create Webhook button to create a Webhook using the RingCentral API. If this request was successful the RingCentral Webhook ID will be populated in the Gateway ID field, otherwise you will get an error message in the Last API Result field. Once you have successfully created the Webhook any new incoming messages will be forwarded by RingCentral to that URL. N.B. RingCentral Webhooks do expire – we set the expiration time to 157680000 seconds (5 Years) when creating the Webhook using the fmSMS file.