我正在编写node.js应用程序来拨打电话或向用户发送短信。
然而,在打电话或发送短信后,我想知道它的状态。
client.makeCall({
to:'+358xxxxxxxxx',
from: '+15005550006',
url: "https://demo.twilio.com/welcome/voice/",
}, function(err, responseData) {
}
我知道在responseData上,但它的状态显示'已排队' 我想知道实际通话发生后的真实通话状态。 无论如何都要这样做吗?
答案 0 :(得分:2)
我没有使用过twilio node.js客户端,但这里有一些可能对你有所帮助 -
您没有收到呼叫状态,因为语音呼叫或短信不会在返回API呼叫时立即完成。您需要再次发出后续请求,直到状态完成(轮询)或配置twilio / pass参数,以便twilio在呼叫实际完成时通知您(推送)。
要让twilio将状态推送到您的服务器,请在发出呼叫请求时传递application_sid或status_callback字段,如API文档http://www.twilio.com/docs/api/rest/making-calls中所述。
要手动请求呼叫状态,请在几秒钟之后(或您认为呼叫完成的任何时间)从客户端执行get请求,这可能是使用计时器,直到您获得所需的状态。 http://www.twilio.com/docs/api/rest/call
如下所示:(注意:我没有测试或验证过这个)
client.calls(<sid>).get(function(err, call) {
console.log(call.status);
});