将自定义服务台与 Orchestrate Chat 集成
版权:年份:2025 最后更新:"2025-04-24"
定制服务台可让企业高效地管理和解决用户请求、问题或事件。 通过根据您的具体需求定制体验,它可以提高客户满意度,提升运营效率,并提供更好的可视性和控制。
先决条件
在开始集成之前,您需要创建一个符合 Orchestrate Chat 服务台模型标准的对象或类。 请在此处下载所需的接口。
只有在将 watsonx Assistant 添加为协作代理时,Orchestrate Chat才支持自定义服务台集成。 必须在 watsonx Assistant 中配置该集成。
集成概述
Orchestrate Chat 支持与定制服务台或联络中心集成,从而使用户能够与人工座席互动。 整合:
根据 Orchestrate Chat 服务台模型创建符合要求的对象或类。 更多信息,请参阅先决条件。
在 Orchestrate Chat 配置中实施一个工厂函数 ,在收到请求时返回一个新的集成实例。
定制服务台集成的要求
要使用 Orchestrate Chat,您的服务台必须
支持基于浏览器的通信。
遵守 Orchestrate Chat 的界面标准。
提供 HTTP 端点或 WebSocket 接口:
开始聊天
接收用户信息。
向用户发送代理信息。
集成步骤
要启用 Orchestrate Chat 与自定义服务台之间的通信,您必须
开发集成代码 ,以处理启动聊天和向代理发送消息等操作。 确保它符合 Orchestrate Chat 的 API 规范。
通过工厂功能公开集成 ,以便 Orchestrate Chat 可以访问和运行它。
将集成代码包含在网站中或单独托管。
该代码并非托管在 watsonx Orchestrate 上,而是托管在您自己的服务器上。
处理机密
如果您的服务台需要保密信息(如 API 密钥):
使用服务器端中间件代理请求。
中间件会在转发请求前添加所需的机密。
跨源请求
如果您的服务台托管在不同的域上:
请确保它支持 CORS。
如果没有,则通过服务器代理请求。
集成实例
下面的基本示例展示了如何注册使用工厂函数的自定义服务台集成:
<script>
// Define your custom service desk class
class MyServiceDesk {
constructor(parameters) {
this.callback = parameters.callback;
console.log("Service Desk started", parameters);
}
getName() {
return 'MyServiceDesk';
}
startChat() {
// Start chat logic
// Call callback.agentJoined when an agent joins
// Call callback.sendMessageToUser when agent sends a message
}
endChat() {
// End chat logic
}
sendMessageToAgent() {
// Send user message to agent
}
}
// Register the integration with Orchestrate Chat
window.wxOConfiguration = {
orchestrationID: '...',
serviceDesk: {
customFactory: (parameters) => new MyServiceDesk(parameters),
},
};
</script>
API 概述
Orchestrate Chat 提供公共 API,用于与自定义服务台集成。 您必须实施整合:
startChat:聊天开始时通知服务台。sendMessageToAgent:向代理发送用户信息。
Orchestrate Chat 还提供回调功能,以便服务台做出回应:
agentJoined:有代理加入时发出通知。sendMessageToUser:从代理向用户发送信息。
路由与通信
serviceDesk.customFactory属性必须返回一个具有所需方法的对象或类。工厂接收一个回调对象 ,您的集成使用该对象与 Orchestrate Chat 进行通信。
客服人员的聊天记录
Orchestrate Chat 提供在代理界面显示聊天记录的配置。 客服人员可以查看与用户的过往对话。
互动流程
典型的互动方式如下
Orchestrate Chat 会初始化使用
customFactory的自定义服务台的单个实例。用户发送信息后,
connect_to_agent。如果已实施,Orchestrate Chat 会调用
areAnyAgentsOnline来检查代理的可用性。用户点击请求代理。
协调聊天呼叫
startChat,启动与服务台的会话。横幅通知用户正在连接一个代理。
当代理加入时,您的集成会调用
callback.agentJoined。代理信息通过
callback.sendMessageToUser发送。用户信息通过
sendMessageToAgent发送。聊天结束时,Orchestrate Chat 会调用
endChat。
API 详细信息
要将自定义服务台与 Orchestrate Chat 集成,您需要实现 TypeScript 接口中定义的特定方法。
实现方法(来自自定义服务台界面)
您的整合必须包括以下方法:
getName:返回服务台的名称。startChat:开始新的聊天会话。endChat:结束当前聊天会话。sendMessageToAgent:向代理发送用户信息。areAnyAgentsOnline(可选) :检查当前是否有可用的代理。
回调方法(来自 ServiceDeskCallback 接口)
通过这些方法,您的服务台可以向 Orchestrate Chat 发送更新:
agentEndedChat:代理结束了聊天。agentJoined:代理加入了聊天。agentLeftChat:代理退出聊天。agentTyping:代理正在打字。beginTransferToAnotherAgent:开始向另一个代理转移。sendMessageToUser:从代理向用户发送信息。setErrorStatus:向 Orchestrate Chat 报告错误状态。
支持的响应类型
callback.sendMessageToUser 方法用于向用户显示信息。
支持的格式:
简单文本字符串 :显示基本文本信息。
MessageResponse 对象 :Orchestrate Chat 使用的结构化格式(仅支持部分类型)。
目前,自定义服务台集成仅支持文本(简单字符串) 响应类型。