使用 Twilio 从菜单中获取呼叫响应
本文关键字:获取 呼叫 响应 菜单 Twilio 使用 | 更新日期: 2023-09-27 18:31:33
我正在使用C#发送带有选项(Twimlet)的电话消息,供用户按1进行确认。如何从呼叫中获得响应?
代码在发出调用之前终止,我假设我需要用调用 sid 查询 twilio 服务器?
static void Main(string[] args)
{
var twilio = new TwilioRestClient(AccountSid, AuthToken);
var options = new CallOptions();
options.Url = "http://twimlets.com/menu?Message=Please%20press%201%20to%20confirm%20or%20Press%202%20to%20cancel&Options%5B1%5D=http%3A%2F%2Ftwimlets.com%2Fmessage%3FMessage%255B0%255D%3DYou%2520have%2520confirmed%252C%2520Thank%2520you%2520good%2520bye.%26&Options%5B2%5D=http%3A%2F%2Ftwimlets.com%2Fmessage%3FMessage%255B0%255D%3DYou%2520have%2520selected%2520to%2520cancel.%2520Thank%2520you.%2520Good%2520bye%26&";
options.To = "+13105551212";
options.From = "+13105551213";
var call = twilio.InitiateOutboundCall(options);
Console.WriteLine(call.Sid);
为了响应来自调用的任何输入,您需要使用您控制下的 URL。Twimlet 是预定义的"应用",除了您可以在 URL 参数中指定的内容之外,它不会让您控制呼叫流。
您现在拥有的代码将终止,因为它所做的只是对 Twilio 的服务器进行 HTTP 调用,告诉它开始调用,options.Url
端点负责处理该调用的流。若要编写自定义流,需要创建一个公共 URL,该 URL 返回所需流的 TwiML。
完成此操作后,您将使用 <Gather>
谓词的 url
属性来指示应将按键数据发送到何处。