[Amazon Connect] 顧客の入力を保存する 〜エラー処理や、タイムアウトの処理について〜
1 はじめに
Amazon Connectの、問い合わせフローで、ユーザーの入力を受け取る場合、昨日確認した、「顧客の入力を取得する」 の他に、「顧客の入力を保存する」 があります。
参考:[Amazon Connect] 顧客の入力を取得する 〜予定外の数字が選択されたり、タイムアウトになった時の処理について〜
「顧客の入力を保存する」 ブロックは、操作の中にあります。
今回は、この 「顧客の入力を保存する」 の使用方法について整理してみたいと思います。
2 基本的な使用方法
例として、お誕生日の入力を4桁の数字で求めるブロックを作成してみました。プロンプトは「お誕生日を入力して下さい。 例えば10月4日の場合は、1004と入力して下さい。」って感じです。
保存された値は、システム ー 保存済みの顧客の入力 にアクセスすることで使用できます。
下記は、 「問い合わせ属性の設定」 ブロックを使用して、上記データにアクセスし、ユーザー属性(birthday)に保存しなおしている様子です。
一連の流れを作成してみると、次のようになります。
「問い合わせ属性の設定」 の後ろの 「プロンプトの再生」 では、ユーザー属性(上記の場合は、$.Attributes.birthday)をそのまま発話することが可能ですので、それをおこなっています。
利用すると次のようになります。
C:お誕生日を入力して下さい。例えば10月4日の場合は、1004と入力して下さい。 U:1004(を入力) C:入力されたのは1004です。
3 入力の種類
「顧客の入力を保存する」 では、入力方法としてカスタムと電話番号の2種類が選択できます。
入力方法によって、出力が少し変わり、電話番号を選択した場合は、Invalid numberという分岐が追加されます。
取得できる値についても、入力方法によって変わってきますが、概ね以下のとおりでした。
(1) カスタム
カスタムでは、最大桁数を指定した数値の入力を受け取ることができます。# と * は、やや特別な扱いで、#は入力された時点ですぐに終了し、* は、* だけに置き換わっています。
# を押すと、タイムアウトを待つことなくすぐに入力が終わるので、「最後に#を入力して下さい」というような使い方は有効かも知れません。
入力値 | 取得できる値 |
---|---|
1234 | 1234 |
123* | * |
* | * |
123# | 123 |
# | # |
(何も入力しない) | Timeout |
(2) 電話番号
電話番号入力では、電話番号として正しいかどうかのバリデーションが行われているようで、不正と判断された場合は、Invalid numberへ処理が流れます。
また、有効な電話番号を入力すると、先頭の0が削除されて+81が付与された番号が取得できます。
入力値 | 取得できる値 |
---|---|
09011112222(正しい電話番号) | +819011112222 |
123411112222(不正な電話番号) | Invalid number |
090# | Invalid number |
090* | Invalid number |
# | Invalid number |
* | Invalid number |
4 タイムアウト
タイムアウトは、エントリ間のディレイという所で、デフォルト5秒に設定されています。 カスタム入力で、最大値に達していない場合や、#が押されていない場合、最後の入力からこの時間が経過しないと、入力が終了したと認識できません。
また、まったく入力のない時点で、この時間が経過すると、値としてTimeoutが取得できます。
このため、条件分岐でTimeoutかどうかを判断して、何の入力なくタイムアウトしてしまった時に、再度入力を催促するフローを作成するとしたら、以下のようになるでしょう。
「顧客の入力を保存する」 の後ろに、問い合わせ情報を確認するをおいて、Timeoutだったら、もとに戻している感じです。
問い合わせ情報を確認するの内容は、次のようになっています。
5 最後に
Amazon Connectで、問い合わせフローを作成する場合、「顧客の入力を取得する」 の次の多用しそうな「顧客の入力を保存する」について、まとめてみました。
頑張って使いこなして行きたいと思います。