Custom Payload Snippet

本帮助页面上的信息同时适用于 StudioDesktop Studio

当使用具有 属性的作(如customPayload)时,脚本中需要 Voicebot Exchange 自定义有效负载Textbot Conversation代码段。 它用于将数据从 CXone Mpower 传递给虚拟坐席关闭 代替现场人工坐席处理客户交互的软件应用程序。提供程序。 如需要从虚拟坐席接收自定义数据,请使用 customPayloadVarName (out) 变量。 使用此页面上的信息创建满足您组织的虚拟代理实施要求的 自定义有效负载 代码段。

以下虚拟坐席需使用此代码段:

对于所有其他虚拟坐席,仅当在有自定义有效负载数据要传递给机器人时,才需要包含该代码段。 如果使用 Dialogflow CX,请遵循包含自定义有效负载的最佳实践。 如果您未包含自定义有效负载代码段,请务必传递 placeholder 参数。

Pass a Placeholder

如果您使用不需要传递给它的信息的虚拟代理,例如 Amazon Lex V2Amazon Lex V1,请遵循以下示例:

DYNAMIC customPayload 
 customPayload.placeholder=""

Pass Data

对于必须将信息传递给虚拟代理的所有虚拟代理提供商,请遵循此示例。 将示例中的参数替换为需要传递的信息。

DYNAMIC customPayload
ASSIGN customPayload.context.id="information"
ASSIGN customPayload.context.lifespan=1
ASSIGN customPayload.context.parameters.name="Fenrir"
ASSIGN customPayload.context.parameters.age="19"
ASSIGN customPayload.context.parameters.date="20201020"			

Google Dialogflow CX 自定义有效负载

  • DialogflowCX 不像 Dialogflow ES 使用上下文将数据传递给 Dialogflow 意图关闭 联系人所说/所输入内容背后的含义或目的;联系人想要传达或达成的事情。
  • 您可以使用 JSON 键值对将自定义数据传递到 Dialogflow CX。 在脚本的 Snippet action操作中,创建一个动态 customPayload 对象,并向其添加键值。 例如:

    DYNAMIC customPayload
    customPayload.ani = ani
    customPayload.contactID = contactId
    customPayload.masterContactId = masterId
    customPayloadJSON = "{customPayload.asJSON()}"	
  • 在脚本的 Exchange 操作中,使用具有customPayload 函数asJSON()的变量配置 属性。 您可以在 customPayload 对象中找到该变量。
  • 使用 QueryParametersPayload 属性将 customPayload JSON 传递给虚拟坐席。 请参阅 Google 文档,了解 Google Dialogflow CXQueryParameters 一个方块,右上角有一个从中心向外的箭头。
  • 通过 QueryParameters 传递的数据由 Dialogflow CX 中的 Webhook 接收。 您可以在 Dialogflow CX 控制台中编写代码来处理传递的数据。
  • 不要在 customPayload 对象中嵌套对象。 嵌套的对象作为文字字符串进行发送。
  • 要将自定义数据从 Dialogflow CX 虚拟坐席传递回脚本,请使用 Dialogflow CX 控制台中的 Custom Payload 字段。 确保您位于与 CXone Mpower 结合使用的虚拟坐席的控制台中。 在脚本的 customPayloadVarName (out)VOICEBOT EXCHANGE  TEXTBOT EXCHANGE 操作中使用 Studio 变量将其映射到脚本。 例如,您可以使用此来设置下一个提示行为
  • 要将自定义数据从脚本传递到 Dialogflow CX,请在 session_params作的 customPayload 对象中使用 Snippet。 例如:

    DYNAMIC customPayload
    customPayload.session_params.name = "Winnie le Pooh" 
    customPayload.session_params.job = "Food critic" 
    customPayload.session_params.location = "Hundred Acre Wood"	

    使用以下语法访问 Dialogflow CX 坐席意图中的会话参数:

    $session.params.name = Winnie Le Pooh
    $session.params.job = Food critic
    $session.params.location = 100 Acre Wood
                    

    会话参数仅与 Dialogflow CX 虚拟坐席一起使用。 要通过 Dialogflow 获得类似的结果,请使用上下文。

  • 配置语音上下文提示自定义对话 ID以将对话转移到 Dialogflow 自定义有效负载 段中的其他 CX 虚拟座席。

  • 使用VOICEBOT EXCHANGE时:要配置联系人在讲话时暂停时虚拟坐席等待的时间,请将 maxPostEnergySilenceMS 参数添加到 Next Prompt BehaviorsDefault Next Prompt Behaviors Snippet 操作中。

Dialogflow CX 的语音上下文提示

语音上下文提示可以在 自定义有效负载 参数的 speechContexts 代码片段中传递。 voiceContexts.phrases 的值必须是您想要给出的提示的 Google 类令牌 一个方块,箭头从中心指向右上角。。 该令牌必须与您的联系人的语言和区域设置相匹配。 例如:

DYNAMIC customPayload
customPayload.speechContexts.phrases="$OOV_CLASS_ALPHANUMERIC_SEQUENCE"
customPayload.speechContexts.boost=10		

