在 Salesforce 中进行编辑

注意: 本文适用于适用于 Salesforce 的 Genesys 云。

您可以将集成配置为在 Salesforce Classic 的 Salesforce 控制台或所有版本的闪电体验(使用 PostMessage API 或闪电消息服务)中触发或侦听事件。 事件的类型以及触发或监听事件的方式取决于您使用的 Salesforce 用户界面。

注意: 这篇高级自定义文章面向熟悉 Salesforce 的开发人员。

重要提示: Genesys 建议闪电体验的新开发应使用闪电消息服务 (LMS),而不是 PostMessage API。 Salesforce 计划在 20 年夏季发布 LMS。 Genesys 最终将弃用 PostMessage Web API。

通过 Salesforce 控制台集成工具包中的事件模型,集成将触发并侦听围绕以下项目引发的事件:

  • 状态更改(例如 “可用”、“忙碌”、“离开”、“不在办公室” 和 “队列中”)
  • 呼叫活动(已连接、断开连接、需要 ACW、ACW 已完成)
  • 交互状态更改(接听、断开连接、静音、保持、安全暂停、BlindTransfer、ConsultTransfer、ConsuldTransfer、SecureSession)

开发人员可以创建使用这些事件的 Visualforce 页面。 有关代码示例,请 参阅 Salesforce 经典控制台应用程序 (GitHub) 中的事件

有关 Salesforce 控制台的信息,请参阅 Salesforce 文档中的使用 Salesforce Classic 中的自定 义组件自定义控制台。

有关使用事件模型的信息,请参阅 Salesforce 文档 中的 Salesforce Classic 版 Salesforce 控制台集成工具包。

集成可以触发以下事件并将其发送给 Salesforce。

注意: 这些事件名称以 in.salesforce.constants.consoleevent.pc. 开头,后跟列表中的名称,例如,在 .Salesforce.Constants.Consoleevent.pc.update_Status 中。

ACW_ 已完成

ACW 已完成。

参数

姓名 数据类型 描述 注释
原因 字符串 事件的类型。
交互 字符串 交互的 ID。

示例

{
    "reason": "acw_completed",
    "interactionId": "44560c74-5e84-4062-94b6-5680cdeb54d5" 
}

ACW_ 必填

需要 URI。

参数

姓名 数据类型 描述 注释
原因 字符串 事件的类型。
交互 字符串 交互的 ID。

示例

{ 
    "reason": "acw_required",
    "interactionId": "44560c74-5e84-4062-94b6-5680cdeb54d5"
}

CLIENT_EVENT

客户端事件。

参数

姓名 数据类型 描述 注释
原因 字符串 事件的类型。
数据 对象 请参阅 数据对象

数据对象

定义操作。

参数

姓名 数据类型 描述 注释
类别 字符串 事件的类型。

有关更多信息,请参阅 Genesys 云嵌入式框架文档中的每种订阅类型的 事件 (Genesys Cloud 开发人员中心)。

数据 对象

示例

{
    "reason": "client",
    "data": {
        "type": "Notification",
        "category": "interactionSelection",
	"data": { }
    }
}

 

INTERACTION_EVENT

交互状态发生变化。

参数

姓名 数据类型 描述 注释
原因 字符串 操作的类型。
数据 对象 请参阅 数据对象

数据对象

定义操作。

参数

姓名 数据类型 描述 注释
类别 字符串 事件的类型。 有效值: 更改,添加。
数据 对象

示例

{
    "reason": "interaction",
    "data": {
	"category": "change",
	"data": { }
    }
}

互动 _ 已连接

互动已连接。

参数

姓名 数据类型 描述 注释
原因 字符串 事件的类型。
交互 字符串 交互的 ID。

示例

{
    "reason": "connected",
    "interactionId": “44560c74-5e84-4062-94b6-5680cdeb54d5″
}

互动 _ 断开连接

对话已断开

参数

姓名 数据类型 描述 注释
原因 字符串 事件的类型。
交互 字符串 交互的 ID。

示例

{
    "reason": "disconnected",
    "interactionId": “44560c74-5e84-4062-94b6-5680cdeb54d5″
}

LOGGED_OUT

用户已注销。

