我正在使用twiml进行语音响应。我有一种情况,用户可能会要求花费更长的时间并要求用户等待/等待一秒钟,完成数据库调用并发送另一个语音,例如
1)[用户]:明天给我预约。
2)[Webhook]:
a)让我检查一下时间表。 (将此twiml发送到正在进行的通话中)
b)(继续从数据库收集数据)
c)我已经预订了您的约会。 (现在,发送此twiml)
我研究了Twilio的API EXPLORER,但没有找到任何API将twiml发送到正在进行的调用。 我研究过twiml动词,但似乎无法弄清楚。
答案 0 :(得分:1)
当您发起去电时,Twilio返回一个呼叫SID。使用呼叫SID,您可以通过更新来修改呼叫,并在其中传递要执行新TwiML的URL。
您没有提到您的语言,但是这里是如何使用Node.js和Twilio的库来实现的。
const accountSid = 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
const authToken = 'your_auth_token';
const client = require('twilio')(accountSid, authToken);
client.calls('CAe1644a7eed5088b159577c5802d8be38')
.update({method: 'POST', url: 'http://demo.twilio.com/docs/voice.xml'})
.then(call => console.log(call.to));
您可以看到
CAe1644a7eed5088b159577c5802d8be38
是用于标识呼叫的呼叫SID http://demo.twilio.com/docs/voice.xml
是Twilio将在其中找到新TwiML的URL 有关更多信息,请查看以下文档:
(https://www.twilio.com/docs/voice/tutorials/how-to-modify-calls-in-progress)