我正在使用Twilio API开发一个小实用程序,它打算在调用结束后立即下载调用记录(可以使用webhooks完成?)。我不确定twilio是否支持这种webhook。
我想到的第二种方法是创建夜间工作,可以获取当天的所有通话详细信息并下载录音。
任何人都可以建议我哪种方法最好。我检查了webhooks,但我不确定他们是否提供了呼叫结束事件。
如果有人能提供有关如何获取特定日期录音的代码示例并使用来自twilio的C#下载它们,我将不胜感激。
答案 0 :(得分:3)
Twilio开发者传道者在这里。
您可以录制网络挂钩,但这样做取决于您录制通话的方式。
<Record>
设置recordingStatusCallback
attribute on <Record>
的网址,当录制完成后,您将收到一个带链接的网络链接。
<Dial>
如果您将<Dial>
verb using the record
attribute设置的来电录制到record-from-answer
,record-from-ringing
,record-from-answer-dual
,record-from-ringing-dual
中的任意一个,那么您还可以设置{{ 3}}
<Conference>
如果您recordingStatusCallback
,那么您还可以设置record a conference。
如果您通过在recordingStatusCallback
上设置Record=true
来录制通话,那么您还可以通过设置outbound call made with the REST API来设置网络链接网址。
您还可以使用第二个选项并调用REST API来检索录制内容。为此,您将使用RecordingStatusCallback
parameter in the request。您可以使用Recordings List resource将日期限制在日期之前或之后。
以下是如何使用list filters获取最近录音的快速示例:
using System;
using Twilio;
class Example
{
static void Main(string[] args)
{
// Find your Account Sid and Auth Token at twilio.com/user/account
string AccountSid = "AC81ebfe1c0b5c6769aa5d746121284056";
string AuthToken = "your_auth_token";
var twilio = new TwilioRestClient(AccountSid, AuthToken);
var recordings = twilio.ListRecordings(null, null, null, null);
foreach (var recording in recordings.Recordings)
{
Console.WriteLine(recording.Duration);
// Download recording.Uri here
}
}
}
让我知道这是否有帮助。