2013-07-13 101 views
2

撥打電話時如何將動態TwiML傳遞給Twilio API?撥打電話時通過動態TwiML

$client = new Services_Twilio($sid, $token); 

因此,而不是通過一個URL來獲取TwiML的:

$call = $client->account->calls->create("+14158675309", "+14155551212", "http://demo.twilio.com/docs/voice.xml", array()); 

我能動態生成TwiML並把它傳遞給API?

$twiml = new Services_Twilio_Twiml(); 
$twiml->say('Hello Mark'); 
$call = $client->account->calls->create("+14158675309", "+14155551212", $twiml); 

回答

2

Twilio evangelist here。

而不是在create函數中指定一個靜態的XML文件,您可以將其作爲一個PHP文件並動態生成響應。

您仍然使用create()來告訴Twilio啓動電話。當電話被接聽時,Twilio會要求您指定的URL來獲取TwiML,告訴它如何繼續通話。因此,例如你改變:

http://demo.twilio.com/docs/voice.xml

http://demo.twilio.com/docs/voice.php

而且有PHP生成TwiML輸出:

$twiml = new Services_Twilio_Twiml(); 
$twiml->say('Hello Mark'); 

下面是使用產生TwiML文檔PHP helper library

https://github.com/twilio/twilio-php#generating-twiml

希望有幫助。

1

我可以動態生成TwiML並將它傳遞給API嗎?

答案是否定的,不是沒有URL。我意識到這是一個延遲的反應,但我最近一直在尋找解決方法。我發現爲沒有Web服務器的傳出呼叫生成動態文本的最佳方法是here - 從twimlets網址反彈。