参数

姓名 数据类型 描述 注释
原因 字符串 事件的类型。

示例

{
    "reason": "logged_out"
}

UPDATE_STATUS

用户已注销。

参数

姓名 数据类型 描述 注释
原因 字符串 事件的类型。
状态 字符串 座席的状态。
id 字符串 所选状态的 ID(主要或次要)。
sub_status 字符串 座席的辅助状态。 如果集成使用辅助状态,则响应将包含次要状态信息。

示例

{
    "reason": "status_updated",
    "status": "AVAILABLE",
    "id": "44560c74-5e84-4062-94b6-5680cdeb54d5",
    "sub_status":"Available Work At Home"
}

集成显示有关状态更改和座席状态更改的以下操作。

注意: 这些操作以 in.salesforce.constants.console 事件. 开头,后跟列表中的名称,例如,在 .salesforce.constants.consoleevent.changesttatus 中。

添加关联

在互动日志中添加新的联系人或关系关联。

参数

姓名 数据类型 描述 注释
数据 对象 请参阅 数据对象

数据对象

定义操作。

参数

姓名 数据类型 描述 注释
类型 字符串 协会的类型。

价值观: 联系和关系。

联系人值填充姓名菜单和关系值填充相关嵌入式客户端界面的交互日志视图中的菜单。

注意: 确保将联系人值与 WhoID 相关联,将关系值与 Salesforce 中任务记录的 WhatID 相关联。 如果您关联了不兼容的记录字段,则任何保存通话记录的请求都会失败。 有关任务记录字段的更多信息,请参阅 Salesforce 文档

id 字符串 协会的 ID。
文本 字符串 显示的协会名称。
选择 布尔值
  • 真的: 集成会自动为所有活动交互选择关联。
  • 假的: 集成不会自动为所有活动交互选择关联。
交互 字符串 接收关联的交互的 ID。  如果 sel ect 设置为 true,则集成仅将关联添加到与此 ID 的交互中。

示例

在此示例中,集成在交互中添加了一个新联系人关联,ID 为 1234,显示的姓名为 John Smith。

{ 
  "type": "PureCloud.addAssociation",  
  "data": { 
      "type": "contact", 
      "id": "1234", 
      "text": "John Smith"
   } 
}

添加自定义属性

向交互添加自定义属性。

参数

姓名 数据类型 描述 注释
数据 对象 请参阅 数据对象

数据对象

定义操作。

参数

姓名 数据类型 描述 注释
id 字符串 交互的 ID。
属性 对象 自定义交互属性的键值对。

示例

{ 
    "data": {
        "id": "1234-1234-1234-1234",
        "attributes": {
            "record_url": "/0000413456"
        }
    }
}

更改州

更新交互的状态。

参数

姓名 数据类型 描述 注释
数据 对象 请参阅 数据对象

数据对象

定义操作。

参数

姓名 数据类型 描述 注释
操作 字符串 所需的交互状态。

价值观: 取件、断开连接、保持、静音、安全暂停、BlindTransfer、ConsultTransfer、ConsuldTransfer、SecureSession。 

只能使用 ConcludeTransfer 进行咨询转移,使用 SecureSession 进行安全的 IVR 流程。

id 字符串 交互的 ID。
参与者上下文 对象 参见参与者上下文对象 操作 设置为 BlindTransferConsul tTransfer 时才使用参与者上下文
安全会话上下文 对象 请参见 SecureSessionContext 对象 操作 设置为 SecureS ession 时才使用 SecureSessionContext

参与者上下文对象

定义接收转移的实体。

参数

姓名 数据类型 描述 注释
转接目标 字符串 外部转移的座席或队列的 ID、流名称、流程 ID 或电话号码。

在流名称或流程 ID 前加上 sip:,例如,SIP: AuditorSecureFlow。

使用 encodeURICOponent () 方法对特殊字符进行编码。

转移目标类型 字符串 转移实体的类型。

价值观: 用户 ID、queueID、地址。

TransferTarget 中使用 带有流程名称、流程 ID 或电话号码的 地址进行外部转账

SecureSessionContext 对象

定义接收转移的实体。

参数

