RingCentral ExtensionCallLogResponse Объект для вызовов - PullRequest
0 голосов
/ 04 сентября 2018

Я новичок в использовании RingCentral и в использовании вызовов API.

Я использую пример C # Nuget в RingCentral, чтобы помочь мне вместе с попыткой получить журналы как исходящих, так и входящих вызовов своими ногами.

Пока я пытаюсь получить входящие звонки, используя

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

Это вложенный объект с навигационной информацией, информацией о пейджинге и несколькими записями (вызовы). Каков наилучший способ для чтения этой информации в виде таблицы для отчетности по именам пользователей, счетчикам вызовов, этапам вызовов? Я пытался преобразовать этот объект в таблицу данных, но пока не добился успеха, и мне интересно, есть ли лучший способ? Спасибо, K.

1 Ответ

0 голосов
/ 05 сентября 2018

Есть несколько способов избежать чтения большого чанка или всего журнала вызовов, которые заставили бы вас использовать навигационные данные для навигации между страницами.

Одним из способов является чтение журнала вызовов каждого добавочного номера в течение короткого периода времени (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);

Является ли имя пользователя, которое вы указали, именем каждого добавочного номера / пользователя в учетной записи? Если это так, я думаю, что вы можете вызвать Список расширений, чтобы прочитать информацию обо всех добавочных номерах под учетной записью, используйте идентификатор добавочного номера, чтобы прочитать журнал вызовов этого добавочного номера, как показано выше. Затем, когда вы анализируете ответ журнала вызовов, просто добавьте имя этого расширения в столбец имени данных CSV.

...