はじめに
Amazon Connectは、AWSが提供するクラウド型のコールセンターサービスです。低コストで素早くコールセンターをセットアップできる便利なサービスですが、デフォルトの機能だけでは既存のウェブアプリケーションに統合することはできません。そのような場面で役立つのが、Amazon Connect Streams APIです。
Amazon Connect Streams APIを使用すると、ウェブアプリに簡単に組み込むことができるだけでなく、顧客の電話番号や名前などの情報を表示することが可能になり、自由にカスタマイズすることができます。
今回はVueを使用したWebアプリにAmazon ConnectのCCP(Contact Control Pannel)を組み込みます。
導入
作業用ディレクトリ作成
npm create vue@latest cd connect-streams-practice npm install
Amazon Connect Streams APIインストール
npm install amazon-connect-streams
App.vueにCCP追加
instanceURLにはAmazon ConnectのインスタンスのURLを、regionには作成したAmazon Connectのインスタンスがあるリージョンを指定してください。
<div class="connect-widget"> <div id="container-div"></div> </div> <script setup type="ts"> import { onMounted } from 'vue'; import 'amazon-connect-streams'; const instanceURL = "https://my-instance-domain.my.connect.aws/ccp-v2/"; onMounted(() => { const containerDiv = document.getElementById("container-div"); connect.core.initCCP(containerDiv, { ccpUrl: instanceURL, // REQUIRED loginPopup: true, // optional, defaults to `true` loginPopupAutoClose: true, // optional, defaults to `false` loginOptions: { // optional, if provided opens login in new window autoClose: true, // optional, defaults to `false` height: 600, // optional, defaults to 578 width: 400, // optional, defaults to 433 top: 0, // optional, defaults to 0 left: 0 // optional, defaults to 0 }, region: "ap-northeast-1", // REQUIRED for `CHAT`, optional otherwise softphone: { // optional, defaults below apply if not provided allowFramedSoftphone: true, // optional, defaults to false disableRingtone: false, // optional, defaults to false allowFramedVideoCall: true, // optional, default to false allowEarlyGum: true // optional, default to true }, task: { disableRingtone: false, // optional, defaults to false }, pageOptions: { // optional enableAudioDeviceSettings: false, // optional, defaults to 'false' enableVideoDeviceSettings: false, // optional, defaults to 'false' enablePhoneTypeSettings: true // optional, defaults to 'true' }, shouldAddNamespaceToLogs: false, // optional, defaults to 'false' ccpAckTimeout: 1000, // optional, defaults to 3000 (ms) ccpSynTimeout: 3000, // optional, defaults to 1000 (ms) ccpLoadTimeout: 5000 // optional, defaults to 5000 (ms) }); }); </script>
ドメインの承認
ドメインの認証を行う必要があります。
Amazon Connectのコンソール上で「承認済みのオリジン」に入り「ドメインを追加ボタン」でドメインを追加してください。
起動確認
Vueを起動するとCCPが表示されます!
通話確認
電話をかけるとCCPに着信が来ます
通話時の画面
通話終了時の画面
「連絡先を閉じる」を押した後の画面
まとめ
Amazon Connect Streamsを使用すると簡単にWebアプリにコールセンター機能を実装できることが分かりました!
皆さんも是非使ってみてください!