Twilio TwiML如何将URL参数传递给TwiML脚本?

时间:2019-03-08 18:10:34

标签: twilio twiml

我想通过URL传递参数,以便TwiML在电话另一端寻址该人时从中读取。我似乎无法正常工作。我已经尝试过各种方法。

这是我的ASP.NET VB代码...

Dim XClient As New TwilioRestClient(accountSid:=accountSID, authToken:=authToken)
XClient.InitiateOutboundCall(from:=From, [to]:=SendTo, url:="http://mywebsite.com/TestURI.xml?test=Todd")

这是我的XML ...

    <?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Say voice="alice">$test</Say>
    <Pause length="1"/>
    <Say voice="alice">Do you enjoy hotdogs? I do.</Say>
    <Pause length="1"/>
    <Say voice="alice">Please work so that I can enjoy my lunch in peace!</Say>
</Response>

如何获取该TwiML脚本以从URL报告“ Todd”?任何帮助深表感谢。谢谢!

2 个答案:

答案 0 :(得分:0)

您需要做的是生成一个动态XML(TwiML)响应,该响应可以将任何查询参数合并到XML响应中。我不太了解ASP.NET或Visual Basic,但是大多数Web编程语言都有一种方法来生成动态响应以响应HTTP请求。

这是Twilio文档中的一个示例,该示例说明如何从ASP.NET MVC应用程序生成TwiML响应-它可能与您所使用的技术不完全相同,但可以帮助您指出正确的方向:

https://www.twilio.com/docs/voice/quickstart/csharp?code-sample=code-make-an-outgoing-call-using-twilio-and-c&code-language=C%23&code-sdk-version=5.x

答案 1 :(得分:0)

TwimL Bins具有模板的概念,您可以利用它们(也不必在自己的服务器上托管TwiML)。

如何在TwiML Bins中使用模板

https://support.twilio.com/hc/en-us/articles/230878368-How-to-use-templates-with-TwiML-Bins

传入URL参数,然后在TwiMLBin中将其作为模板引用。

   <Say>{{Test}}</Say>

您还可以将Twilio函数(节点)https://www.twilio.com/console/runtime/functions/manage与JavaScript ES6模板文字一起使用来进行类似的操作:

exports.handler = function(context, event, callback) {
    let twiml = new Twilio.twiml.VoiceResponse();
    let testParam = event.test;
    twiml.say(`Hello ${testParam}`);
    callback(null, twiml);
};