我创建了一个托管在Azure中的WCF服务。此服务用于SalesForce工作流中的in-jest数据。然后,该服务将调用特定文件(建议使用cshtml),具体取决于需要通过Twilio的出站呼叫通知哪个团队。我需要将数据从webservice传递到创建/返回TwiML的文件。我想不出办法做到这一点,猜测cshtml不是要走的路?我目前正在使用Twilio NuGet包来拨打外拨电话。我正在使用演示网址进行测试(http://demo.twilio.com/docs/voice.xml)。这工作正常。刚才需要传递SalesForce数据以在创建TwiML时使用。将会有很多字段需要传递,所以如果可能的话,我们不想将它们附加到我的URL。我到目前为止的代码如下。任何帮助/建议将不胜感激。谢谢!
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);
答案 0 :(得分:2)
Twilio Evangelist在这里,如果你想避免将所有数据都放在URL中,那么你可以只添加一个ID作为一个状态数据,允许你找到原始的SalesForce数据。所以基本上,你需要沿着这些行中的一个ID:
https://example.com/calls/1234567890
https://example.com/calls?some_id=1234567890
然后当您的应用程序收到此请求时,它可以使用此ID来查找允许它生成TwiML的数据。
现在你可以做很多不同的事情:
第二种选择是反过来。使用API创建Twilio呼叫时,您将获得呼叫的标识符(呼叫SID)。当Twilio发出获取TwiML的请求时,它将提供此SID,因此您可以使用TwiML请求轻松加入API请求。您只需要以允许您查找原始数据的方式存储该SID,或者再次存储一些预先生成的TwiML。
希望这有帮助!