呼叫的RingCentral ExtensionCallLogResponse对象

时间:2018-09-04 14:16:20

标签: c# api calllog ringcentral

我不熟悉使用RingCentral和API调用。

我正在使用RingCentral的C#nuget示例来帮助我尝试同时获取传出和传入呼叫记录。

到目前为止,我正在尝试通过使用来接听电话

ExtensionCallLogResponse callLogsInBound = await mainAccount.CallLog().List(new {
  dateFrom = monday.ToString("yyyy-MM-dd"),
  dateTo = monday.AddDays(5),
  view = "Detailed",
  direction = "Inbound"
});

这是一个嵌套的对象,具有导航信息,分页信息和多个记录(调用)。  将这些信息读入gridview来报告用户名,呼叫计数,呼叫分支的最佳方法是什么? 我曾尝试将此对象转换为数据表,但还没有成功,我想知道是否有更好的方法? 谢谢,

1 个答案:

答案 0 :(得分:1)

有几种方法可以避免读取大块或整个呼叫日志,这会迫使您使用导航数据在页面之间导航。

一种方法是在短时间内(fromDate和toDate)读取每个分机的呼叫日志,并将perPage参数设置为最多1000个项目。 (使用用户呼叫日志端点)

如果要使用“公司呼叫日志”端点读取整个公司呼叫日志,请指定更短的时间以确保每页容纳1000个项目。

要将数据添加到数据库中,我不确定您要考虑的是哪种类型的数据库,但是您可以将其设置为.csv格式,然后解析响应以提取您要保留的数据。请参阅API参考以获取响应信息。

// e.g.
var callLogs = await rc.Restapi().Account().Extension(1234567890).CallLog().List(parameters);
var csv = "id,uri,result";
foreach(var record in callLogs.records)
{
  csv += "\r\n" + record.id + "," + record.uri + "," + record.result;
}
System.Console.WriteLine(csv);

您提到的用户名是该帐户下每个扩展名/用户的名称吗?如果是这样,我认为您可以呼叫分机列表以读取该帐户下所有分机的信息,使用分机ID读取该分机的呼叫日志,如上所示。然后,当您解析呼叫日志响应时,只需将该扩展名添加到csv数据的名称列即可。