LINEBot作成ハンズオンに行った話(LINEBot編)
前回でAmazonConnectの電話番号を取得したところからスタート
Lambda関数の作成
- AWSのサービスよりLambdaを選択
- Lambdaの関数作成をクリック
- 関数作成の項目を埋めていく(関数名:AmazonConnect-BMI、実行ロール:AWSポリシーテンプレートから新しいロールを作成、ロール名:AmazonConnect-Role、ポリシーテンプレート:基本的なLambda@Edge のアクセス権限) →右下の「関数の作成」をクリック
- Lambdaのindex.jsを以下のように書き換える
-
exports.handler = async (event) => { // 身長と体重を取得する const heightVal = event.Details.ContactData.Attributes.HeightVal; const weightVal = event.Details.ContactData.Attributes.WeightVal; // BMI計算 const bmiVal = (parseFloat(weightVal) / (parseFloat(heightVal)/100 * parseFloat(heightVal)/100)).toFixed(1); // 標準体重 const stdWeight = (22 * (parseFloat(heightVal)/100 * parseFloat(heightVal)/100)).toFixed(1); var speechText = `あなたのBMIは${bmiVal}です。標準体重は${stdWeight}kgです。`; return {"BMI": speechText}; };
- 以上でLambdaの作成は終了、次はLambdaをAmazonConnectに適応
LambdaをAmazon Connectに適用する
- AWSのサービスからAmazonConnectにいく
- 左サイドメニューより「問い合せフロー」
- AWS Lambdaの項目より「AmazonConnect-BMI」を選択し、[追加]ボタンをクリック →プルダウンメニューの下に追加される
- 左サイドメニューより「概要」
- [管理者としてログイン]をクリック→管理者ページへ
- 左サイドメニューより「問い合せフロー」
- [問い合わせフローの作成]をクリック→名前を「BMIフロー」
- [問い合せフローエディタ]の[設定]カテゴリより[音声の設定]→右マス目にドラッグ&ドロップ→ドロップしたブロックをクリック→エントリポイントの白丸と左半円を接続
- [音声の設定]クリック(言語:日本語、音声:Takumi)
- [問い合せフローエディタ]の[操作]カテゴリより[顧客の入力を保存する]→右マス目にドラッグ&ドロップ→ドロップしたフォルダをクリック→前回作成したブロックの成功白丸と左半円を接続
- [顧客の入力を保存する]クリック(テキスト読み上げ機能:テキストの入力:「あなたのBMIをお答えします。身長をセンチで入力してください。」、カスタム最大桁数:3)→左下Save
- [問い合せフローエディタ]の[設定]カテゴリより[問い合わせ属性の設定]→右マス目にドラッグ&ドロップ→ドロップしたフォルダをクリック→前回作成したブロックの成功白丸と左半円を接続
- [問い合わせ属性の設定]をクリック(宛先キー:HeghtVal、タイプ:システム、属性:保存済みのお客様の入力)→左下Save
- [問い合せフローエディタ]の[操作]カテゴリより[顧客の入力を保存する]→右マス目にドラッグ&ドロップ→ドロップしたフォルダをクリック→前回作成したブロックの成功白丸と左半円を接続
- [顧客の入力を保存する]クリック(テキスト読み上げ機能:テキストの入力:「続いて、体重をキログラムで入力してください。」、カスタム最大桁数:3)→左下Save
- [問い合せフローエディタ]の[設定]カテゴリより[問い合わせ属性の設定]→右マス目にドラッグ&ドロップ→ドロップしたフォルダをクリック→前回作成したブロックの成功白丸と左半円を接続
- [問い合わせ属性の設定]をクリック(宛先キー:WeightVal、タイプ:システム、属性:保存済みのお客様の入力)→左下Save
- [問い合せフローエディタ]の[統合]カテゴリより[AWS Lambda 関数を呼び出す]→右マス目にドラッグ&ドロップ→ドロップしたフォルダをクリック→前回作成したブロックの成功白丸と左半円を接続
- [AWS Lambda 関数を呼び出す]をクリックし[関数を選択する]で[AmazonConnect-BMI]設定→左下Save
- [問い合せフローエディタ]の[操作]カテゴリより[プロンプトの再生]→右マス目にドラッグ&ドロップ→ドロップしたフォルダをクリック→前回作成したブロックの成功白丸と左半円を接続
- [プロンプトの再生]をクリックし(テキスト読み上げ機能:テキストの入力:「
」)→左下Save$.External.BMI
- [問い合せフローエディタ]の[終了/転送]カテゴリより[切断/ハングアップ]→右マス目にドラッグ&ドロップ
- 未接続ノード(今回は[エラー]ノード)を全て[切断/ハングアップ]に接続する
- 右上の[保存]と [公開] ボタンをクリック
- 左サイドメニューより[電話番号]を選択→[電話番号の管理]画面→電話番号をクリック
- 電話番号の編集→問い合せフロー[BMIフロー]→保存
以上で完成です
AmazonConnectで登録した電話番号に電話をかけて、身長と体重の値を入力すればBMI値が帰ってくれば成功です
以下問い合せフロー図