我不熟悉使用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来报告用户名,呼叫计数,呼叫分支的最佳方法是什么? 我曾尝试将此对象转换为数据表,但还没有成功,我想知道是否有更好的方法? 谢谢,
答案 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数据的名称列即可。