Skip to main content

I have my app working fine in Sandbox, but in production when trying to send a text, i recieve the following response:


body=>"{

"errorCode" : "FeatureNotAvailable",

"message" : "Phone number doesn't belong to extension",

"errors" : [ {

"errorCode" : "MSG-304",

"message" : "Phone number doesn't belong to extension"

} ]
}", :url=>#<URI::HTTPS:0x007ffb5c0b65d0 URL:https://platform.ringcentral.com/restapi/v1.0/account/~/extension/~/sms>;,


I am trying to text a users cell phone number. We receive txts on our cells fine in sandbox mode

What is the from number you're using please and is it part of your production RingCentral account for the user you've authenticated in the session?

Could you provide the request headers and body you're using please?
Hey Ben, 

I am using the following as my request headers/body :

conn.headers['Authorization'] = "Bearer #{token["access_token"]}"   
conn.headers['Content-Type'] = "application/json"

and the body

res = conn.post '/restapi/v1.0/account/~/extension/~/sms', {      to: recipients,
      from: {phoneNumber: 'mainRingcentralNumber'},
      text: message
    }.to_json


in the above, recipients is a local phone number and message is just a string message
the from number is 5128272252 and we are using extension 101; we got those from the user accound credentials page on the ringcentral dev dashboard
The "to" property must contain a Caller-Info object that has a phoneNumber property similar to your "from" property.

Check the, developer guide here for more information: https://developers.ringcentral.com/api-docs/latest/index.html#!#RefCreateSMSMessage
Sorry, it wasn't clear from the example. recipients is a Caller info object  and looks like this [{phoneNumber: '512XXXXXXX'}]

so 

recipients = [{phoneNumber: '512XXXXXXX'}]
res = conn.post '/restapi/v1.0/account/~/extension/~/sms', {      to: recipients,
      from: {phoneNumber: 'mainRingcentralNumber'},
      text: message
    }.to_json
Yes, that should work as expected. If not, please provide the headers and error message please.
also, incase it helps, this does work in the sandbox

the headers:


conn.headers['Authorization'] = "Bearer #{token["access_token"]}"    
conn.headers['Content-Type'] = "application/json"

The Body: 

conn.post '/restapi/v1.0/account/~/extension/~/sms', {      to: [{phoneNumber: 512XXXXXXX}],
      from: {phoneNumber: 'mainRingcentralNumber'},
      text: message
    }.to_json

the response/error:

<Faraday::Response:0x007fac88eb5a00 @env={:method=>:post, :body=>"{
 "errorCode" : "FeatureNotAvailable",
 "message" : "Phone number doesn't belong to extension",
 "errors" : [ {
   "errorCode" : "MSG-304",
   "message" : "Phone number doesn't belong to extension"
 } ]
}", :url=>#<URI::HTTPS:0x007fac846bc438 URL:https://platform.ringcentral.com/restapi/v1.0/account/~/extension/~/sms>;, :request_headers=>{"User-Agent"=>"Faraday v0.8.9", "Authorization"=>"Bearer U0pDMDFQMDdQQVMwNXxBQUF5cjVEZURodDZhSWx2cGFYUlhsREJCdkd6Yzk5d0JEd3ZraExzNm5yNGl0YUt5bG5fRE5QX0Rtd0JobXl4MG16Qm9DRy04NzZPaDNPV3FzbEwwTUtuNHVYM3ZWR2xWd052cjZSYUdsbW93bmpXd3pyRkt3aFJrZTBGaEVGeDJVZ3xZNHl2WGd8YkdUYVhKZEpucGlYQnF0QndBRUs5UQ", "Content-Type"=>"application/json"}, :parallel_manager=>nil, :request=>{:proxy=>nil}, :ssl=>{}, :status=>403, :response_headers=>{"server"=>"nginx/1.8.0", "date"=>"Mon, 21 Mar 2016 19:32:46 GMT", "content-type"=>"application/json;charset=UTF-8", "content-length"=>"218", "connection"=>"close", "rcrequestid"=>"b06f05f4-ef9b-11e5-af18-005056973311", "routingkey"=>"SJC01P07PAS05", "x-loadmetric"=>"7", "x-error-id"=>"2da5f246-03f3-481a-8dd3-14a4df00e683", "x-rate-limit-group"=>"medium", "x-rate-limit-limit"=>"40", "x-rate-limit-remaining"=>"39", "x-rate-limit-window"=>"60", "content-language"=>"en-US"}, :response=>#<Faraday::Response:0x007fac88eb5a00 ...>}, @on_complete_callbacks=[]> => {"errorCode"=>"FeatureNotAvailable", "message"=>"Phone number doesn't belong to extension", "errors"=>[{"errorCode"=>"MSG-304", "message"=>"Phone number doesn't belong to extension"}]}
Awesome, thanks for sharing your success.
?? that was my error

