首页 文章

RingCentral ExtensionCallLogResponse呼叫对象

提问于
浏览
1

我是使用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以报告UserNames,Call Counts,Legs of calls的最佳方法是什么?我已经尝试将此对象转换为数据表,但我还没有取得任何成功,我想知道是否有更好的方法?谢谢,K .

1 回答

  • 1

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

    一种方法是在短时间内(fromDate和toDate)读取每个扩展的呼叫记录,并将perPage参数设置为最多1000个项目 . (使用用户呼叫日志 endpoints )

    如果您想使用公司呼叫日志 endpoints 读取整个公司呼叫日志,则指定更短的时间段以确保它适合每页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数据的name列中 .

相关问题