Twilio Voice api调用url和启用机器检测的statusCallback的顺序

Twilio Voice api调用url和启用机器检测的statusCallback的顺序,twilio,twilio-api,Twilio,Twilio Api,在进行twilio调用时,我们有一个url和一个statusCallback参数,如下所示: client.calls .create({ method: 'GET', statusCallback: 'https://www.myapp.com/events', statusCallbackMethod: 'POST', statusCallbackEvent: ['completed', 'answered'], url: 'http:/

在进行twilio调用时,我们有一个
url
和一个
statusCallback
参数,如下所示:

client.calls
  .create({
     method: 'GET',
     statusCallback: 'https://www.myapp.com/events',
     statusCallbackMethod: 'POST',
     statusCallbackEvent: ['completed', 'answered'],
     url: 'http://demo.twilio.com/docs/voice.xml',
     to: '+14155551212',
     from: '+18668675310'
   })
  .then(call => console.log(call.sid))
  .done();
(来自)

我很难弄清楚是在调用
statusCallback
之前调用
url
,还是反之亦然

我看到当调用中启用
machineDetection
时(如给定),如果
responsed\u by
machine\u start
,则在
url
(提供twiml)之前调用
statusCallback

在一个案例中,我发现如果
machineDetection
被启用并且
应答者是
human
(即,它检测到有人接听电话),我首先看到调用的是
url


那么调用
url
statusCallback
的预期顺序是什么呢?(假设我已经设置了
statusCallback
以调用进行中的调用)

Twilio开发者福音传道者

下面是关于
状态回调的一些其他详细信息:

Twilio将在StatusCallbackEvent参数中指定的每个调用事件上向其发送异步webhook请求的URL。如果未指定事件,Twilio将默认发送已完成

StatusCallbackEvent
参数可以设置为启动、振铃、应答和完成中的任意或多个

由于没有事件设置,因此使用默认的
completed
事件。呼叫结束后应触发此事件。如果您看到它在调用URL之前启动,您是否正在使用其他事件

另一件事是,这些事件与调用异步触发。即使触发了
ringing
事件,当您的web服务器响应该事件时,呼叫可能已经结束。所以我会为通话状态进行防御性编程,而不是假设通话肯定正在进行中


更清楚地说:事件是异步触发的,因此您不能保证
已应答的
回调将在获取
url
参数之前或之后触发。

感谢您的回答,但我已经完成了
已应答的
事件的设置。刚刚更新了我的答案。我的问题是关于获取twiml的
url
参数的更多信息。什么时候应该开火?(在statusCallback url之前或之后?)事件是异步触发的,因此您无法保证
应答的
回调将在获取
url
参数之前或之后触发。好的,谢谢!这真的帮了大忙!!我认为在你的回答中加入这一评论是值得的