クイックスタート|TropoスクリプティングAPI

無入力や不正な入力の処理

   

ユーザーがaskに対して応答しない、指定した選択肢以外で応答、またはTropoの意図しない応答がある場合はどうしますか? おそらく、不正な選択を行った事をユーザーに知らせて、彼らが適切に応答できるように、より多くの情報を提供するかと思います。 これを行うには、オプションパラメータであるonBadChoiceonChoiceを使用します。

ask("3桁の会員番号を入力してください", {
  choices: "[3 DIGITS]",
  timeout: 10.0,
  attempts: 3,
  terminator: "#",
  onBadChoice: function(event) {
    say("番号は3桁で入力してください");
  },
  onChoice : function(event){
    say("ようこそ、" + event.value + "番さん。");  
  }
});
ask "3桁の会員番号を入力してください", {
  :choices => "[3 DIGITS]",
  :timeout => 10.0,
  :attempts => 3,
  :terminator => "#",
  :onBadChoice => lambda { |event|
    say "番号は3桁で入力してください"},
  :onChoice => lambda { |event|
    say "ようこそ、" + event.value + "番さん。"}
}
<?php
ask("3桁の会員番号を入力してください", array(
  "choices" => "[3 DIGITS]",
  "timeout" => 10.0,
  "attempts" => 3,
  "terminator" => "#",
  "onChoice" => "choiceFCN",
  "onBadChoice" => "badChoiceFCN"
));
function choiceFCN($event) {
    say("ようこそ" . $event->value . "番さん。");
}
function badChoiceFCN($event) {
    say("番号は3桁で入力してください");
}
?>
ask(u"3桁の会員番号を入力してください", {
  "choices" : "[3 DIGITS]",
  "timeout" : 10.0,
  "attempts" : 3,
  "terminator" : "#",
  "onChoice": lambda event : say(u"ようこそ、" + event.value + u"番さん。"),
  "onBadChoice": lambda event : say(u"番号は3桁で入力してください")
})
ask("3桁の会員番号を入力してください", [
    choices: "[3 DIGITS]",
    timeout: 10.0,
    attempts: 3,
    terminator: "#",
    onChoice: {event->
        say("ようこそ、" + event.value + "番さん。")
    },
    onBadChoice: {event->
        say("番号は3桁で入力してください")
    }
])
 

IVRにはもっと多くの用途とオプションがありますが、ここでは基本を説明しました。

 

補足資料

askについての基本情報の詳細は、APIリファレンスを参照して下さい。