SMS Sending Numbers

Last updated: 2020-07-23 Contributors NonePaco VuByrne Reese
Edit this page

RingCentral numbers have SMS and MMS capabilities depending on the account plan. Users can send and receive SMS from enabled phone numbers assigned to their extension. The operator extension can further send and recieve SMS from the Main Company Number. See more below on using the Main Company Number.

Phone numbers can have different capabilties determined by the presence of the following values in the features property of the Phone Number info object:

Feature Description
SmsSender send and receive regular texts
MmsSender send and receive group texts and files
InternationalSmsSender send and receive regular texts to international numbers

Listing Valid SMS Numbers

To determine which numbers a user can use to send and receive SMS, retrieve the user's list of phone numbers from the extension/phone-number endpoint and then filter by numbers with the SmsSender and/or MmsSender feature. The extension/phone-number is as follows where {accountId} and {extensionId} can be replaced by actual values or ~ for the current user's account and extension values.

GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/phone-number
const RC = require('ringcentral')

var rcsdk = new RC( {server: "server_url", appKey: "client_id", appSecret: "client_secret"} );
var platform = rcsdk.platform();

platform.login( {username: "username", password: "password", extension: "extension_number"
    .then(function(resp) {
      .then(function (response) {
          var jsonObj = response.json()
          for (var record of jsonObj.records)
          console.log("This phone number " + record.phoneNumber + " has the following features: " );
            for (var feature of record.features) {
                console.log("=> " + feature);
from ringcentral import SDK

sdk = SDK( "client_id", "client_secret", "server_url" )
platform = sdk.platform()
platform.login( "username", "extension", "password" )

response = platform.get('/restapi/v1.0/account/~/extension/~/phone-number')
for record in response.json().records:
    print "This phone number " + record.phoneNumber + " has the following features: "
    for feature in record.features:
        print " => " + feature

$rcsdk = new RingCentral\SDK\SDK( "client_id", "client_secret", "server_url" );
$platform = $rcsdk->platform();
$platform->login( "username", "extension_number", "password" );

$response = $platform->get('/account/~/extension/~/phone-number');
foreach ($response->json()->records as $record){
    print_r ("This phone number ".$record->phoneNumber." has the following features: "."\n");
    foreach ($record->features as $feature)
    print_r (" => ".$feature."\n");
using System;
using System.Threading.Tasks;
using RingCentral;

namespace Read_Phone_Number
    class Program
    static void Main(string[] args)
    static private async Task detect_phone_number_feature()
        RestClient rc = new RestClient("client_id", "client_secret", "server_url");
        await rc.Authorize("username", "extension_number", "password");

        var response = await rc.Restapi().Account().Extension().PhoneNumber().Get();

        foreach (var record in response.records)
        Console.WriteLine("This phone number " + record.phoneNumber + " has the following features: " );
        foreach (var feature in record.features) {
            Console.WriteLine("=> " + feature);
import com.ringcentral.*;
import com.ringcentral.definitions.*;

public class Read_Phone_Number {
      public static void main(String[] args) {
        try {
        } catch (RestException | IOException e) {

    public static void detect_phone_number_feature() throws RestException, IOException{
    RestClient restClient = new RestClient("client_id", "client_secret", "server_url");
    restClient.authorize("username", "extension_number", "password");

    restClient = new RestClient("client_id", "client_secret", "server_url");
    restClient.authorize("username", "extension_number", "password");

    var response = restClient.restapi().account().extension().phonenumber().get();
    for (var record : response.records) {
        System.out.println("This phone number " + record.phoneNumber + " has the following features: " );
        for (var feature : record.features) {
            System.out.println("=> " + feature);
require 'ringcentral'

rc = 'client_id', 'client_secret', 'server_url')
rc.authorize( username:  'username', extension: 'extension_number', password:  'password')
response = rc.get ('/restapi/v1.0/account/~/extension/~/phone-number')

for record in response.body['records'] do
    puts "This phone number " + record['phoneNumber'] + " has the following features: "
    for feature in record['features'] do
    puts " => " + feature

This example response shows the SmsSender, MmsSender and InternationalSmsSender features:

        "name":"United States"

SMS and the Main Company Number

You can send and receive SMS messages from the main company phone number when authorized as the Operator Extension. By default, the Operator Extension is set to extension 101. This can be edited and assigned to other extensions in the Online Account Portal under "Auto-Receptionist" > "Operator Extension.""