[Amazon Connect] 顧客の入力を保存する 〜エラー処理や、タイムアウトの処理について〜

Amazon Connectで、問い合わせフローを作成する場合、「顧客の入力を取得する」 の次の多用しそうな「顧客の入力を保存する」について、まとめてみました。
2018.08.22

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

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で、問い合わせフローを作成する場合、「顧客の入力を取得する」 の次の多用しそうな「顧客の入力を保存する」について、まとめてみました。

頑張って使いこなして行きたいと思います。