姓名 数据类型 必填或可选 描述 注释
FlowID 字符串 必需 用于接收传输的交互组件的安全流的 ID。
用户数据 字符串 必需 客户提供的数据。

映射到安全流程中的 flow.invocationData 变量。

警告: 请勿将安全数据或 PCI 数据用于 UserData

断开 布尔值 可选 创建安全会话后断开交互连接 (true) 或在创建安全会话后不断开交互连接 (false)。

示例

以下示例显示了在没有咨询的情况下转移到座席或队列的交互。

{
    "data": {
        "action": "blindTransfer",
        "id": "1234-1234-1234-1234",
        "participantContext": {
            "transferTarget": "3175550123",
            "transferTargetType": "address"
        }
    }
}

以下示例显示了传输到安全 IVR 流的交互。

{
    "data": {
        "action": "secureSession",
        "id": "1234-1234-1234-1234",
        "secureSessionContext": {
            "flowId": "741f4f39-7a94-470d-a1dd-dd68d01e0dd8",
            "userData": "hello",
            "disconnect": false
        }
    }
}

更改状态

更新用户状态。

参数

姓名 数据类型 描述 注释
数据 对象 请参阅 数据对象

数据对象

定义操作。

参数

姓名 数据类型 描述 注释
id 字符串 交互的 ID。

示例 

{
    "data": {
        "id": "1234-1234-1234-1234"
    }
}

创建会议

通过多次互动创建会议。

参数

姓名 数据类型 描述 注释
数据 对象 请参阅 数据对象

 

数据对象

定义操作。

参数

姓名 数据类型 描述 注释
InteractionID 阵列 添加到会议的交互 ID 列表。

示例 

{
    "data": {
        "interactionIds": [ 
            "9641cedc-4cc2-48e1-84f7-fc4xxxx513e8", 
            "5eafbfc4-6ff4-40e4-a2d7-dxxxxxxxx809", 
            "363ba2ca-xxxx-405e-bebe-fc59b1ae517b"  
         ]
    }
}

订阅

订阅客户端事件。

参数

姓名 数据类型 描述 注释
数据 对象 请参阅 数据对象

 

数据对象

定义操作。

参数

姓名 数据类型 描述 注释
类型 字符串 要订阅的活动类型。 价值观: 交互、通知、用户操作。
类别 字符串数组 要接收相关通知的各个类别。 价值观: 请参阅每种订阅类型的 事件

每种订阅类型的事件

事件 类别 数据
交互 数据类型 字符串可能的值: 添加、更改、连接、断开连接、acw、取消分配、回调已放置、回调已结束、盲目转移、ConsultTransfer、完全咨询转移、SecureSession。 数据类型 对象或交互组件 ID
通知 数据类型 字符串 可能的值: 交互选择、聊天更新、交互窗口、对话转录。
用户操作 数据类型 字符串 可能的值: 登录、注销、工作站、状态、模态、路由状态、视图。 数据类型 对象路由

示例

{
    "data": {
        "type": "Notification",
        "categories": ["interactionSelection", "chatUpdate", "interactionWindow", "conversationTranscription"]
    }
}

有关如何接收订阅的客户端事件的消息的详细信息,请参阅事件中的 CLIENT_EVENT。

通过 PostMessage Web API,集成可以触发和侦听围绕状态更改、交互状态更改以及订阅交互、通知或 UserActions 事件引发的事件。

有关代码示例,请参阅 Salesforce 闪电应用程序 (GitHub) 中的 事件。

事件名称 描述
握手 如果在客户端事件设置中选择了 Window.postMessage API ,则每当客户端加载时,集成都会引发一个握手事件。 握手事件提供了 Lightning 组件能够向 Genesys Cloud 面向 Salesforce 客户端触发事件所需的上下文。
交互

触发交互状态更改。

可能的值: 添加、更改、连接、断开连接、acw、取消分配、回调已放置、回调已结束、盲目转移、ConsultTransfer、完全咨询转移、SecureSession。

通知

触发通知状态更改。

可能的值: 交互选择、聊天更新、互动窗口、对话转录、消息更新。

用户操作

触发用户操作状态更改。 

可能的值: 登录、注销、工作站、状态、模态、路由状态、视图。

