C# 传递数据以在TwiML中用于出站呼叫
我在Azure中创建了一个WCF服务。此服务用于从SalesForce工作流中导入数据。然后,服务将调用一个特定的文件(建议使用cshtml),这取决于哪个团队需要通过Twilio的出站调用得到通知。我需要将数据从webservice传递到创建/返回TwiML的文件。我想不出一个方法来做到这一点,猜测cshtml不是一个好方法?我目前正在使用Twilio NuGet软件包进行出站呼叫。我正在使用演示URL进行测试()。这很好用。刚才需要传递SalesForce数据,以便在创建TwiML时使用。将会有很多字段需要传递,所以如果可能的话,我希望不要将它们附加到我的URL。到目前为止,我的代码如下。如有任何帮助/建议,将不胜感激。谢谢C# 传递数据以在TwiML中用于出站呼叫,c#,.net,twilio,C#,.net,Twilio,我在Azure中创建了一个WCF服务。此服务用于从SalesForce工作流中导入数据。然后,服务将调用一个特定的文件(建议使用cshtml),这取决于哪个团队需要通过Twilio的出站调用得到通知。我需要将数据从webservice传递到创建/返回TwiML的文件。我想不出一个方法来做到这一点,猜测cshtml不是一个好方法?我目前正在使用Twilio NuGet软件包进行出站呼叫。我正在使用演示URL进行测试()。这很好用。刚才需要传递SalesForce数据,以便在创建TwiML时使用。将
var client = new TwilioRestClient(accountSid, authToken);
client.SendSmsMessage("", "", "Test Twilio SMS from Windows Azure Webservice", r =>
{
if (r.RestException != null)
{
//an exception occurred making the REST call
string message = r.RestException.Message;
}
});
CallOptions options = new CallOptions();
options.To = "";
options.From = "";
options.Url = "http://demo.twilio.com/docs/voice.xml";
options.Timeout = 5;
options.IfMachine = "Hangup";
client.InitiateOutboundCall(options);
Twilio Evangelist在这里,如果您想避免将所有数据放在URL中,那么您可能只需要添加一个ID作为一段状态数据,它允许您查找原始SalesForce数据。因此,基本上,您需要沿着以下其中一条线的ID:
https://example.com/calls/1234567890
https://example.com/calls?some_id=1234567890
然后,当您的应用程序接收到这个请求时,它可以使用这个ID来查找允许它生成TwiML的数据
现在你可以做很多不同的事情:
- 使用与Sales Force关联的ID
- 创建一个键值对,将您的销售人员数据存储在内存(缓存)中,但记住要处理多个服务器或大量请求
- 将数据存储在数据库中,并使用记录的ID
- 或者根据销售人员数据预计算TwiML,拨打电话,并根据上述选项之一存储TwiML
希望这有帮助 太好了,谢谢!我喜欢ID方法,我想我会尝试一下。你知道一个好的例子,我可以参考的机会?在我的Web服务中,C#代码几乎已经固定下来了。最好有一个我调用的文件示例,并将生成TwiML的ID参数传递给它。这是我第一次接触Twilio,因此任何可用的片段都会非常有用。再次感谢!您需要将ID添加到CallOptions的Url参数中。我建议您使用特定于您的域的内容,例如“myco_id”。然后,当Twilio联系该URL时,您必须呈现正确的TwiML,使用该ID从SalesForce获取数据。