在我的网络应用程序中,我使用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并再次听到如何阻止他按下另一个数字
答案 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
希望有所帮助。