LINEBot作成ハンズオンに行った話(LINEBot編)

前回でAmazonConnectの電話番号を取得したところからスタート

 

Lambda関数の作成

  1. AWSのサービスよりLambdaを選択
  2. Lambdaの関数作成をクリック
  3. 関数作成の項目を埋めていく(関数名:AmazonConnect-BMI、実行ロール:AWSポリシーテンプレートから新しいロールを作成、ロール名:AmazonConnect-Role、ポリシーテンプレート:基本的なLambda@Edge のアクセス権限) →右下の「関数の作成」をクリック
  4. Lambdaのindex.jsを以下のように書き換える
  5. 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};
    };
  6. 以上でLambdaの作成は終了、次はLambdaをAmazonConnectに適応

 

LambdaをAmazon Connectに適用する

  1. AWSのサービスからAmazonConnectにいく
  2. 左サイドメニューより「問い合せフロー」
  3. AWS Lambdaの項目より「AmazonConnect-BMI」を選択し、[追加]ボタンをクリック →プルダウンメニューの下に追加される
  4. 左サイドメニューより「概要」
  5. [管理者としてログイン]をクリック→管理者ページへ
  6. 左サイドメニューより「問い合せフロー」
  7. [問い合わせフローの作成]をクリック→名前を「BMIフロー」
  8. [問い合せフローエディタ]の[設定]カテゴリより[音声の設定]→右マス目にドラッグ&ドロップ→ドロップしたブロックをクリック→エントリポイントの白丸と左半円を接続
  9. [音声の設定]クリック(言語:日本語、音声:Takumi)
  10. [問い合せフローエディタ]の[操作]カテゴリより[顧客の入力を保存する]→右マス目にドラッグ&ドロップ→ドロップしたフォルダをクリック→前回作成したブロックの成功白丸と左半円を接続
  11. [顧客の入力を保存する]クリック(テキスト読み上げ機能:テキストの入力:「あなたのBMIをお答えします。身長をセンチで入力してください。」、カスタム最大桁数:3)→左下Save
  12. [問い合せフローエディタ]の[設定]カテゴリより[問い合わせ属性の設定]→右マス目にドラッグ&ドロップ→ドロップしたフォルダをクリック→前回作成したブロックの成功白丸と左半円を接続
  13. [問い合わせ属性の設定]をクリック(宛先キー:HeghtVal、タイプ:システム、属性:保存済みのお客様の入力)→左下Save
  14. [問い合せフローエディタ]の[操作]カテゴリより[顧客の入力を保存する]→右マス目にドラッグ&ドロップ→ドロップしたフォルダをクリック→前回作成したブロックの成功白丸と左半円を接続
  15. [顧客の入力を保存する]クリック(テキスト読み上げ機能:テキストの入力:「続いて、体重をキログラムで入力してください。」、カスタム最大桁数:3)→左下Save
  16. [問い合せフローエディタ]の[設定]カテゴリより[問い合わせ属性の設定]→右マス目にドラッグ&ドロップ→ドロップしたフォルダをクリック→前回作成したブロックの成功白丸と左半円を接続
  17. [問い合わせ属性の設定]をクリック(宛先キー:WeightVal、タイプ:システム、属性:保存済みのお客様の入力)→左下Save
  18. [問い合せフローエディタ]の[統合]カテゴリより[AWS Lambda 関数を呼び出す]→右マス目にドラッグ&ドロップ→ドロップしたフォルダをクリック→前回作成したブロックの成功白丸と左半円を接続
  19. [AWS Lambda 関数を呼び出す]をクリックし[関数を選択する]で[AmazonConnect-BMI]設定→左下Save
  20. [問い合せフローエディタ]の[操作]カテゴリより[プロンプトの再生]→右マス目にドラッグ&ドロップ→ドロップしたフォルダをクリック→前回作成したブロックの成功白丸と左半円を接続
  21. [プロンプトの再生]をクリックし(テキスト読み上げ機能:テキストの入力:「
    $.External.BMI
    」)→左下Save
  22. [問い合せフローエディタ]の[終了/転送]カテゴリより[切断/ハングアップ]→右マス目にドラッグ&ドロップ
  23. 未接続ノード(今回は[エラー]ノード)を全て[切断/ハングアップ]に接続する
  24. 右上の[保存]と [公開] ボタンをクリック
  25. 左サイドメニューより[電話番号]を選択→[電話番号の管理]画面→電話番号をクリック
  26. 電話番号の編集→問い合せフロー[BMIフロー]→保存

 

以上で完成です

AmazonConnectで登録した電話番号に電話をかけて、身長と体重の値を入力すればBMI値が帰ってくれば成功です

以下問い合せフロー図

f:id:yusukeisizaki:20190716082116p:plain