AmazonConnectはCCP(オペレータ操作画面)がシンプルな作りになっている。
AmazonConnectStreams(API)を利用することで、自前のウェブアプリに組み込んだり機能を追加することが可能になるので、初期セットアップの手順を記載する。
今回はs3にjsファイルと読み込むhtmlファイルを配置する前提で記載する。
s3バケットはwebアクセス可能とする為、パブリックアクセス有効で作成する。
s3バケットのURLからAmazonConnectのCCPにアクセス可能とする為、承認済みオリジンの登録が必要になります。
※AmazonConnectStreamsの利用は、Https通信が必要になるのでアドレスはhttps:~~で記載すること。
今回利用したバージョン(amazon-connect-1.4.9-1-gf9242a0.js)では、24459と24460行目の間に
改行が足りずjsの読み込みエラーとなった、「websocket-manager.js.map」の後ろに改行を入れることで解決した。
//# sourceMappingURL=amazon-connect-websocket-manager.js.map /* * Copyright 2014-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * SPDX-License-Identifier: Apache-2.0 */
AmazonConnectStreamsではjsファイルを作成して、自前のウェブアプリ等で読み込んで利用します。
まずは、以下の手順でamazon-connect-XXXX.jsを作成します。
こちらのGithubリポジトリを任意のディレクトリにダウンロードします。
git clone git@github.com:amazon-connect/amazon-connect-streams.git
cd amazon-connect-streams make
makeすると、以下のメッセージが表示され、同ディレクトリにamazon-connect-XXXX.jsファイルが作成されます。
cat src/aws-client.js src/sprintf.js src/log.js src/util.js src/event.js src/streams.js src/client.js src/transitions.js src/api.js src/lib/amazon-connect-websocket-manager.js src/core.js src/ringtone.js src/softphone.js src/worker.js src/mediaControllers/chat.js src/mediaControllers/softphone.js src/mediaControllers/factory.js >'amazon-connect-XXXX.js'
「amazon-connect-XXXX.js」と「s3バケット名」は自身の環境に書き換える。
aws s3 cp amazon-connect-XXXX.js s3://s3バケット名
アップロードしたamazon-connect-XXXX.jsファイルを公開設定にする。
Githubリポジトリにサンプルコードがあるのでサンプルをベースに、自身の環境に書き換える。
下記コードのハイライト行を書き換える。
・“amazon-connect-1.4.js”→amazon-connect-XXXX.jsの作成で作成したファイル名
・“https://my-instance-domain.awsapps.com/connect/ccp-v2/“→「my-instance-domain」を自身のインスタンスエイリアス名
・”eu-central-1”→AmazonConnectを作成したリージョン名
<!DOCTYPE html> <meta charset="UTF-8"> <html> <head> <script type="text/javascript" src="amazon-connect-1.4.js"></script> </head> <!-- Add the call to init() as an onload so it will only run once the page is loaded --> <body onload="init()"> <div id=containerDiv style="width: 400px;height: 800px;"></div> <script type="text/javascript"> var instanceURL = "https://my-instance-domain.awsapps.com/connect/ccp-v2/"; // initialise the streams api function init() { // initialize the ccp connect.core.initCCP(containerDiv, { ccpUrl: instanceURL, // REQUIRED loginPopup: true, // optional, defaults to `true` region: "eu-central-1", // REQUIRED for `CHAT`, optional otherwise softphone: { // optional allowFramedSoftphone: true, // optional disableRingtone: false, // optional ringtoneUrl: "./ringtone.mp3" // optional } }); } </script> </body> </html>
jsファイルと同じs3バケットにindex.htmlファイルをアップロードし、ファイルを公開設定にする。
アップロードしたindex.htmlのアドレスに接続すれば、CCP画面が表示されます。
※CCPにログインしていない場合、Amazonconnectのログイン画面がポップアップされ、ログインするとindex.html側でCCPの画面が表示されます。
CCPが表示されない場合は、下記の確認をお願いします。
①jsファイル、htmlファイルともs3で公開設定になっているか
②ポップアップがブロックされていないか
③coockieが無効になっていないか
→