クリスマスの夜に愛の言葉を届けよう

クリスマスの夜に愛の言葉を届けよう:

この記事はハンズラボ Advent Calendar 2018 15日目の記事です。

こんにちは、クリスマスまであと10日ですね。

クリスマスを200%楽しむべく、Amazon Connectで遊んでみたいと思います。

Amazon Connectが最近、東京リージョンに来たので早速試してみましたが

シドニーリージョンと比べて遅延が全然気にならず、快適でした。

普通の電話として使えますね。最高です。


やりたいこと: サンタさんから電話をかけてもらいたい

子供がクリスマスの朝にプレゼントを見つけたら、

サンタさんから電話がかかってきた!

ということをやりたいと思います。


手順1 サンタさんにメッセージを書いてもらう

サンタさんからメッセージをもらいましょう。

SNSでサンタさんを探して、メッセージを送りましょう。

サンタさんはSNSやってるのかな?

ちなみにフィンランド語でありがとうは「キートス!」です。


手順2 サンタさんにもらったメッセージを翻訳する

サンタさんに書いてもらったメッセージを翻訳すると

「メリークリスマス!

いい子にしてたからプレゼント置いておいたよ。

来年も楽しみにしててね。」

のような感じになると思います。


手順3 Amazon Connectのコンタクトセンターを立てる。

AWSのコンソール画面からAmazon Connectのインスタンスを立ち上げます。

東京リージョンから使うことができます。



スクリーンショット 2018-12-13 18.23.39.png


画面に従って順番に進めていけばOKです。

そのまま電話番号を取得して進めます。


手順4 音声を録音する

4番のプロンプトの作成をクリック



スクリーンショット 2018-12-13 18.35.02.png


プロンプトの新規作成をクリック



スクリーンショット 2018-12-13 18.35.20.png


サンタさんの声を録音します。

wav形式のファイルを作ってアップロードすることもできます。



スクリーンショット 2018-12-13 18.38.17.png


名前はsantaにしました。


手順5 問い合わせフローを作成する

次に問い合わせフローを作成します。

問い合わせフローの作成をクリック

スクリーンショット 2018-12-13 18.41.44.png

左メニューの「操作」から「プロンプトの再生」ドラッグアンドドロップし、

「エントリポイント」と繋ぎます(「開始」の横のまるいところからドラッグして繋ぎます)



スクリーンショット 2018-12-13 18.43.25.png


プロンプトの再生をクリックし、

santaを選択します。



スクリーンショット 2018-12-13 18.45.24.png


左メニューの「終了 / 転送」から「切断/ハングアップ」をドラッグアンドドロップし、

「プロンプトの再生」と繋ぎます。

flowに名前をつけます「santaflow」



スクリーンショット 2018-12-13 18.49.04.png


「保存して発行」を押して、フロー作成は終了です。



スクリーンショット 2018-12-13 18.49.57.png



手順6 電話番号とフローを紐づける

ダッシュボードに戻り、電話番号を表示をクリック



スクリーンショット 2018-12-13 18.51.17.png


取得した電話番号を選択し、フローを紐づけます。


スクリーンショット 2018-12-13 18.52.05.png


この状態で、Amazon Connectの電話番号に電話をかけると、録音が再生されます。


手順7 lambdaでOutbound Callingの設定

lambdaファイル

python3.6です

ContactFlowIdなどの各種設定情報は

管理画面でお問い合わせフローを開いた時のurlから取得することができます。

import json 
import boto3 
 
 
client = boto3.client('connect') 
 
 
def respond(code, res): 
    return { 
        'statusCode': code, 
        'body': json.dumps(res), 
        'headers': { 
            'Content-Type': 'application/json', 
            'Access-Control-Allow-Origin': '*' 
        } 
    } 
 
 
def lambda_handler(event, context): 
 
    response = client.start_outbound_voice_contact( 
        DestinationPhoneNumber='電話番号 +81をつけて頭の0をとる', 
        ContactFlowId='問い合わせフローのID', 
        InstanceId='Amazon ConnectのインスタンスのID', 
        SourcePhoneNumber='取得した電話番号 +8150xxxxxx', 
    ) 
 
    return respond(200, response) 
 
lambdaに紐づける Roleでは OutboundCallingを許可します。

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
        { 
            "Sid": "VisualEditor0", 
            "Effect": "Allow", 
            "Action": "connect:StartOutboundVoiceContact", 
            "Resource": "*" 
        } 
    ] 
} 


手順8 ApiGatewayでlambdaをたたけるように設定

API Gatewayを作成し、

メソッド: Get

統合タイプ: Lambda関数

Lambdaプロキシ統合の使用にチェック

先ほど作ったLambda関数を紐付けましょう

アクションからAPIをデプロイしたら準備は完了です。


クリスマス当日!! タイミング頃合いを見計らって、APIGatewayのurlを叩く

いい感じのタイミングで手順8で作ったURLを叩きましょう!

クリスマス楽しみですね!

楽しいクリスマスをお過ごしくださいー

クリスマスの夜に愛の言葉を届けようってタイトルにしたけど、

めちゃくちゃ朝っぽい話でしたね

以上です。

ハンズラボ Advent Calendar 2018 明日16日目は、@watarukuraです

コメント

このブログの人気の投稿

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2020-12-01 09:41:49 RSSフィード2020-12-01 09:00 分まとめ(69件)