调用获取电话号码的URL以使用TwiML转发Twilio呼叫



我正在尝试使用Twilio实现呼叫转移的自动化。当用户呼叫Twilio号码时,它会播放一些欢迎消息,然后它应该呼叫外部API,API会返回Twilio应该呼叫的电话号码。我正在尝试使用这个TwiML。这是我的TwiML bin文档

<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Pause length="1"/>
<Say voice="Polly.Joanna"> Welcome
</Say>
<Dial> HERE THE NUMBER SHOULD COME THAT API WILL RETURN
</Dial>
</Response>

例如CCD_ 1是将返回数字的URL。如何使用TwiML实现这一点?有可能在TwiML中定义一个变量吗?因为如果我可以使用<Redirect>标签将数字保存到该变量中,我就可以很容易地实现这一点。有可能吗?

只有TwiML Bin很难做到这一点,但您可以尝试以下方法:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Pause length="1"/>
<Say voice="Polly.Joanna">Welcome</Say>
<Dial>{{Number}}</Dial>
</Response>

然后通过:https://<your TwiML Bin URL>/...?Number=+123456789调用

这会将自定义值传递到TwiML Bin中,此处为Number

如果你真的需要调用API来获得要拨打的号码,你需要某种端点来形成TwiML,例如Twilio函数或任何其他端点。

Python中的一个版本可能是这样的:

from twilio.twiml.voice_response import VoiceResponse
response = VoiceResponse()
response.pause(length=1)
response.say('Welcome')
number = '+123456789' # Here you would do an API call
response.dial(number)
print(response)

上面基本上创建了TwiML Bin中的TwiML,但使用了Python。您需要将其封装在一个端点中,以便能够被调用和返回。当然,您需要添加逻辑来通过API检索数字。

最新更新