Skip to main content
Question

CallRecordingExtensionResource Issue

  • October 21, 2021
  • 2 replies
  • 323 views

Forum|alt.badge.img
BulkAccountCallRecordingsResource bulkAccountCallRecordingsResource = new BulkAccountCallRecordingsResource
{
    addedExtensions = new CallRecordingExtensionResource
    {
        id = "123456789",
        callDirection = 'Inbound'
    }
};


Using the above(I've removed my extensionID and made it 123456789), I'm getting an error for the first single quote in "callDirection": CS1012: Too many characters in character literal. When changing them to double quotes I get: Cannot implicitly convert type 'RingCentral.CallRecordingExtensionResource' to 'RingCentral.CallRecordingExtensionResource[]'

1634845245615.png


A while ago I made a Python script that does what I'm attempting to do with my C# program, the issue was pretty similar and had to do with the structure of the param, it needed to have "[ ]" brackets before "id" and after "callDirection".


Is the structure in my code accurate, or do I need to change it?


Here is what I had to do with Python to get it to work a long time ago(notice the "[ ]" brackets), but when trying this fix in C# it tells me it's invalid.

body = {
    'addedExtensions': [
        {
        'id': <ENTER VALUE>,
        'callDirection': 'Outbound'
        }
    ]
}

On the API documentation it states to use this in Python: https://developers.ringcentral.com/api-reference/Call-Recording-Settings/updateCallRecordingExtensionList

body = {
    'addedExtensions': {
        'id': '<ENTER VALUE>',
        'callDirection': 'Outbound'
    }
}


Not having any luck on where Phong pointed me to for the other issue earlier: https://github.com/ringcentral/RingCentral.Net/blob/master/samples.md


Also, when looking at the SDK, it looks like 'Inbound' is correct, that I'm using a string for callDirection under CallRecordingExtensionResource:

namespace RingCentral
{
    public class CallRecordingExtensionResource
    {
        public CallRecordingExtensionResource();

        public string id { get; set; }
        public string uri { get; set; }
        public string extensionNumber { get; set; }
        public string type { get; set; }
        public string callDirection { get; set; }
    }
}


Any help is appreciated!

PhongVu
Community Manager
Forum|alt.badge.img
  • Community Manager
  • October 21, 2021

Can you try thing like this

BulkAccountCallRecordingsResource bcCallRecordingRes = new BulkAccountCallRecordingsResource();
var ext1 = new CallRecordingExtensionResource();
ext1.id = "12343566";
ext1.callDirection = "Inbound";

var ext2 = new CallRecordingExtensionResource();
ext2.id = "343243434";
ext2.callDirection = "Inbound";

bcCallRecordingRes.addedExtensions = new CallRecordingExtensionResource[] { ext1, ext2 };
var res = await rcsdk.Restapi().Account().CallRecording().BulkAssign().Post(bcCallRecordingRes);

Forum|alt.badge.img

You're awesome, thanks for the help Phong.


I do have another issue with getting detailed answering rules, is there another call to make for detailed instead of simple? In Python I would just add '"view" : "Detailed"' in my params and the output would let me parse through all of the detailed output. However, when adding the detailed param in C# the SDK doesn't have the detailed keys so it throws errors when trying to parse through them.


1634909604614.png


This is what I'm using


ListAnsweringRulesParameters listAnsweringRulesParameters = new ListAnsweringRulesParameters
{
    view = "Detailed",
    enabledOnly = true,
};

var handleIDs = await rc.Restapi().Account("~").Extension(ext.id.ToString()).AnsweringRule().List(listAnsweringRulesParameters);

var fwdId = handleIDs.records[0].forwarding.rules[0].forwardingNumbers[0].id;
var fwdType = handleIDs.records[0].forwarding.rules[0].forwardingNumbers[0].type;


The SDK doesn't have a "forwarding" key (in fwdId and fwdType) after "records[0]" so it throws me an error, even though I'm requesting a detailed list

Trying to use the ID/Type to set the users default answering rule, if there's a more simplistic way of doing it please let me know


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings