按一下时如何再次听到Twilio文本到语音

时间:2014-07-14 10:53:47

标签: php html twilio

在我的网络应用程序中,我使用Twilio应用程序进行自动语音呼叫。在这里,我使用文本来调用Twilio

<?php

header("content-type: text/xml");
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
?>
<Response>
<Say voice='man'>Hello Welcome.</Say>
<Gather numDigits="1" method="POST">
<Say>
Press 1 to call again.
Press any other key to start over.
</Say>
</Gather>
</Response> 

收件人将听到&#34; Hello Welcome&#34;作为声音。我的问题是如果他按1并再次听到如何阻止他按下另一个数字

1 个答案:

答案 0 :(得分:2)

Twilio传道者在这里。

一旦<Gather>完成,在您的情况下,当用户按下键盘上的一个数字时,Twilio会通过向URL发出HTTP请求来通知您。您可以使用action参数明确告诉Twilio要请求的URL。

<Gather 
    action="http://example.com/yourpage.php" 
    method="POST"
    numDigits="1"
    timeout="10"></Gather>

在你的情况下,因为你没有明确指定action参数,所以Twilio只是向同一个返回<Gather>动词的URl发出请求。

当Twilio发出HTTP请求时,它将包含一个名为Digits的参数,您可以检查:

$index = (int) $_REQUEST['Digits'];

现在,您可以在PHP中使用if语句或switch语句来处理根据$ index

的值更改应用的行为

在您的情况下,该逻辑在伪代码中看起来大致如此:

if Digits does not exist OR digits exists and equals 1
    return welcome message TwiML
else
    either do nothing or explicitly return the <Hangup> verb

希望有所帮助。