有关更多信息,请参阅 Genesys 云嵌入式框架文档中的每种订阅类型的 事件 (Genesys Cloud 开发人员中心)。

注意: Genesys Cloud 嵌入式框架文档中描述的所有回调参数都可以在 PostMessage 数据有效负载中找到,以及添加的根类型。 请参阅面 向 Salesforce 的与 Genesys 云进行通信 部分。

管理员配置呼叫中心设置,以便集成触发并监听事件。

  1. 在 Salesforce 中,单击 设置
  2. 搜索 已安装的软件包
  3. 构建下,单击 已安装的软件包
  4. 在 “ 已安装的软件包” 页面上,单击 Genesys Cloud 适用于 Salesforce 软件包 旁边的 配置。
  5. 客户端事件设置下,为 客户端事件消息配置以下项目
  6. 对于 客户端事件消息类型,请选择 Window.PostMessage API

    此设置会导致集成在客户端加载时引发握手事件。 

  7. (可选)对于 客户端事件类型,选择要订阅的其他事件(交互、通知和 UserAction)。 单击 箭头 将它们添加到 “ 已选” 下。
  8. (可选)选择 展开聊天通知 以接收聊天通知事件的扩展负载。
  9. 单击 “ 保存”

注意: 如果您将 Lighting 组件作为实用程序项目添加到 Lightning 应用程序中,请务必选择 “自动 启动”。 有关更多信息,请参阅 Salesforce 文档 中的向 Lighting 应用程序 添加实用工具栏。

有关详细信息,请参阅 配置客户端事件

Genesys 适用于 Salesforce 的云端客户端公开了通过 PostMessage Web API 引发的以下操作。

添加关联

在互动日志中添加新的联系人或关系关联。

参数

姓名 数据类型 描述 注释
数据 对象 请参阅 数据对象

数据对象

定义操作。

参数

姓名 数据类型 描述 注释
类型 字符串 协会的类型。

价值观: 联系和关系。

联系人值填充姓名菜单和关系值填充相关嵌入式客户端界面的交互日志视图中的菜单。

注意: 确保将联系人值与 WhoID 相关联,将关系值与 Salesforce 中任务记录的 WhatID 相关联。 如果您关联了不兼容的记录字段,则任何保存通话记录的请求都会失败。 有关任务记录字段的更多信息,请参阅 Salesforce 文档

id 字符串 协会的 ID。
文本 字符串 显示的协会名称。
选择 布尔值
  • 真的: 集成会自动为所有活动交互选择关联。
  • 假的: 集成不会自动为所有活动交互选择关联。
交互 字符串 接收关联的交互的 ID。  如果 sel ect 设置为 true,则集成仅将关联添加到与此 ID 的交互中。

示例

在此示例中,集成在交互中添加了一个新联系人关联,ID 为 1234,显示的姓名为 John Smith。

{ 
  "type": "PureCloud.addAssociation",  
  "data": { 
      "type": "contact", 
      "id": "1234", 
      "text": "John Smith"
   } 
}

交互。添加自定义属性

向交互添加自定义属性。

参数

姓名 数据类型 描述 注释
类型 字符串 操作的类型。 PureCloud + 操作名称。
数据 对象 请参阅 数据对象

数据对象

定义操作。

参数

姓名 数据类型 描述 注释
id 字符串 交互的 ID。
属性 对象 自定义交互属性的键值对。

示例

{
    "type": "PureCloud.Interaction.addCustomAttributes", 
    "data": {
        "id": "1234-1234-1234-1234",
        "attributes": {
            "record_url": "/0000413456"
        }
    }
}

互动。创建会议

通过多次互动创建会议。

参数

姓名 数据类型 描述 注释
类型 字符串 操作的类型。 PureCloud + 操作名称。
数据 对象 请参阅 数据对象

数据对象

定义操作。

参数

姓名 数据类型 描述 注释
InteractionID 阵列 添加到会议的交互 ID 列表。

示例

{
    "type": "PureCloud.Interaction.createConference", 
    "data": {
        "interactionIds": [
            "9641cedc-4cc2-48e1-84f7-fc4xxxx513e8",
            "5eafbfc4-6ff4-40e4-a2d7-dxxxxxxxx809", 
            "363ba2ca-xxxx-405e-bebe-fc59b1ae517b"
         ]
    }
}