配置这些参数,如下所示:

  • speechContexts.phrases:您想要给出的提示的 Google 类令牌 一个方块,箭头从中心指向右上角。。 该令牌必须与您的联系人的语言和区域设置相匹配。 如果要添加多个令牌,请为每个令牌添加 speechContexts.phrases 参数。
  • speechContexts.boost:对指定 phrase1-20 之间的加权数值。 在为音频数据中的单词选择可能的转录时,转录服务使用该值。 该值越高,转录服务从替代选择中选择该单词或短语的可能性就越高。

您可以在 Studio 跟踪和应用程序日志中查看该参数的内容。

Dialogflow CX 虚拟坐席之间转移联系人

要设置转移联系人从一个 Dialogflow CX 虚拟座席到另一个 Dialogflow CX 虚拟座席,请在 自定义有效负载 代码片段中包含以下行。 将 custom_value 替换为保存对话 ID 的变量名称:

{
  “cxone_override_conversation“: {custom_value} 
}		

请务必设置脚本以填充使用此参数使用的变量。

必须仔细设置脚本,以便

cxone_override_conversation 参数类似于 Bot Session State snippet中设置的机器人会话状态 ID。 两者都有助于虚拟代理维护轮次之间对话的上下文。 必须仔细设置脚本,以便机器人会话状态 ID 和对话 ID 值显示在正确的位置。 机器人会话状态始终优先于 cxone_override_conversation 参数。 按如下方式设置脚本:

虚拟坐席# 转# 配置
1 1 作的 Voicebot EXCHANGEbotSessionStateTextbot EXCHANGE 属性为空。 轮次返回机器人会话状态 ID 并填充botSessionStateVarName (out)。 这是机器人会话状态 ID #1。

1

使用此虚拟代理的 2 个及更高版本 该脚本将机器人会话状态 ID #1 发送到 Dialogflow CX 虚拟代理 #1。 将向脚本返回相同的 ID。
2 3 (首先使用此虚拟代理)

作的 Voicebot EXCHANGEbotSessionStateTextbot EXCHANGE 属性为空。

此轮次的自定义负载代码段包含 cxone_override_conversation = [variable]

该轮次返回唯一的机器人会话状态 ID 并填充botSessionStateVarName (out),覆盖它已包含的任何值。 这是机器人会话状态 ID #2。

2 4(使用此虚拟代理的第二回合) 该脚本将机器人会话状态 ID #2 发送到 Dialogflow CX 虚拟代理 #2。 将向脚本返回相同的 ID。

如果您使用两个以上的 Dialogflow CX 实例,则模式将继续如上表中建立的那样。

仅当在两个或多个 Dialogflow CX 虚拟座席之间转移时,才需要这种在虚拟座席之间转移的方法。 如果您在其他虚拟代理提供商之间转移,则可以使用Bot Session 状态 ID

Google Dialogflow ES 自定义有效负载

  • CustomPayload 用于传递意图关闭 联系人所说/所输入内容背后的含义或目的;联系人想要传达或达成的事情。的上下文。 上下文有助于虚拟坐席理解用户的意图。 上下文不是必需的,但有助于虚拟坐席将话语关闭 联系人所说或输入的内容。与意图相匹配。
  • 在脚本的 Snippet 操作中,创建一个 customPayload 对象,其遵循 REST 资源: projects.agent.sessions.contextGoogle Dialogflow ES 文档指示链接到外部网站的图标中概述的格式。 Studio 联机帮助提供有关动态数据对象的附加信息。
  • 您还可以在没有上下文的情况下使用 customPayload 传递自定义数据。 为此,请在动态数据对象中包含标准的 JSON 键值对。
  • 语音上下文在 speech_contact 参数中的自定义有效负载中进行传递。 您可以在 Studio 跟踪和应用程序日志中查看该参数的内容。
  • customPayload 动态对象以 JSON 格式作为虚拟坐席参数传递,如示例脚本中所示。
  • 配置语音上下文提示自定义有效负载 snippet 中。

DialogflowES 的语音上下文提示

语音上下文提示可以在 自定义有效负载 参数的 speechContexts 代码片段中传递。 voiceContexts.phrases 的值必须是您想要给出的提示的 Google 类令牌 一个方块,箭头从中心指向右上角。。 该令牌必须与您的联系人的语言和区域设置相匹配。 例如:

DYNAMIC customPayload
customPayload.speechContexts.phrases="$OOV_CLASS_ALPHANUMERIC_SEQUENCE"
customPayload.speechContexts.boost=10		

配置这些参数,如下所示:

  • speechContexts.phrases:您想要给出的提示的 Google 类令牌 一个方块,箭头从中心指向右上角。。 该令牌必须与您的联系人的语言和区域设置相匹配。 如果要添加多个令牌,请为每个令牌添加 speechContexts.phrases 参数。
  • speechContexts.boost:对指定 phrase1-20 之间的加权数值。 在为音频数据中的单词选择可能的转录时,转录服务使用该值。 该值越高,转录服务从替代选择中选择该单词或短语的可能性就越高。

您可以在 Studio 跟踪和应用程序日志中查看该参数的内容。