it works in the sandbox but not production ...that was there production error
It is still not working
I received an email that this case was closed, is there a way to reopen it please?
Sorry about that, thought you had things working the way you needed.

In production:
  1. Has your app/integration been graduated to production?
  2. Are you using the production API Base URL: https://platform.ringcentral.com/ ?
  3. Are you using production API keys (if you have production access)?
  4. Do I need to re-review this in the context of your production account?
Thanks for helping to isolate the answers.

No problem, i think i just got you confused by saying that it was working in staging.  To answer you questions
  1. The app has been graduated
  2. we are using production url
  3. correct keys
  4. I am not sure what you mean by review in conext of production account, but if that means that you can take a look at my account specifically, I am beginning to think that the problem may lie in an account specific spot.  It's just weird that we are perfectly fine in staging.
Thanks again for getting back!
And the "from" number is a number associated with the respective production RingCentral account?
That is correct
Could you send me the request headers and body you're using privately to: benjamin.dean@ringcentral.com please?

I'd like to run some tests myself please.
If you indicate a company number (not direct extension number) as your "from" number, you must be logged in as a company operator to be allowed to send SMS from this number. By default, main system administrator extension is defined as a company operator, but it can be changed in RingCentral Service Web UI .  
See also https://devcommunity.ringcentral.com/ringcentraldev/topics/how-to-send-sms-from-the-main-company-num...
HI, I am having a similar issue,

This is my header and request string.

curl --request POST --url 'https://platform.ringcentral.com/restapi/v1.0/account/~/extension/~/sms' --header 'accept: application/json' --header 'authorization: Bearer SUFEMDFQMDdQQVMwMHxBQUMxaXFvRnNqRjRQSE5yc1pCSTdacldhNjJLZl9wbHRHd3c3Z3R6eHZUZXRmNzFRMmJZOTlRRFdyTnU4a0dDb2N0NF9QWWRPMEVYNENYQjd4dmJsWHJobm5GOTQ4Zi1PTFRIczcycTVONm13em0xVDVFbTd3YkZXRGtIalZ1Qzk1R3Z5cnhkdTRFLVdQLVVtcVBsbzNtTmpTbG43LVpsM3BSb0dZR19MVlo5bGhoU1ZXNEYwVG9taHY3cjI0RVA3UnBoOXpZR1RqSDlLWDJuSFFHSlJjMnF8SHVZRXVRfEEwcDA1RzQ4S3JsaG5CcFViUEJ4SkF8QUE' --header 'content-type: application/json' --data '{"from":{"phoneNumber":"+18035096800"},"to":[{"phoneNumber":"(378) 400-1234"}],"text":"testing"}'


This is the response i recieve.
The error code is 304
{ "errorCode": "FeatureNotAvailable", "message": "Phone number doesn't belong to extension", "errors": [ { "errorCode": "MSG-304", "message": "Phone number doesn't belong to extension" } ] }

Dave,

The phone number you use to send a message from (+18035096800) must belong to authenticated user.
Hi, Anton Nikitin
I working on app: Should I define as "from number" the number from here: https://prnt.sc/njgern ?
If you are logged in to the app in production as this account user, then yes.

Hi @Anton Nikitin. Greetings.

I am currently working on sandbox environment, and my phone number is associated to my account. But when I try to test sms api, it returns an error "Phone number doesn't belong to extension"

{ "to": [{"phoneNumber": "+171xxxxxxxx "}], "from": {"phoneNumber": "+147xxxxxxxx}"}, "text": "Test SMS message from Platform server"}


What's wrong?

Please let me know your thoughts.

Thanks.


Hi @Anton Nikitin. Greetings.

I am currently working on sandbox environment, and my phone number is associated to my account. But when I try to test sms api, it returns an error "Phone number doesn't belong to extension"

{ "to": [{"phoneNumber": "+171xxxxxxxx "}], "from": {"phoneNumber": "+147xxxxxxxx}"}, "text": "Test SMS message from Platform server"}


What's wrong?

Please let me know your thoughts.

Thanks.


Hi . Greetings.

I am currently working on sandbox environment, and my phone number is associated to my account. But when I try to test sms api, it returns an error "Phone number doesn't belong to extension"

{ "to": [{"phoneNumber": "+171xxxxxxxx "}], "from": {"phoneNumber": "+147xxxxxxxx}"}, "text": "Test SMS message from Platform server"}


What's wrong?

Please let me know your thoughts.

Thanks.


Hi . Greetings.

I am currently working on sandbox environment, and my phone number is associated to my account. But when I try to test sms api, it returns an error "Phone number doesn't belong to extension"

{ "to": [{"phoneNumber": "+171xxxxxxxx "}], "from": {"phoneNumber": "+147xxxxxxxx}"}, "text": "Test SMS message from Platform server"}


What's wrong?

Please let me know your thoughts.

Thanks.


Reply