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

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

   

ガイダンス(音声ファイルまたはTTS)を再生し、それから発信者からの応答を任意の時間だけ待ち、 応答を録音します。 無事に録音された場合、 応答はDTMF形式または下記で定められたシンプルグラマを使った音声認識になります。 録音が終わると、音声ファイルはFTPまたはHTTP POST/Multipart Formを介して任意のサーバーに自動送信します。

 

フィールド

attempts
データの種類:Integer型 デフォルト:1 任意
これは、「未達成」のイベント(つまり、ユーザが誤った入力をしたか、まったく入力しなかった場合)の時に、 質問終了前までに、ユーザがガイダンスを聞く時間の長さを定義します。テキストをText to Speech Engine (SSMLでも可能)で読み上げることも、 音声ファイルが再生されるURLで表すことも可能です。  
allowSignals
データの種類:String型またはArray型 デフォルト:*(任意の信号) 任意
このパラメータを使用すると、この関数にシグナルを割り当てることができます。一致するシグナル名を持つTropo REST APIからのイベントは、この関数を中断します。 すでにこの関数が実行され完了していた場合、中断の要求は無視されます。 この関数がまだ実行されていない場合、中断の要求は実行されるまでジョブキューに並びます。 デフォルトでは、allowSignalsはどんなシグナルも有効なものとして認識します。 allowSignalsを定めなかった場合、その関数は「中断なし」として定義されます。 配列を使うこともできます。配列にある名前のいずれかに一致するシグナルを受信した際に、この関数を中断します。
bargein
データの種類:Boolean型 デフォルト:true 任意
IVRの音声を最後まで聞かせるかどうかを定義します。 trueであればガイダンスの途中でもDTMF入力を受け付け、falseであれば、ガイダンスを最後まで聞かせます。
beep
データの種類:Boolean型 デフォルト:true 任意
trueに設定されている場合、録音開始時に、発信者に対して録音の開始を知らせる音声(ビープ音)を再生します。
choices
データの種類:Object型 デフォルト:なし 任意
recordと一緒に使われる場合、choicesによりterminatorを定めることができます。 terminatorはタッチトーンキー(DTMF)で、発信者が任意のタイミングで録音を終了する際に押すダイアルキーです。 一般的なterminatorはシャープキー(♯)です。
say
データの種類:Object型 デフォルト:なし 任意
これにより、発信者に再生するもの、または送信するものを決定します。 これは、単一のオブジェクトであることもあれば、配列型のオブジェクトであることもあります。 recordアクションの一部にsayが含まれている場合、sayはイベントキーになることもできます。 プロンプトが特定のイベントを基に再生される場合、これによって決定されます。recordの場合にあり得るイベントは「timeout」です。
format
データの種類:String型 デフォルト:audio/wav 任意
録音に使用される音声フォーマットのことで、値には「audio/wav」、「audio/mp3」、「audio/au」があります。
maxSilence
データの種類:Float型 デフォルト:5.0 任意
ユーザーが会話を止めてから沈黙している間を待つ、最大上限時間のことで、秒単位で表わされます。 会話を一時停止しているわけではないことを保証するためのものです。
maxTime
データの種類:Float型 デフォルト:30.0 任意
録音時間の上限(秒単位)は変更することができます。 最大セッションタイムが始まり通話が終了するまでのデフォルトは30秒ですが、2時間まで設定できます。
method
データの種類:String型 デフォルト:POST 任意
HTTP経由で録音を送信する場合、このパラメータが使用されるメソッドを決定します。 「POST」(デフォルトではこちら)あるいは「PUT」に設定できます。 POST経由で送信する場合、フォームフィールドの名前は「filename」です。
name
データの種類:String型 デフォルト:なし 必須
作業の結果を識別するのに使われるキーです。主に複数の結果を区別する際に使用します。 例えば、ユーザーに好みの色を質問する場合、ネーム値を 'color(色)'と設定しても、戻り値が 'blue(青)'かもしれません。 戻り値が1つである場合にはさほど意味を持ちませんが、結果が複数期待される場合には、 どの結果がどの作業に属しているのかを識別する助けとなります。
required
データの種類:Boolean型 デフォルト:true 任意
これにより、Tropoが次の動詞に移動すべきかどうかを決めます。trueと設定された場合、 現在のイベントが完全に成功していれば、Tropoは次のイベントに移動します。
url
データの種類:String型 デフォルト:なし 必須
これは録音したデータを送信する宛先のURLです。 URLまたはFTPアドレスなどがあります。
ftp://ftp.myServer.com/files/myRecording.wav
ユーザー名やパスワードをURLに直接埋め込むことができます。または「username」フィールドと「password」フィールドに個別に定義することもできます。
password
データの種類:String型 デフォルト:なし 任意
HTTP Basic認証と FTP のログイン用のパスワードを設定します。   URL内のユーザーおよびパスワードのフィールドに「:」、「@」および「/」が含まれている場合、 その文字はエンコードしなければならないことに注意してください。
username
データの種類:String型 デフォルト:なし 任意
HTTP Basic認証と FTP のログイン用のユーザー名を設定します。   URL内のユーザーおよびパスワードのフィールドに「:」、「@」および「/」が含まれている場合、 その文字はエンコードしなければならないことに注意してください。
timeout
データの種類:Float型 デフォルト:10.0 任意
プロンプトの送信または再生終了後のユーザーが応答を開始するまでの、Tropoの待機時間のことで、秒単位で表わされます。 タイムアウトに達しても、呼び出しに応答がなければ、incompleteイベントハンドラで指定されたURLが呼び出されます。
interdigitTimeout
データの種類:Integer型 デフォルト:なし 任意
conferencerecordそしてtransferの場合において、interdigitTimeoutはTropoが新たなキー入力を認識するまでに、 ユーザが必要とする待機時間を秒単位で定めます。 基本的には、ユーザが間違ったキーを押してセッションを終了してしまった場合 (#を押そうとして *を押した場合など)に、キーを押し直すまでにTropoにどれくらいの待機してほしいかということを意味します。
 

サンプル

 

timeoutの例

{
   "tropo":[
      {
         "record":{
            "say":[
               {
                  "value":"メッセージをどうぞ。"
               },
               {
                  "value":"すみません、聞こえませんでした。もう一度お掛け直しください。",
                  "event":"timeout"
               }
            ],
            "name":"foo",
            "url":"http://sendme.com/tropo",
            "choices":{
               "terminator":"#"
            }
         }
      }
   ]
}
     
on redirect