互动 .updatState

更新交互的状态。

参数

姓名 数据类型 描述 注释
类型 字符串 操作的类型。 PureCloud + 操作名称。
数据 对象 请参阅 数据对象

数据对象

定义操作。

参数

姓名 数据类型 描述 注释
操作 字符串 所需的交互状态。

价值观: 取件、断开连接、保持、静音、安全暂停、BlindTransfer、ConsultTransfer、ConsuldTransfer、SecureSession。 

只能使用 ConcludeTransfer 进行咨询转移,使用 SecureSession 进行安全的 IVR 流程。

id 字符串 交互的 ID。
参与者上下文 对象 参见参与者上下文对象 操作 设置为 BlindTransferConsul tTransfer 时才使用参与者上下文
安全会话上下文 对象 请参见 SecureSessionContext 对象 操作 设置为 SecureS ession 时才使用 SecureSessionContext

参与者上下文对象

定义接收转移的实体。

参数

姓名 数据类型 描述 注释
转接目标 字符串 外部转移的座席或队列的 ID、流名称、流程 ID 或电话号码。

在流名称或流程 ID 前加上 sip:,例如,SIP: AuditorSecureFlow。

使用 encodeURICOponent () 方法对特殊字符进行编码。

转移目标类型 字符串 转移实体的类型。

价值观: 用户 ID、queueID、地址。

TransferTarget 中使用 带有流程名称、流程 ID 或电话号码的 地址进行外部转账

SecureSessionContext 对象

定义接收转移的实体。

参数

姓名 数据类型 必填或可选 描述 注释
FlowID 字符串 必需 用于接收传输的交互组件的安全流的 ID。
用户数据 字符串 必需 客户提供的数据。

映射到安全流程中的 flow.invocationData 变量。

警告: 请勿将安全数据或 PCI 数据用于 UserData

断开 布尔值 可选 创建安全会话后断开交互连接 (true) 或在创建安全会话后不断开交互连接 (false)。

示例

以下示例显示了在没有咨询的情况下转移到座席或队列的交互。

{
    "type": "PureCloud.Interaction.updateState", 
    "data": {
        "action": "blindTransfer",
        "id": "1234-1234-1234-1234",
        "participantContext": {
            "transferTarget": "3175550123",
            "transferTargetType": "address"
        }
    }
}

以下示例显示了传输到安全 IVR 流的交互。

{
    "type": "PureCloud.Interaction.updateState", 
    "data": {
        "action": "secureSession",
        "id": "1234-1234-1234-1234",
        "secureSessionContext": {
            "flowId": "741f4f39-7a94-470d-a1dd-dd68d01e0dd8",
            "userData": "hello",
            "disconnect": false,
        }
    }
}

用户。更新状态

更新用户状态。

参数

姓名 数据类型 描述 注释
类型 字符串 操作的类型。 PureCloud + 操作名称。
数据 对象 请参阅 数据对象

数据对象

定义操作。

参数

姓名 数据类型 描述 注释
id 字符串 交互的 ID。

示例

{
    "type": "PureCloud.User.updateStatus", 
    "data": {
        "id": "1234-1234-1234-1234"
    }
} 

订阅

订阅客户端事件。

参数

姓名 数据类型 描述 注释
类型 字符串 操作的类型。 PureCloud + 操作名称。
数据 对象 请参阅 数据对象

数据对象

定义操作。

参数

姓名 数据类型 描述 注释
类型 字符串 要订阅的活动类型。 价值观: 交互、通知、用户操作。
类别 字符串数组 要接收相关通知的各个类别。 价值观: 请参阅每种订阅类型的 事件

 

每种订阅类型的事件

事件 类别 数据
交互 数据类型 字符串
可能的值: 添加、更改、连接、断开连接、acw、取消分配、回调已放置、回调已结束、盲目转移、ConsultTransfer、完全咨询转移、SecureSession。
数据类型 对象或交互组件 ID
通知 数据类型 字符串
可能的值: 交互选择、聊天更新、交互窗口、对话转录。
用户操作 数据类型 字符串
可能的值: 登录、注销、工作站、状态、模态、路由状态、视图。
数据类型 对象路由

