我正在寻找有关如何构建一个twilio Webhook的指南/指针,该Webhook将拦截对我的twilio#的呼叫,询问呼叫者姓名,然后给我打电话以检查是否要连接(宣布呼叫者姓名)。如果我回答是,则呼叫已接通,否则可以转到我的语音信箱。 我看到了各种功能,例如队列,会议,条件转发等,但是我不确定哪一个可以解决我的需求。这里有指针吗?
答案 0 :(得分:1)
这里是Twilio开发人员的传播者。
好的,要执行此操作,您需要执行几个步骤。
来电时,您需要询问来电者姓名。为此,我将使用<Gather>
with input="speech"
捕获其名称,并使用嵌套的<Say>
来提问。
使用<Gather>
,您需要提供一个action
attribute,这是一个URL,当用户回答问题时将被调用。调用该URL时,您可以在请求正文中的SpeechResult
参数中获得语音结果。
现在,您已经有了想要将其连接到某人进行回答的名称。您可以为此使用<Enqueue>
,但我们的工作可以更简单一些。在对您的action
URL的请求的响应中,您可以返回<Dial>
。
要将消息转发给接听的人,我们还需要在<Dial>
中使用<Number>
。 <Number>
can use a url
attribute,当该人接听电话时会被请求。您可以向该请求返回更多TwiML,并且在连接呼叫之前将播放TwiML。这称为whisper。
在此TwiML中,您可以返回另一个带有嵌套<Gather>
的{{1}},该查询使用收集的名称询问您是否要接听电话。最后,结果是您可以接受呼叫(通过结束TwiML的这一行)或<Hangup>
。
如果您<Say>
,您将要开始使用语音信箱。您需要返回到其中已经包含<Hangup>
的TwiML,并在<Dial>
之后添加更多TwiML。现在,您可以使用<Dial>
,然后使用<Record>
接收语音邮件。
我希望您能深入了解要研究的功能,以及如何将它们组合在一起的地图。