启用 Pub/Sub 通知后,您可以在每次 CX Insights 事件完成时收到通知。您可以将 CX Insights 配置为针对所有事件或仅针对指定事件发送通知。如需详细了解可触发 Pub/Sub 通知的事件,请参阅参考文档。
前提条件
- 按照说明创建 Pub/Sub 主题和拉取订阅。
启用 Pub/Sub 通知
您可以将 CX Insights 配置为仅针对特定事件或针对所有事件发送通知。以下代码示例将 CX Insights 配置为仅在每次创建对话或分析时发送通知。
REST
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目 ID。
- TOPIC_ID:通知主题的 ID(例如,每次创建对话时都发送通知)。每个通知主题都应具有唯一的 ID。
HTTP 方法和网址:
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}"} |