2017-08-15 13 views
1

を音声通話にダイナミックテキストを送信する、それはあなたがこのように静的に呼び出す表明するテキストを送信することができます状態:URL参照せずにTwilioのドキュメントで

use Twilio\Rest\Client; 

$AccountSid = ""; 
$AuthToken = ""; 

$client = new Client($AccountSid, $AuthToken); 

try { 
    $call = $client->account->calls->create(
     "+15555551234", 
     "+15555554321", 
     array("url" => '/twilio/twilio.welcome.message.php') 
    ); 
    echo "Started call: " . $call->sid; 
} catch (Exception $e) { 
    echo "Error: " . $e->getMessage(); 
} 

私はそれが動的ための非常に少しであることがわかりました作成されたメッセージこれは静的なメッセージでは問題ありません。これは、ドキュメントでこれを行うことができることを示唆し、私はどこでもそれを見つけることができません

use Twilio\Twiml; 

$response = new Twiml(); 
$response->say('Chapeau!', ['voice' => 'woman', 'language' => 'fr']); 

$AccountSid = ""; 
$AuthToken = ""; 

$client = new Client($AccountSid, $AuthToken); 

try { 

    $call = $client->account->calls->create(
     "+phoneNumber", 
     "+phoneNumber", 
     array("response" => $response) 
    ); 
    echo "Started call: " . $call->sid; 
} catch (Exception $e) { 
    echo "Error: " . $e->getMessage(); 
} 

:私は何をしたい、このようなものです。 PHPスクリプトの作成、呼び出し、削除を行うより簡単な実装がないと、本当にショックを受けます。しかし、私は人生でもっと悪いことを見てきました。

+0

をそれはなど

参照をループし、動的変数をサポートしていますあなたが抱えている問題を私には分かりません。一度に複数のメッセージを異なる番号に送信しようとしていますか? – Andy

+0

はい、アンディ、それは私がやろうとしていることです。私は彼らが明確に提供する方法でそれを行うことができました。私は、なぜ私がする必要がないときにこれのために余分なファイルを作る必要があるのか​​わかりません。 –

+0

文書で 'response'パラメータが見つかりましたか? – philnash

答えて

1

ここではTwilioの開発者のエバンジェリストです。

TwilioにTwilioを送信して、電話に応答したときに実行する方法はありません。通話が接続されると、respond with TwiMLというURLを送信する必要があります。

ただし、そのURLを動的に反応させることができます。読み上げるメッセージを送信するだけの場合は、URLのクエリパラメータとしてメッセージを送信し、Webhookが呼び出されたときにそのメッセージを使用できます。たとえば:

$message = "Hello! This is a message!"; 
$call = $client->account->calls->create(
    "+15555551234", 
    "+15555554321", 
    array("url" => '/twilio/twilio.welcome.message.php?message='.urlencode($message)) 
); 

次に、あなたのウェブフックに:

<?php 
    $message = $_REQUEST['message']; 
    header("Content-type: text/xml"); 
    echo "<?xml version='1.0' encoding='UTF-8'?>\n"; 
?> 
<Response> 
    <Say><?php echo $message ?></Say> 
</Response> 

この方法で、あなたは動的にメッセージを作成するが、唯一のウェブフックエンドポイントをホストすることができます。

それがまったく役に立ったら教えてください。

+0

ええ、それは助けて、私はすでにそれを考えました。しかし、ファイルを作成してパラメータとしてメッセージを受け入れるだけで、TwiMLを受け入れることができれば、なぜそれを行うファイルを作るのですか?余分なファイル全体を作成する代わりに。これは一般的で典型的な使用例でなければならず、なぜ私は会社が対処していないのか不思議です。 –

+0

私にとって、これは私の意見であり、私はAPI自身では動作しません。これは非常に簡単な例の場合にのみ動作します。このようにアプリケーションを構築してから、やや複雑なことをやりたければ、Webフックを受け取れるエンドポイントを持つようにアプリケーションを再構築する必要があります。ここでは、Twilioとやり取りする方法をこの1つの方法に単純化しようとしています。 – philnash

0

Twimlビンの使用はどうですか?この方法ではなく、あなたのサーバーを指し示す代わりにtwilioがあなたのtwimlを生成するURLをホストします。 https://support.twilio.com/hc/en-us/articles/230878368

そして、このようなダイナミックな変数を使用します:あなたはので、達成するために欠けているかについてもう少し説明することができるだろう

<Say>Hello {{CustomerName}}</Say> 
関連する問題