ヤマムギ

growing hard days.

*

Amazon Connectから問い合わせ追跡レコード(CTR)をエクスポート

   

Amazon Connectから発信した電話に出たのか、出なかったのかを確認したく、たどり着いた手段の一つがCTR(問い合わせ追跡レコード)のエクスポートでした。

Python SDKのboto3でAmazon ConnectのAPIから取得できないかと思い、describe_contactで試してみたものの、接続日時、切断理由がレスポンスには含まれておらずでした。

そこで、まずはCTRをS3バケットにエクスポートしてみて確認しました。
結果、接続日時、切断理由が取得できていました。
電話に出なかったときは接続していないので接続日時がnullでした。
切断理由も取得できましたが、接続日時で判定できそうなので今回は切断理由の値を詳しく調べるのはやめておきました。
ただし、Kinesis Firehoseなので、最大60秒のタイムラグが発生します。
これが許容できればありですね。

それでは設定です。

Amazon Connectで該当インスタンスを選択しました。

左ペインで[Data streaming]を選択して、「データストリーミングの有効化」をチェックしました。
送信先はKinesis Firehoseを選択しました。
FirehoseはS3バケットへ送信するよう作成済みです。

今回の要件ではエージェントイベントは発生しないので、未選択のままで作成しました。

AWS Lambda(Python)で生成した文字をAmazon Connectで音声を設定して発信する

電話を発信してみて、少し待ってからS3バケットを見るとCTRのオブジェクトが送信されていました。

マネジメントコンソールからオブジェクトを選択して[アクション]-[S3 Selectを使用したクエリ]でフォーマットをJSONにして確認しました。

電話に出なかったときのCTR

ConnectedToSystemTimestampがnullになっています。
発信先電話番号も含まれるので取り扱い注意ですね。
発信した際のレスポンスにContactIdが含まれるので、ContactIdで検索できます。

電話に出たときのCTR

ConnectedToSystemTimestampに日時値があります。
これで判定できそうです。

結論

今回の要件では、60秒のバッファは待てないので、EventBridgeでイベントルールを作って同じようにConnectedToSystemTimestampが含まれているかを確認してみます。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS ,

  関連記事

AWS Lambda(Python)でDynamoDB テーブルを日次で削除/作成(オートスケーリング付き)

この記事はAWS #2 Advent Calendar 2018に参加した記事で …

AWS Organizations組織でCompute Optimizerを有効にしました

OrganizationsでCompute Optimizerの信頼されたアクセ …

Cloud9のデフォルト設定での権限確認(AWS managed temporary credentials)

Cloud9の環境を作成した際のデフォルトアクセス権限は、環境を作成したIAMユ …

AWS Storage Gatewayボリュームゲートウェイを作成してWindowsから使用

ボリュームゲートウェイの作成 Storage Gateway作成メニューからボリ …

Amazon CloudSearchからAmazon Elasticsearch Serviceへ変えました

全文検索をする必要がありまして、本当はCloudSearchを使い続けたいのです …

Amazon CloudWatch Anomaly Detectionをダッシュボードに設定

Amazon CloudWatch クロスリージョンクロスアカウントダッシュボー …

CodeBuildで執筆原稿データをまとめた

今書いている原稿に対して編集者さんから、「できればで構わないのですが、章ごとにマ …

WordPressで発生した「No space left on device」に対応

CloudWatch Logsメトリクスフィルターで「No space left …

Amazon Connect 発信イベントをEventBridgeで確認

Amazon Connectから発信した電話に出たのか、出なかったのかを確認した …

RocketChatからOutgoing Webhookで呼び出されたAPI Gatewayでtokenをリクエスト検証する

本来はWAFでやったほうがよさそうですが、追加料金を発生させたくない場合にAPI …