使用Twilio拨打电话并播放留言

时间:2017-03-06 03:34:02

标签: twilio

我正在试图弄清楚是否可以使用单个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

1 个答案:

答案 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

让我知道这是否有帮助。