2017-08-24 116 views
1

我使用Twilio REST API創建了一個調用,並且我有一個Twilio JS客戶端,它接收其他方創建的其他調用之間的此調用。 我需要一種方法來區分我在Twilio JS客戶端的其他調用中的呼叫。如何將附加信息添加到Twilio連接對象

當連接了由Twilio REST API創建的調用時,Twilio向我的應用程序發出請求,並向Twilio提供TwiML指令以將調用路由到Twilio JS客戶端。

我需要在連接中添加自定義信息才能在Twilio JS客戶端中檢測該調用是否由Twilio REST API創建。我看到兩點,我應該能夠自定義信息添加到呼叫:

  1. 當我創建Twilio的REST API
  2. 打電話時,我提供Twilio進一步TwiML說明

這適用於JS SDK。

params = { 
     "MyCustomField": "my data", 
     ... 
    }; 
Twilio.Device.connect(params); 

有處於 「連接」 對象(Twilio JS SDK)一個 「消息」 對象:

{ 
"_maxListeners": 0, 
"_events": {...}, 
"device": {...}, 
"message": { 
    MyCustomField: "my data", 
     ... 
}, 
"options": {...}, 
"parameters": { 
    "ApiVersion": "2010-04-01", 
    "CallSid": "...", 
    "From": "...", 
    "To": "client:client59", 
    "AccountSid": "..." 
}, 
"_status": "closed", 
"_direction": "INCOMING", 
"sendHangup": false, 
"_publisher": {...}, 
"_monitor": {...}, 
"mediaStream": {...}, 
"outboundConnectionId": "...", 
"pstream": {...} 
} 

的問題是如何通過Twilio REST API或TwiML數據添加到該對象?

回答

1

Twilio開發人員在這裏傳播。

messagemessage屬性是一個無證的屬性,所以我不一定會依賴它。在這種情況下,它用於通過webhook將這些參數傳遞給TwiML應用程序。

無法通過API請求或TwiML將數據傳遞到此類客戶端實例。您可能可以使用statusCallback events來實現某些功能,但我不完全確定您的總體目標是什麼。

+0

謝謝你的回答。總體目標是將生成的調用與客戶端上的有機調用區分開來,而無需向服務器發送額外的Ajax請求。由我的應用程序創建的應該立即連接到JS客戶端,而所有其他有機呼叫不應該立即連接(用戶應該有機會作出決定,無論他/她想要回答還是忽略呼叫)。你能否提出一個解決方案? – Elvira

+0

我可以設置我的Twilio.Device使用多個客戶名稱嗎?我的意思是說一個Twilio.Device將連接到路由到「client:firstclient」或「client:secondclient」的呼叫?我不能在同一頁面上有多個Twilio.Device實例,我可以嗎? – Elvira

+0

如果應用程序創建的應該立即連接,爲什麼不從Twilio客戶端本身進行這些調用?然後所有來電都將是有機呼叫。 – philnash

相關問題