我正在试图弄清楚是否可以使用单个REST请求让Twilio呼叫电话号码,并播放语音消息。每次语音消息的内容都不同,因此需要将消息作为参数传递。
在查看Twilio API“制作调用”文档时,我看到了这个卷曲样本:
$ curl -XPOST https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Calls.json \
--data-urlencode "Url=http://demo.twilio.com/docs/voice.xml" \
--data-urlencode "To=+14155551212" \
--data-urlencode "From=+14158675309" \
-u 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token'
这指定了XML配置的URL。对于动态文本,是否应该在进行REST调用之前将xml文件发布到URL,然后在调用中提供该URL?有没有办法将XML作为POST数据提供给端点,而不是使用URL?
提前致谢。
GMC
答案 0 :(得分:1)
Twilio开发者传道者在这里。
我不敢将XML包含为POST数据。但是,我们提供TwiML Bins,您可以使用它来托管XML而无需获得自己的服务器。最近我们添加了对templating in TwiML Bins的支持。这意味着您可以将URL参数传递给TwiML Bin URL并在响应中使用这些参数。
因此,如果您打算使用语音文本来阅读带有<Say>
的消息,那么您可以将以下TwiML编写为TwiML Bin:
var map = new Microsoft.Maps.Map($map[0], {
// credentials: apikey,
enableClickableLogo: false,
bounds: getBounds()
});
您将获得一个类似于:<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say>{{ Message }}</Say>
</Response>
然后,您可以在通话时使用该网址,并使用网址参数https://handler.twilio.com/twiml/EHsomerandomcharacters
来每次都阅读不同的消息。
Message
让我知道这是否有帮助。