【问题标题】:Use Twilio to make a call and play a message使用 Twilio 拨打电话和播放消息
【发布时间】:2017-03-07 19:24:36
【问题描述】:

我试图弄清楚是否可以使用单个 REST 请求让 Twilio 呼叫电话号码并播放语音消息。语音消息的内容每次都会不同,因此需要将消息作为参数传递。

在查看 Twilio API“Making Calls”文档时,我看到了这个 curl 示例:

$ 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

【问题讨论】:

  • 当您使用其他 API 拨打电话时。您传递一个 url,当接收者接听电话时就会触发。您可以在 url 中传递该消息,您可以在该 url 上设置 twiml 来说出该消息。

标签: twilio


【解决方案1】:

这里是 Twilio 开发者宣传员。

恐怕您不能将 XML 作为 POST 数据包含在内。但是,我们确实提供了TwiML Bins,您可以使用它来托管您的 XML,而无需拥有自己的服务器。最近我们增加了对templating in TwiML Bins 的支持。这意味着您可以将 URL 参数传递给 TwiML Bin URL 并在响应中使用这些参数。

因此,如果您打算使用语音转文本来读出带有 <Say> 的消息,那么您可以将以下 TwiML 编写为 TwiML Bin:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Say>{{ Message }}</Say>
</Response>

您将获得如下所示的 URL:https://handler.twilio.com/twiml/EHsomerandomcharacters

然后,您可以在创建呼叫时使用该 URL,并使用 URL 参数 Message 每次读取不同的消息。

$ curl -XPOST https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Calls.json \
--data-urlencode "Url=https://handler.twilio.com/twiml/EHsomerandomcharacters?Message=Hello+from+your+TwiML+Bin!" \
--data-urlencode "To=+14155551212" \
--data-urlencode "From=+14158675309" \
-u 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token'

让我知道这是否有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-07
    相关资源
    最近更新 更多