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

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

   

このオブジェクトによって、切断された際や、正常に応答された際の動作を設定することができます。 指定できるイベントは次の通りです。 [continue]、[error]、[incomplete]と[hangup]です。transferの場合は、[ring]を使用し、 signalと共に使用される場合は、イベントは割り当てられたsignalの名前になります。

 

パラメータ

event
データの種類:String型 デフォルト:なし 必須
処理する動作を定義します。指定可能なイベントは、 [continue]、[error]、[incomplete]と[hangup]です。transferと共に使用される場合は例外で、 この場合に使用可能なイベントは[ring]となります。予定した動作に成功(IVRで有効な選択をするなど)する、 あるいは特に他のイベントが定義されていなければ、[continue]を開始します。 タイムアウトや呼び出しの失敗といったような不成功であれば、[incomplete]を開始します。 サーバレベルで何か不備が生じると[error]を開始し、ユーザが電話を切断すると、[hangup]を開始します。 signalと共に使用されると、イベントは割り当てられたシグナルの名前になります。
next
データの種類:String型 デフォルト:なし 任意
関連するイベントが発生した際に、ここで指定されたURL/ファイルにTropoが転送します。 もし、イベントにハンドラがなければ、その際は[continue]が発生します。また、 イベントがハンドラを所持していて、そのハンドラがURLを特定していない場合(例えば、 [say]を代わりに置く)は、そのハンドラは処理され[continue]を開始します。   もし、[continue]のイベントハンドラが無い、あってもURLが無い場合は、通話はハングアップして 自動的に[hangup]イベントが開始されます。
say
データの種類:Object型 デフォルト:なし 必須
再生、送信されるものを指定します。これは単一オブジェクトにも配列にもなります。
 

サンプル

 

各イベントトリガーを示す例

{
   "tropo":[
      {
         "on":{
            "event":"continue",
            "next":"/continue.json"
         }
      },
      {
         "on":{
            "event":"error",
            "next":"/error.json"
         }
      },
      {
         "on":{
            "event":"hangup",
            "next":"/hangup.json"
         }
      },
      {
         "on":{
            "event":"incomplete",
            "next":"/incomplete.json"
         }
      },
      {
         "ask":{
            "say":[
               {
                  "value":"Tropoにようこそ!誕生日を教えて?"
               }
            ],
            "name":"year",
            "required":true,
            "choices":{
               "value":"[4 DIGITS]"
            }
         }
      }
   ]
}

シグナルと共に "on"を使用する例

{
   "tropo":[
      {
         "on":{
            "event":"exit",
            "next":"exit-say.json"
         }
      },
      {
         "say":{
            "value":"http://phono.com/audio/holdmusic.mp3",
            "allowSignals":"exit"
         }
      }
   ]
}
 

継続中のイベントのための音声の組み込みを示す例

{
   "tropo":[
      {
         "on":{
            "event":"continue",
            "next":"continue.json",
            "say":[
               {
                  "value":"ナイスアンサー!"
               }
            ]
         },
         "ask":{
            "say":[
               {
                  "value":"Tropoにようこそ!誕生日を教えて?"
               }
            ],
            "name":"year",
            "required":true,
            "choices":{
               "value":"[4 DIGITS]"
            }
         }
      }
   ]
}
   
hangup record