News & Announcements User Community Developer Community

Welcome to the RingCentral Community

Please note the community is currently under maintenance and is read-only.

Search
Make sure to review our Terms of Use and Community Guidelines.
  Please note the community is currently under maintenance and is read-only.
Home » Developers
How to update Caller-Id (Using API & Nuget pkg)
Tags: caller id, rest api
Apr 27, 2018 at 9:42am   •   7 replies  •  0 likes
corey-tenney

I am currently writing a utility to get the current caller-id settings for all of our extensions (1900+) and then someone will be doing some magic work in excel, and then reuploading the changes to a certain number of rows. Anyway I am just trying to update a single record at this point and here is what I have:

    CallerIdMainClass cidMC = new CallerIdMainClass();
 
    List<ByFeature> byf = new List<ByFeature>();      cidMC.byFeature = new List<ByFeature>();         if (ext.alternate != "")      {      ByFeature feat = new ByFeature();      feat.feature = "Alternate";         CallerId cid = new CallerId();      cid.type = "PhoneNumber";         PhoneInfo pi = new PhoneInfo();      pi.id = ext.alternateId;      pi.phoneNumber = ext.alternate;      pi.uri = ext.alternateUri;         cid.phoneInfo = pi;      feat.callerId = cid;         cidMC.byFeature.Add(feat);      }      cidMC.uri = "https://platform.devtest.ringcentral.com/restapi/v1.0/account/237848004/extension/237848004/caller-id";      var request = JsonConvert.SerializeObject(cidMC, Formatting.Indented);      var response = await rcClient.Extension(dr["extensionId"].ToString()).CallerId().Put(request);


request becomes this:


{ "uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/account/237848004/extension/237848004/caller-i...;,

"byFeature": [

{


"feature": "Alternate",

"callerId": {


"type": "PhoneNumber",

"phoneInfo": {


"id": "322761004",

"uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/account/237848004/phone-number/322761004";,

"phoneNumber": "+13128589611"

}

}

}

]

}



However I am getting a 400 Bad Request back. What am I doing wrong?

7 Answers
answered on May 3, 2018 at 12:29pm  
That didnt work either.  I put in a support email.

 0
answered on May 2, 2018 at 6:00pm  

Frankly speaking, I don't know because the error message doesn't tell which parameter is wrong.

I check the API reference page and I found the following snippet:

{        "feature": "Alternate",        "callerId": {          "phoneInfo": { "id": "1155244004" }        } 

},

It's different from yours. Could you please remove "type": "PhoneNumber", and try again?

If it still doesn't work, please submit a help ticket and engineers there will take a look.


 0
answered on May 2, 2018 at 8:07am  
{
  "errorCode" : "InvalidParameter",
  "message" : "Parameter [] value is invalid",
  "errors" : [ {
    "errorCode" : "CMN-101",
    "message" : "Parameter [] value is invalid",
    "parameterName" : ""
  } ],
  "parameterName" : ""
}

So what parameter am I missing?

 0
answered on May 1, 2018 at 8:05pm  
Catch the exception and print the detailed error message: https://github.com/ringcentral/ringcentral-csharp-client#exception-handling

 0
answered on Apr 30, 2018 at 9:00am  
Tyler thanks for your assistance.  I changed all this today and still receive an error.  Here is the json I am sending:

    {
       "byFeature": [
        {
          "feature": "Alternate",
          "callerId": {
            "type": "PhoneNumber",
            "phoneInfo": {
              "id": "322761004"
            }
          }
        }
      ]
    }


 0
answered on Apr 27, 2018 at 10:40pm  
cidMC.uri = "https://platform.devtest.ringcentral.com/restapi/v1.0/account/237848004/extension/237848004/caller-i...;

You don't have to specify the uri in request body. 

I checked the API reference: https://developer.ringcentral.com/api-docs/latest/index.html#!#RefUpdateCallerId it does say uri is a property in the request body. But the sample below doesn't have this property at all. And lots of other API calls also don't have it.

 0
answered on Apr 27, 2018 at 10:27am  
Hi Corey,

Looking at your provided request, I found some mistake in the request itself.

"phoneInfo": {
              "id": "322761004",
              "uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/account/237848004/phone-number/322761004";,
              "phoneNumber": "+13128589611"
            }
Read the API reference at update a caller ID. The phoneInfo in the update (PUT) request is an object which includes only the id parameter. The uri and the phoneNumber is not valid there.

Can you modify and give a try again.

+ Phong

 0



A new Community is coming to RingCentral!

Posts are currently read-only as we transition into our new platform.

We thank you for your patience
during this downtime.

Try Workflow Builder

Did you know you can easily automate tasks like responding to SMS, team messages, and more? Plus it's included with RingCentral Video and RingEX plans!

Try RingCentral Workflow Builder

PRODUCTS
RingEX
Message
Video
Phone
OPEN ECOSYSTEM
Developer Platform
APIs
Integrated Apps
App Gallery
Developer support
Games and rewards

RESOURCES
Resource center
Blog
Product Releases
Accessibility
QUICK LINKS
App Download
RingCentral App login
Admin Portal Login
Contact Sales
© 1999-2024 RingCentral, Inc. All rights reserved. Legal Privacy Notice Site Map Contact Us