使用扩展点自定义屏幕弹出
您可以使用扩展点在适用于 Salesforce 的 Genesys Cloud 中自定义屏幕弹出行为。 扩展点使用 Salesforce Apex 编程语言。
必备
- 包含 “扩展点设置” 部分的托管软件包的版本。 有关详细信息,请参阅 配置扩展点。
在 Salesforce 中,使用实现 purecloud.ctiEx.ScreenPop 界面的 Apex 类创建单个 Apex 文件。 将 Apex 类定义为全局类,以便集成可以调用代码。
purecloud.cti.Screenpop 界面
包含一个方法签名,您可以定义该签名来自定义 Genesys Cloud 适用于 Salesforce 的屏幕弹出功能。
使用
使用 purecloud.cti.ScreenPop 界面中的方法签名来定义屏幕弹出功能的工作方式。
onScreenPop 方法
用于驱动屏幕弹出逻辑。
此方法用于入站警报交互。 对于每次警报交互,每个代理仅调用一次 OnScreenPop 。 该方法可以返回更改默认屏幕弹出行为的数据。
如果 Apex 代码触发异常,则集成将执行默认的屏幕弹出行为。 如果未返回任何值,则集成将抑制屏幕弹出行为。
输入属性
传递给方法的 JSON 数据中包含以下属性。
姓名 | 数据类型 | 描述 | 注释 |
---|---|---|---|
搜索值 | 字符串 | 搜索值。 | 示例值: 电子邮件地址(用于聊天和电子邮件互动)、电话号码(用于语音和短信互动)。 |
交互 | 对象 | 表示交互数据的数据对象。 | 有关详细信息,请参阅 精简对话信息中的数据对象格式。 |
输出属性
姓名 | 数据类型 | 描述 | 注释 |
---|---|---|---|
url | 字符串 | Salesforce 中页面的 URL。 | 可以是标准 Salesforce 页面、Visualforce 页面或包含来自架构师流程的预填充数据的新记录页面。 |
搜索值 | 字符串 | 在 Salesforce 记录中搜索的值。 |
可以是案例编号、电话号码、联系人姓名或其他项目。 有关更多信息,请参阅 Genesys Cloud 适用于 Salesforce 的 屏幕弹出窗口中的软件电话布局设置部分。 |
默认 ScreenPop | 布尔值 | 执行默认屏幕弹出 (true) 或不执行默认屏幕弹出 (false)。 |
有关更多信息,请参阅 Genesys Cloud 适用于 Salesforce 的 屏幕弹出窗口中的默认屏幕弹出行为部分。 |
有关更多信息,请参阅 Genesys Cloud 中的 屏幕弹出窗口。
示例
- 将 Apex 类定义为全局类,以便集成可以调用代码。
- 如果实现多个扩展点(或接口),请将它们全部放在同一个 Apex 文件中。
global class MyCTIExtensions implements purecloud.CTIExtension.ScreenPop {
public String onScreenPop(String data) {
// Example: Find a recent Case record by phone number. if not found, fall back to default screen pop behavior.
Map<String, Object> screenPopData = (Map<String, Object>) JSON.deserializeUntyped(data);
Map<String, Object> dataToReturn = new Map<String, Object>();
String phoneNumber = (String) screenPopData.get('searchValue');
if (String.isNotBlank(phoneNumber)) {
List cases = [SELECT Id FROM Case WHERE ContactPhone =: phoneNumber ORDER BY LastModifiedDate DESC LIMIT 1];
if (cases.size() > 0) {
dataToReturn.put('url', cases.get(0).Id);
return JSON.serialize(dataToReturn);
}
}
dataToReturn.put('defaultScreenPop', true);
return JSON.serialize(dataToReturn);
}
}
有关更多信息,请参阅适用于 Salesforce 的 Genesys 云中的 扩展点。
有关集成的更多信息,请参阅 关于适用于 Salesforce 的 Genesys Cloud。