如何通过使用 Twilio-Python 发送数字来修改正在进行的呼叫?

How do I modify a in-progress call by sending a digit with Twilio-Python?

我有一个可以向用户 A 拨出电话的应用程序。

用户 A 回答并说“foo”或“bar”

如果用户 A 说 "foo" -> c.calls(callSid).update(status="complete")

如果用户 A 说 "bar" -> twilio.update('press the number 2')

我该如何实现?

我正在使用 Python 帮助程序库并尝试过这个。

call = c.calls(callSid).update(twiml="<Play digits='2'/>")

但是应用程序出错了。

在您的出站呼叫中,使用 TwiML 要求用户说出“foo”或“bar”,然后提供一个可以调用以处理响应的 webhook,即:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Gather input="speech" timeout="5" action="<your webhook>">
        <Say>Please say foo or bar.</Say>
    </Gather>
</Response>

Twilio 将对 action 中指定的 webhook 执行 POST,用户答案将与 Confidence 中的置信度分数一起存储在 SpeechResult 中。然后您可以按照您概述的方式继续您的业务逻辑。

有关 Gather 的更多信息,请查看 TwiML documentation