示例

{
 "type": "PureCloud.subscribe",
 "data": {
     "type": "Notification",
     "categories": ["interactionSelection", "chatUpdate", "interactionWindow", "conversationTranscription"]
  }
}

创建一个 Lighting 组件,以便 Salesforce 可以监听和触发在呼叫中心设置中选择的事件。 

  1. 将 Apex、组件和 JavaScript 文件添加到 Salesforce 的开发者控制台中。

    您可以从 GitHub 上的 PureCloud 适用于 Salesforce 的爱因斯坦示例 存储库下载示例文件。

    有关更多信息,请参阅 Salesforce 文档 中的 开发人员控制台文件菜单。

  2. 在 JavaScript 文件中设置源类型ID。

    此设置允许您更改客户端中的状态。

    source.postMessage({
        type: 'PureCloud.User.updateStatus',
        data: { id: status },
    }
  3. 如果管理员将集成配置为触发 “交互”、“通知” 或 “UserActions” 事件,请在 JavaScript 文件中订阅这些事件。

    有关更多信息,请参 Genesys 云嵌入式框架 文档(Genesys Cloud 开发人员中心)中的订阅 方法。

通过 Lightning Message Service,集成可以触发和侦听围绕状态更改、交互状态更改以及订阅交互、通知或 UserActions 事件引发的事件。

有关代码示例,请参阅 Salesforce 闪电应用程序 (GitHub) 中的 事件。


事件名称 描述
初始设置

表示适用于 Salesforce 的 Genesys 云客户端已准备好处理请求。 该事件表示 Lightning 组件可以订阅客户端事件。

交互

触发交互状态更改。

可能的值: 添加、更改、连接、断开连接、acw、取消分配、回调已放置、回调已结束、盲目转移、ConsultTransfer、完全咨询转移、SecureSession。

通知

触发通知状态更改。

可能的值: 交互选择、聊天更新、互动窗口、对话转录、消息更新。

用户操作

触发用户操作状态更改。 

可能的值: 登录、注销、工作站、状态、模态、路由状态、视图。

有关更多信息,请参阅 Genesys 云嵌入式框架文档中的每种订阅类型的 事件 (Genesys Cloud 开发人员中心)。

注意: Genesys Cloud 嵌入式框架文档中描述的所有回调参数都可以在 Lightning Message Service 数据负载中找到,以及添加的根类型。 请参阅面 向 Salesforce 的与 Genesys 云进行通信 部分。

管理员配置呼叫中心设置,以便集成触发并监听事件。

  1. 在 Salesforce 中,单击 设置
  2. 搜索 已安装的软件包
  3. 构建下,单击 已安装的软件包
  4. 在 “ 已安装的软件包” 页面上,单击 Genesys Cloud 适用于 Salesforce 软件包 旁边的 配置。
  5. 客户端事件设置下,为 客户端事件消息配置以下项目
  6. 对于 客户端事件消息类型,选择 Lightning 消息频道。 

    此设置会导致集成在消息频道上发送消息。 

  7. (可选)对于 客户端事件类型,选择要订阅的其他事件(交互、通知和 UserAction)。 单击 箭头 将它们添加到 “ 已选” 下。
  8. (可选)选择 展开聊天通知 以接收聊天通知事件的扩展负载。
  9. 单击 “ 保存”

注意: 如果您将 Lighting 组件作为实用程序项目添加到 Lightning 应用程序中,请务必选择 “自动 启动”。 有关更多信息,请参阅 Salesforce 文档 中的向 Lighting 应用程序 添加实用工具栏。

有关详细信息,请参阅 配置客户端事件

Genesys Cloud 适用于 Salesforce 的客户端暴露了通过闪电消息服务引发的以下操作。

添加关联

在互动日志中添加新的联系人或关系关联。

参数

姓名 数据类型 描述 注释
数据 对象 请参阅 数据对象

数据对象

定义操作。

参数

姓名 数据类型 描述 注释
类型 字符串 协会的类型。

价值观: 联系和关系。

联系人值填充姓名菜单和关系值填充相关嵌入式客户端界面的交互日志视图中的菜单。

注意: 确保将联系人值与 WhoID 相关联,将关系值与 Salesforce 中任务记录的 WhatID 相关联。 如果您关联了不兼容的记录字段,则任何保存通话记录的请求都会失败。 有关任务记录字段的更多信息,请参阅 Salesforce 文档

id 字符串 协会的 ID。
文本 字符串 显示的协会名称。
选择 布尔值
  • 真的: 集成会自动为所有活动交互选择关联。
  • 假的: 集成不会自动为所有活动交互选择关联。
交互 字符串 接收关联的交互的 ID。  如果 sel ect 设置为 true,则集成仅将关联添加到与此 ID 的交互中。

示例

在此示例中,集成在交互中添加了一个新联系人关联,ID 为 1234,显示的姓名为 John Smith。

{ 
  "type": "PureCloud.addAssociation",  
  "data": { 
      "type": "contact", 
      "id": "1234", 
      "text": "John Smith"
   } 
}

交互。添加自定义属性

向交互添加自定义属性。

参数

姓名 数据类型 描述 注释
类型 字符串 操作的类型。 PureCloud + 操作名称。
数据 对象 请参阅 数据对象

数据对象

定义操作。

参数

姓名 数据类型 描述 注释
id 字符串 交互的 ID。
属性 对象 自定义交互属性的键值对。

示例

{
    "type": "PureCloud.Interaction.addCustomAttributes",
    "data": {
        "id": "1234-1234-1234-1234",
        "attributes": {
            "record_url": "/0000413456"
        }
    }
}

互动。创建会议

通过多次互动创建会议。

参数

姓名 数据类型 描述 注释
类型 字符串 操作的类型。 PureCloud + 操作名称。
数据 对象 请参阅 数据对象

数据对象

定义操作。

参数

姓名 数据类型 描述 注释
InteractionID 阵列 添加到会议的交互 ID 列表。

示例

{
    "type": "PureCloud.Interaction.createConference", 
    "data": {
        "interactionIds": [
            "9641xxxx-4bb2-xxxx-84f7-xxxxxx8513e8",
            "5eafbfc4-6ff4-xxxx-a2d7-d23c1abbd809", 
            "363ba2ca-xxxx-405e-bebe-fc59xxxxx17b"
         ]
    }
}

互动 .updatState

更新交互的状态。

参数

姓名 数据类型 描述 注释
类型 字符串 操作的类型。 PureCloud + 操作名称。
数据 对象 请参阅 数据对象

数据对象

定义操作。

参数

姓名 数据类型 描述 注释
操作 字符串 所需的交互状态。

价值观: 取件、断开连接、保持、静音、安全暂停、BlindTransfer、ConsultTransfer、ConsuldTransfer、SecureSession。 

只能使用 ConcludeTransfer 进行咨询转移,使用 SecureSession 进行安全的 IVR 流程。

id 字符串 交互的 ID。
参与者上下文 对象 参见参与者上下文对象 操作 设置为 BlindTransferConsul tTransfer 时才使用参与者上下文
安全会话上下文 对象 请参见 SecureSessionContext 对象 操作 设置为 SecureS ession 时才使用 SecureSessionContext

参与者上下文对象

定义接收转移的实体。

参数

姓名 数据类型 描述 注释
转接目标 字符串 外部转移的座席或队列的 ID、流名称、流程 ID 或电话号码。

在流名称或流程 ID 前加上 sip:,例如,SIP: AuditorSecureFlow。

使用 encodeURICOponent () 方法对特殊字符进行编码。

转移目标类型 字符串 转移实体的类型。

价值观: 用户 ID、queueID、地址。

TransferTarget 中使用 带有流程名称、流程 ID 或电话号码的 地址进行外部转账

SecureSessionContext 对象

定义接收转移的实体。

参数

姓名 数据类型 必填或可选 描述 注释
FlowID 字符串 必需 用于接收传输的交互组件的安全流的 ID。
用户数据 字符串 必需 客户提供的数据。

映射到安全流程中的 flow.invocationData 变量。

警告: 请勿将安全数据或 PCI 数据用于 UserData

断开 布尔值 可选 创建安全会话后断开交互连接 (true) 或在创建安全会话后不断开交互连接 (false)。

示例

以下示例显示了在没有咨询的情况下转移到座席或队列的交互。

{
    "type": "PureCloud.Interaction.updateState", 
    "data": {
        "action": "blindTransfer",
        "id": "1234-1234-1234-1234",
        "participantContext": {
            "transferTarget": "3175550123",
            "transferTargetType": "address"
        }
    }
}

以下示例显示了传输到安全 IVR 流的交互。

{
    "type": "PureCloud.interaction.updateState", 
    "data": {
        "action": "secureSession",
        "id": "1234-1234-1234-1234",
        "secureSessionContext": {
            "flowId": "741f4f39-7a94-470d-a1dd-dd68d01e0dd8",
            "userData": "hello",
            "disconnect": false,
        }
    }
}

用户。更新状态

更新用户状态。

参数

姓名 数据类型 描述 注释
类型 字符串 操作的类型。 PureCloud + 操作名称。
数据 对象 请参阅 数据对象

数据对象

定义操作。

参数

姓名 数据类型 描述 注释
id 字符串 状态的 ID。

示例

{
    "type": "PureCloud.User.updateStatus",
    "data": {
        "id": "1234-1234-1234-1234"
    }
} 

订阅

订阅客户端事件。

参数

姓名 数据类型 描述 注释
类型 字符串 操作的类型。 PureCloud + 操作名称。
数据 对象 请参阅 数据对象

数据对象

定义操作。

参数

姓名 数据类型 描述 注释
类型 字符串 要订阅的活动类型。 价值观: 交互、通知、用户操作。
类别 字符串数组 要接收相关通知的各个类别。 价值观: 请参阅每种订阅类型的 事件

 

每种订阅类型的事件

事件 类别 数据
交互 数据类型 字符串
可能的值: 添加、更改、连接、断开连接、acw、取消分配、回调已放置、回调已结束、盲目转移、ConsultTransfer、完全咨询转移、SecureSession。
数据类型 对象或交互组件 ID
通知 数据类型 字符串
可能的值: 交互选择、聊天更新、交互窗口、对话转录。
用户操作 数据类型 字符串
可能的值: 登录、注销、工作站、状态、模态、路由状态、视图。
数据类型 对象路由

示例

{
 "type": "PureCloud.subscribe",
 "data": {
     "type": "Notification",
     "categories": ["interactionSelection", "chatUpdate", "interactionWindow", "conversationTranscription"]
  }
}

要订阅消息频道,请安装适用于 Salesforce 的 PureCloud 托管软件包的 3.12 版 或更高版本。 这些版本 的托管软件包包括接收所有消息的 PureCloud__ClientEvent__C 通道。 订阅 PureCloud__ClientEvent__C 后,Salesforce 可以监听并触发在呼叫中心设置中选择的事件。 

实现方法因您使用的组件而异。 以下示例代码演示了如何将 LMS 与闪电光环组件结合使用。

PureCloud__ClientEvent__C 频道上订阅闪电消息以获取 Aura 组件。

<lightning:messageChannel type="purecloud__ClientEvent__c" aura:id="clientEventMessageChannel" onMessage="{!c.onClientEvent}" scope="APPLICATION"/>

要接收闪电消息,请创建一个 onClientEvent

({
    onClientEvent: function (component, message, helper) {
        var eventData = message.getParams();
        if (eventData) {
            if(eventData.type === 'Interaction' && eventData.data.id) {
		console.log(‘Interaction ID: ‘ + eventData.data.id);
            }
        }
    }
})

要发送闪电消息,请发布 Genesys Cloud 适用于 Salesforce 的客户端监听的事件。 有关事件的列表,请参阅 与 Genesys Cloud 进行 Salesforce 通信 部分。

component.find('clientEventMessageChannel').publish({
    type: 'PureCloud.User.updateStatus',
    data: { id: status }
});

有关其他示例,请参阅 Salesforce 开发人员博客 中的 闪电消息服务 [开发人员预览版]。

有关集成的更多信息,请参阅 关于适用于 Salesforce 的 Genesys Cloud