Agent Assist 界面模块及其连接器之间的所有通信都通过自定义事件进行。界面模块连接器有助于在代理桌面和界面模块之间传递事件。
例如,收到 Agent Assist 建议时,界面模块连接器服务会向界面模块分派 analyze-content-received
事件,并且这些模块会订阅此类事件。
自定义事件详情
如需查看界面模块事件及其载荷的完整列表,请参阅 界面模块事件 API 文档。
如需手动调度自定义事件,请使用以下语法:
dispatchAgentAssistEvent('event_name', {
detail: event_payload,
});
以下示例展示了如何调度 analyze-content-received
事件:
if (newMessageFromHumanAgent) { dispatchAgentAssistEvent('analyze-content-received', { detail: { participantRole: 'HUMAN_AGENT', request: { textInput: {text: newMessageFromHumanAgent}, messageSendTime: new Date().toISOString() } } }); }
分派自定义事件后,您会在界面模块连接器服务中看到以下内容:
this.api.analyzeContent(...).then(function (response) {
dispatchAgentAssistEvent('analyze-content-response-received', {
detail: {response: response}});
});
您将在模块中看到以下内容:
addAgentAssistEventListener('analyze-content-response-received', function (event) {
// Use the AnalyzeContent response to render suggestions in the UI.
});
如需手动订阅自定义事件,请使用以下语法:
addAgentAssistEventListener('event_name', function (event) {
// `event.detail` contains the event payload.
});
以下示例展示了自定义事件订阅:
addAgentAssistEventListener('smart-reply-selected', function (event) { var chipContent = event.details; // Populate the agent chat box with the selected Smart Reply chip. });
自定义界面模块连接器
您还可以使用自定义事件创建自己的自定义界面模块连接器,以便将界面模块集成到 Agent Assist 不支持的客服人员桌面。如需详细了解如何实现模块和连接器,请参阅实现文档。
如果您要将 Agent Assist 界面模块集成到没有预构建界面模块连接器的任何客服人员桌面,则需要编写自定义连接器。创建自定义界面模块连接器后,请返回界面模块实现文档,详细了解如何配置连接器和实现模块。您可以将自定义界面模块连接器与托管容器或单个模块搭配使用。
自定义界面模块连接器必须负责以下操作:
- 调度事件以选择活跃对话。这将初始化对话及其参与者。
事件名称:
active-conversation-selected
- 对于聊天对话,每当代理或客户注册新话语时,分派事件。
事件名称:
analyze-content-requested
- 在主要应用中切换“深色模式”时通知模块系统。
事件名称:
dark-mode-toggled
此外,自定义界面模块连接器必须订阅以下事件,以便在适用情况下更新代理桌面界面:
- 对于智能回复,每当选择智能回复条状标签时,更新客服人员的输入字段。
事件名称:
smart-reply-selected
。 - 对于生成式知识辅助,每当将知识辅助回答粘贴到输入框中时,请更新客服人员的输入字段。
事件名称:
knowledge-assist-v2-answer-pasted
。