Pub/Sub 通知を有効にすると、CX Insights イベントが完了するたびに通知を受け取ることができます。すべてのイベントまたは指定したイベントのみの通知を送信するように CX Insights を構成できます。Pub/Sub 通知をトリガーできるイベントの詳細については、リファレンス ドキュメントをご覧ください。
前提条件
- 手順に沿って、Pub/Sub トピックと pull サブスクリプションを作成します。
Pub/Sub 通知を有効にする
特定のイベントのみ、またはすべてのイベントについて通知を送信するように CX Insights を構成できます。次のコードサンプルは、会話または分析が作成されるたびにのみ通知を送信するように CX Insights を構成します。
REST
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- TOPIC_ID: 通知トピックの ID(会話が作成されるたびに通知するなど)。各通知トピックには一意の ID が必要です。
HTTP メソッドと URL:
PATCH https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/settings?updateMask=pubsub_notification_settings
リクエストの本文(JSON):
{
"pubsub_notification_settings": {
"create-conversation": "projects/PROJECT_ID/topics/TOPIC_ID_1",
"create-analysis": "projects/PROJECT_ID/topics/TOPIC_ID_2"
},
}
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{
"name": "projects/PROJECT_ID/locations/us-central1/settings",
"createTime": "2021-01-20T10:10:10.123000Z",
"updateTime": "2021-01-20T11:11:11.456000Z",
"pubsubNotificationSettings": {
"create-conversation": "projects/PROJECT_ID/topics/TOPIC_ID_1",
"create-analysis": "projects/PROJECT_ID/topics/TOPIC_ID_2"
}
}
Python
CX Insights で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Java
CX Insights で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Node.js
CX Insights で認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Pub/Sub メッセージの内容
Pub/Sub メッセージの内容は、その Pub/Sub 通知をトリガーするイベントによって異なります。
| トリガー | メッセージ データ | メッセージ属性 |
|---|---|---|
| create-analysis | レスポンスが分析である長時間実行オペレーション | {"operation_name": "projects/{project}/locations/{location}/operations/{operation}"} |
| create-conversation | 会話 | {"conversation_name": "projects/{project}/locations/{location}/conversations/{conversation}"} |
| export-insights-data | レスポンスが空の長時間実行オペレーション | {"operation_name": "projects/{project}/locations/{location}/operations/{operation}"} |
| ingest-conversations | レスポンスが空の長時間実行オペレーション | {"operation_name": "projects/{project}/locations/{location}/operations/{operation}"} |
| update-conversation | 会話 | {"conversation_name": "projects/{project}/locations/{location}/conversations/{conversation}"} |
| upload-conversation | レスポンスが空の長時間実行オペレーション | {"operation_name": "projects/{project}/locations/{location}/operations/{operation}"} |