Web API リファレンス|Tropo Web API

{"call":} オブジェクト

   

アウトバウンドコールを開始します。 このチャンネルとネットワークパラメータによって、開始する会話の種類が決まります。

 

音声通話の場合、送信先はURL形式を使用して指定します。 対応している形式には以下のようなものがあります。

     
  • フォーマットされた電話番号。例えば(040-2345-6789)では、フォーマットが自動的に除去され(04023456789)のようになります。
  • sip:123456789@sip.provider.comのようなSIPプロトコルアドレスです。
 

このメソッドが呼び出された場合:

 
  • "to" パラメータで指定された宛先に新規での発信を行います。
  • "from"パラメータでcallerIDを指定できますが、日本の環境では無視されますのでご注意ください。
  • "answerOnMedia"がtrueである場合、応答のタイミングに関わらず音声応答を開始します。
  • 指定したタイムアウトの時間まで、応答や新規の通話によるその他のイベントを待ちます。
  • 制限時間内に通話が問題無く完了すれば、"call"が完了したとみなされ、Tropoは次の動作に移ります。
  • "call"がタイムアウトあるいはネットワーク上の問題により失敗した場合、"call"は不完全だとみなされて、"call"のステータスがFAILEDとなります。
 

追加ダイヤルオプション:

 
  • postd - 通話が接続された後にダイヤルするためのDTMFディジットです。
  • pause - 電話が接続されてから、数字を出力するまでの待機時間の長さです。これを使うことで、大きな時間の値が定義できます。
  • p - 1秒間の休止のことです。
 

「14155551212;postd=1234pp56;pause=5s」を例に説明します。 この場合、電話番号に接続した5秒後に1234をダイヤルし、さらに2秒間休止 (pp)してから56をダイヤルします。 "「14155551212;postd=ppppp1234pp56"」の例でも全く同じことを行いますが、少しだけ複雑になります。 「ms」にも対応しているので、5sの代わりに5000msと定めることもできます。

通話が応答されたのか、ビジー状態なのか、失敗したのかを判断するには、resultオブジェクトの「disposition」フィールドをご覧ください。

   

フィールド

to
データの種類:String型またはArray型 デフォルト:なし 必須
電話やメッセージの宛先のことです。 現在では、以下のいずれかの形式をとることができます。 
  • tel:フォーマットされた電話番号(たとえば020-1234-5678)は、ダイアルする前にTropoによりフォーマットを除去されます。
  • sip:123456789@sip.provider.comのようなSIPプロトコルアドレスです。
音声電話をかける場合、番号の一部として、ダイヤルオプションを定められます。  
  • postd - 通話が接続された後にダイヤルするためのDTMFディジットです。
  • 一時停止 - 通話が接続された後に、ディジットを発行するまでに待機する時間です。
  • 「14155551212;postd=1234pp56;pause=1000ms」を例にとって説明します。 これは、電話番号に接続した1秒後に1234をダイヤルし、さらに2秒(PP)経った後に、56をダイヤルするということです。
  本文でも述べましたが、複数の電話番号またはSIPアドレスあるいはその両方を音声通話用の配列として一覧表示することもできます。 最初に電話に出たdestinationが、通話の権利を得ます。
allowSignals
データの種類:String型またはArray型 デフォルト:*(任意の信号) 任意
このパラメータを使用すると、この関数にシグナルを割り当てることができます。一致するシグナル名を持つTropo REST APIからのイベントは、この関数を中断します。 すでにこの関数が実行され完了していた場合、中断の要求は無視されます。 この関数がまだ実行されていない場合、中断の要求は実行されるまでジョブキューに並びます。 デフォルトでは、allowSignalsはどんなシグナルも有効なものとして認識します。 allowSignalsを定めなかった場合、その関数は「中断なし」として定義されます。 配列を使うこともできます。配列にある名前のいずれかに一致するシグナルを受信した際に、この関数を中断します。
answerOnMedia
データの種類:Boolean型 デフォルト:false 任意
trueに設定すると、callに「応答がなされた」ものとみなし、相手方から信号を受信するとすぐに、音声の再生が始まります。 また、answerOnMediaは同時に課金が開始されます。ですからcallが接続されない場合にも料金が発生することがあります。
from
データの種類:String型 デフォルト:なし 任意
アプリケーションに複数の番号が設定されている場合、ナンバーディスプレイに表示される発信者番号(コーラーID)を指定することができます。 発信者番号の指定は、同一のアプリケーションに紐付く番号のみ有効です。指定が無い場合、またはアプリケーションに関係の無い番号を指定した場合は、 設定に関わらず電話番号一覧の最上位の番号が表示されます。
headers
データの種類:Object型 デフォルト:なし 任意
現在のセッションにおけるセッション開始プロトコル(SIP)ヘッダを含みます。 これは高度なネットワーク情報です。
machineDetection
データの種類:Boolean型またはHash型 デフォルト:False 任意
現在はご利用になれません。
name
データの種類:String型 デフォルト:なし 必須
これが、作業の結果を識別するのに使われるキーです。こうして、複数の結果を区別できます。 例えば、あなたがユーザに好みの色を質問するとします。ネーム値を 'color(色)'と設定しても、戻ってくる値が 'blue(青)'かもしれません。 1つの結果しか戻ってこない場合には、それほど役立たないかもしれませんが、結果が複数ある場合には、 これが、どの結果がどの作業に属するかを決定する助けとなります。
network
データの種類:String型 デフォルト:なし 任意
当該セッションのために使用されているネットワークの名前のことです。 「PSTN」または「SIP」のいずれかとなります。
required
データの種類:Boolean型 デフォルト:true 任意
これにより、Tropoが次の動詞に移動すべきかどうかを決めます。もし、要求が「true」と設定されて、 現在の作業が完全に成功していれば、Tropoは次の動詞に移動します。
timeout
データの種類:Float型 デフォルト:30.0 任意
秒単位で受信者がcallに応答するまでの時間を指定できます。
 

サンプル

 

番号の配列に電話をかける

{"tropo":[
      {"call":{
            "to":[
               "0901234XXXX",
               "039876XXXX"
            ]}
      },
      {"say":[
            {"value":"こんにちは"}
      ]}
]}
   
ask conference