我正在开发一个使用 Twilio API 的小型实用程序,它打算在通话结束后立即下载通话录音(可以使用 webhook 完成吗?)。我不确定 twilio 是否支持这种 webhook。
我想到的第二种方法是创建夜间作业,可以获取当天的所有通话详细信息并下载录音。
谁能建议我最好的方法。我检查了 webhooks但我不确定他们是否提供通话结束事件。
如果有人能向我提供有关如何获取特定日期的录音并使用 C# 从 twilio 下载它们的代码示例,我将不胜感激。
最佳答案
此处为 Twilio 开发人员布道师。
您可以获得录音 webhook,但如何录音取决于您如何录音通话。
使用<Record>
为 recordingStatusCallback
attribute on <Record>
设置一个 URL录音准备就绪后,您将收到一个带有链接的网络钩子(Hook)。
使用<Dial>
如果您录制来自 <Dial>
verb using the record
attribute 的电话设置为 record-from-answer
中的任何一个, record-from-ringing
, record-from-answer-dual
, record-from-ringing-dual
那么你也可以设置一个 recordingStatusCallback
.
使用<Conference>
如果你record a conference那么你也可以设置一个 recordingStatusCallback
.
录音外拨
如果您通过设置 Record=true
来记录通话在 outbound call made with the REST API 上那么您还可以通过设置 RecordingStatusCallback
parameter in the request 来设置 Webhook URL .
从 REST API 检索记录
您还可以使用第二个选项并调用 REST API 来检索录音。为此,您将使用 Recordings List resource .您可以使用 list filters 将此限制为日期之前或之后的录音。 .
这是一个简单的例子,说明如何使用 Twilio C# library获取最近的录音:
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
}
}
}
如果这有帮助,请告诉我。
关于c# - 使用 C# 下载 Twilio 录音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42152934/