Amazon Connectの検証について解説!

1.はじめに

はじめまして。株式会社シー・エス・エスの甕(もたい)です。

最近は外の空気も暖かくなってきましたが、同時に花粉が飛ぶ季節になりました。この時期は花粉に苦しめられる方も多いのではないでしょうか?斯く言う私もその一人です…。皆さんも花粉&風邪対策をしっかりしていきましょう!

 

さて、今回は「休日の会社への問い合わせを、担当者が出社しなくても対応することはできないか?」という課題を解決するため、Amazon Connectを使用して検証を行いました。

Amazon Connectとは、クラウド上で簡単にコールセンターを構築することができるサービスのことです。S3やLambda等のサービスと連携できるため、会話履歴の管理や柔軟な問い合わせフローに対応した構築ができます。

本ブログでは、Amazon Connectを使用した検証内容とその設定について簡単に解説したいと思います。

 

2.検証

今回は、Amazon ConnectとLambda、S3を使用し、Amazon Connectで取得した電話番号に電話を掛け、電話をスマートフォンに転送できるか検証を行いました。そうすることで、顧客からの問い合わせに対して、自宅などいつでもどこでも問い合わせ対応ができる環境を構築しました。

 

2-1.環境構成例

環境構成は以下の通りです。

LambdaでS3に保存したCSV形式のシフト表を読み込み、担当日に応じた電話番号に問い合わせを転送します。

f:id:css_blog:20190306155211p:plain

 

 S3に配置したCSVファイルのカラムは、日付と担当者に紐づく電話番号を入力します。

f:id:css_blog:20190306090401p:plain

Lambda関数が実行されると、S3に保存されているCSVファイルが読み込まれ、取得した電話番号のデータをAmazon Connectに返します。

 

2-2.Lambdaの設定

Lambda関数の作成では、Python3.6を使用しました。

戻り値はJSON形式でAmazon Connectに返ります。

import boto3
from datetime import datetime
import csv

def lambda_handler(event, context):
    #S3のクライアントオブジェクト作成
    s3 = boto3.client('s3')

    # 対象バケット/ファイル
    bucket_name = '#任意のバケット名'
    file_name = '#任意のフォルダ名'

    # データ取得
    res = s3.get_object(Bucket=bucket_name, Key=file_name)
    body = res['Body'].read()
    bodystr = body.decode('utf-8')
    lines = bodystr.split('\r\n')
    
    for line in lines :
        col_list = line.split(',')
        # システム日付を取得
        today = datetime.today()
        # 適切なINPUT要件を満たしていないデータはSkip
        if len(col_list) != 2 or len(col_list[0]) != 8 and len(col_list[1]) < 10 : 
            if len(line) != 0 :
                print(f'skip csv-data:{line}')
            continue
    
        # csvデータの日付とシステム日付を比較し、一致する場合は電話番号をreturn
        if today.date() == datetime.strptime(str(col_list[0]), '%Y%m%d').date() :
            print(f'return call number:{col_list[1]}')
            return {"phone_number":col_list[1]}

 

2-3.Amazon Connectの設定

Amazon Connectで行った主な設定は以下の3項目です。

①Amazon Connectインスタンス作成

②電話番号の取得

③問い合わせフローの設定

 

①Amazon Connectインスタンスは、Amazon Connectコンソール上の「インスタンスを追加する」から作成できます。 

 アクセスURLなどの各種設定を行い、インスタンスの作成が完了すると以下の画面が表示されます。言語は日本語に設定します。

f:id:css_blog:20190306090433p:plain

 

②電話番号の取得を行います。Amazon Connectダッシュボードの「電話番号を取得する」を選択します。

電話番号はAmazonが提供する直通ダイヤルの050番号と料金無料通話の0800番号が取得可能です。東京リージョンでは03番号、0120番号も使用可能です

また、電話番号はAmazon Connectインスタンス1つにつき10個まで取得可能です。

 

③問い合わせフローの設定はAmazon Connectダッシュボードの「問い合わせフローの作成」から行います。

今回の検証で設定した問い合わせフローは以下の通りです。 

問い合わせフローはブロックをブラウザ上でドラッグ&ドロップすることで簡単に作成できます。

f:id:css_blog:20190306090501p:plain

 

「AWS Lambda関数を呼び出す」をフローに組み込むことでLambda関数を呼び出すことができます。下の図のようにLambda関数のARNを設定します。

f:id:css_blog:20190306090529p:plain

 

Lambda関数の戻り値から受け取った値は「問い合わせ属性を確認する」ブロックで条件判定されます。「確認する属性」と「チェックする条件」項目を入力します。

属性はLambdaで設定した「JSONのキー」を入力します。

f:id:css_blog:20190305104517p:plain

 

以上で一通りの設定は完了です!

さっそくAmazon Connectで取得した電話番号に電話をかけてみると、設定したフロー通り、スマートフォンにつなげることができました!

 

 今回の検証では必要最低限の設定のみ行いましたが、この他にも対応時間の設定や音声プロンプトの設定などを簡単に追加することができるようです。

 

3.おわりに

今回の検証では、Amazon Connectで会社への問い合わせ電話をスマートフォンに転送するフローの構築が簡単にできることが分かりました。その他にもAmazon Connectの設定のみで、音声録音やIVRシステムの構築ができるようです。

現在はAmazon Connectで取得した電話番号しか使用できず、既存のコールセンターの番号を使用することができません。実際のコールセンターでも既存の番号が使用できるようになれば、Amazon Connectを導入する企業も増えるかもしれません。

 

株式会社シー・エス・エスは随時、業務に関するお悩みを受け付けています。

▼【お問合せ・ご相談はこちらから】

www.css-net.co.jp