自定义事件和自定义界面模块连接器

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 界面模块集成到没有预构建界面模块连接器的任何客服人员桌面,则需要编写自定义连接器。创建自定义界面模块连接器后,请返回界面模块实现文档,详细了解如何配置连接器和实现模块。您可以将自定义界面模块连接器与托管容器或单个模块搭配使用。

自定义界面模块连接器必须负责以下操作:

  1. 调度事件以选择活跃对话。这将初始化对话及其参与者。 事件名称:active-conversation-selected
  2. 对于聊天对话,每当代理或客户注册新话语时,分派事件。 事件名称:analyze-content-requested
  3. 在主要应用中切换“深色模式”时通知模块系统。 事件名称:dark-mode-toggled

此外,自定义界面模块连接器必须订阅以下事件,以便在适用情况下更新代理桌面界面:

  1. 对于智能回复,每当选择智能回复条状标签时,更新客服人员的输入字段。 事件名称:smart-reply-selected
  2. 对于生成式知识辅助,每当将知识辅助回答粘贴到输入框中时,请更新客服人员的输入字段。 事件名称:knowledge-assist-v2-answer-pasted