2015-10-15 123 views
0

有没有指定“url”字段时给别人打电话时添加自定义文本的方法?Twilio欢迎致欢迎辞

​​

在上面的代码片段中,我将“Url”设置为一个调用参数。如果有人接听电话,Twilio将调用“Url”端点来阅读消息或其他内容。

假设这条消息很简单。我可以将消息设置为呼叫请求本身的一部分,以避免Twilio向我的服务器端发出的呼叫以获取消息吗?使用

callParams.put("Message", "Hello, Foo."); 

当有人应答呼叫,我想消息:

喜欢的东西。

回答

1

Twilio开发人员传道这里。 (嗨梅根!)

恐怕没有简单的方法来播放你所要求的信息。所有Twilio调用的处理都是相同的,通过回调您提供的URL来找出下一步该做什么。

但是,您不需要提供任何复杂的URL。它可以是一个简单的静态XML文件,其中<Say>元素作为某个静态文件托管。

您还可以使用我们的实验室功能Twimlets,它允许您设置简单的呼叫流程,包括message using <Say>

它不像在最初的API调用中传递消息一样简单,但它允许您轻松地将呼叫扩展到更复杂的事情,而无需更改初始代码。我认为,从长远来看,这种折衷是值得的。

+0

我看到Twilio会调用“Url”端点来获取语音消息或其他东西。有没有一种方法可以设置自定义参数(除Url字段本身之外)哪些Twilio将POST作为后端调用服务的一部分? – serverfaces

+0

示例:我设置了一些自定义参数,如:callParams.put(“myCustomField”,“myCustomValue”);我希望在Twilio调用Url端点时在POST消息中设置此值。简而言之,我不想构建一个非常长的Url字段,以便使用Url查询字符串中的某个参数来标识服务器资源。就像http://foo.bar.com?myId=1282828828,这样我就可以获得为myId标识符构造的消息。我希望myId作为POST本身的一部分到我的服务器... – serverfaces

1

我在Twilio的开发人员社区工作。为了做你想做的事情,你必须返回有效的Twiml。所以它可能看起来像这样:

// Create a TwiML response and add our friendly message. 
    TwiMLResponse twiml = new TwiMLResponse(); 
    Say say = new Say("Hello Monkey"); 
    try { 
     twiml.append(say); 
    } catch (TwiMLException e) { 
     e.printStackTrace(); 
    } 

    response.setContentType("application/xml"); 
    response.getWriter().print(twiml.toXML()); 
}