2010-11-29 10 views
3

にハングアップしたときにPOSTデータを提出します。アイデアは、twilioが答えて、あなたにメニューオプションを与える電話番号を呼ぶということです。数字を押すと、投稿データが送信され、次にハングアップします(その部分はすべて正常に動作します)。私が抱えている問題は、twilioがすぐに電話を切ると投稿データを送信する方法があるかどうかを調べることです答え...彼らのドキュメントで次のコードが見つかりました。あなたは私がTwilioで動作するアプリケーションを持っているTwilio

<?xml version="1.0" encoding="UTF-8"?> 
<!-- page located at http://example.com/gather_hints.xml --> 
<Response> 
<Gather action="/process_gather.php" method="GET"> 
    <Say>Enter something, or not</Say> 
</Gather> 
<Redirect method="GET"> 
    /process_gather.php?Digits=TIMEOUT 
</Redirect> 
</Response> 

この問題は、メッセージが終了するまで待つ必要があることを意味します。ユーザーがハングアップすると、リダイレクトタグに行くようなことをするでしょうか?

ありがとうございます!

編集:だからprocess_gather.phpページに、私は変数として完成状態を保存することができますか?

$Completed = $_POST["completed"]; //which would set $Completed == 'completed' 

ともしあれば、そのページに私は基本的に言うことができる(!空($)が完成した)何か を(私は私のロジックにそれを働かなければならないが、私はちょうど私が得ることを確認したいのです一般的な考え方)

+0

ことではありません重要な完了ステータス。 CallStatusコールバックが発生します。 あなたは '/ process_gather.php'がまだ実行されたかどうかを確認し、新しいの.phpスクリプト、('/call_ended.php'のようなもの)が必要になります。 – TelegramSam

+0

process_gather.phpが実行されたかどうかを確認するにはどうすればよいですか?私は本当にそれを理解していないと思う... – Bill

+0

私はいくつかのコードサンプルを参考に私の答えを更新しました。 – TelegramSam

答えて

9

この問題を解決する最良の方法は、StatusCallback URLを使用することです。このURLは、アカウントの番号設定で、または発信コールのオプションの引数を使用して設定できます。呼び出しが完了すると

、Twilioは、それが通常のリクエストの際に渡すすべてのsame variablesでURLにPOST(またはGET)します。 CallStatus変数はcompletedに設定されます。

あなたは(あなたの `/process_gather.php」スクリプトに)、ユーザからの入力を取得する前に、そのURLが呼び出される場合、それらは、ハングアップ。

注:あなたが送信するすべてのクッキーが含まれています同じコール(とStatusCallback要求)の間にTwilioによって行われたすべての要求:あなたはコール内でセッション状態を管理するためにクッキーを使用することができます。これにより、セッション変数を使用してコールの進行状況を追跡できます。

/proces_gather.phpのためのPHP例:

<?php 
session_start(); 
// adds it to our session 
$_SESSION['gather_result']=$_POST["Digits"]; 
// then do whatever else you want your gather script to do. 
?> 

PHP例Twilioアカウント]画面で電話番号をStatusCallback URLとして設定する必要があります/status_callback.php、のために:

<?php 
session_start(); 
//check for gather_result 
if(isset($_SESSION['gather_result'])){ 
    //user did enter digits 
} else { 
    //do whatever you want to do if the user entered no digits. 
} 
?> 
+3

ここからTwilioのJohn ...これは正解です。サムに感謝! –

+0

助けてくれてありがとう。私はちょうど私が正しいことを確認するために私の投稿を編集しました。私はそうすると思いますが、私はあまりよく分かりません。 – Bill

+0

うーん、それは意味をなさない...私はそれを試してみましょう。 – Bill

関連する問題