衍生脚本

衍生脚本可使您手动运行脚本。它还用于从其他脚本或外部进程启动脚本。您还可以使用它来测试脚本。测试时,可将其与脚本跟踪一起使用。

要测试脚本,您可以衍生:

要从其他脚本或进程启动脚本:

  • 在调用脚本中使用 SPAWN action
  • 使用 POST /scripts/start 一个正方形图标,箭头从中心指向右上角。 API。这是从任何外部进程衍生脚本的推荐解决方案。
  • 使用“ACD 脚本”页面中的快捷方式 URL。

脚本参数

脚本参数允许将数据传递到脚本中。这些数据可能来自其他脚本,包括系统脚本,也可能来自外部源,例如 CRM关闭 管理联系人、销售信息、支持详细信息和案例历史记录等事项的第三方系统。 或 API。它通过 pN 被传递到pX变量 p1 的脚本中,其中 N 是衍生方法支持的参数的最大数量。您可以使用上一节中列出的任何选项指定在衍生脚本时要传递到脚本中的数据。

如果要更改这些参数变量的名称,则可以使用新名称在衍生脚本中配置 Begin 操作。当脚本处理 BEGIN 操作时,pX 变量将被转换为新名称。如果不指定新名称,这些变量将保留 pX 名称。

在将数据传递到脚本中时,您可以在trace中看到它。选择 BEGIN 操作可查看跟踪输出变量列表中的参数变量。如果您已使用新变量名称配置了 BEGIN 操作,请在脚本跟踪中选择 BEGIN 后面的操作来查看它们。

根据这些值的来源,您可能会在跟踪输出中看到所有 pX 变量,或者仅看到保存值的变量。从“ACD 脚本”页面进行的衍生会在所有 pX 变量中进行传递。您未指定值的那些变量会保留空字符串。对于其他衍生方法,参数变量仅在具有值时才存在。

自定义参数:

  • 最多支持: 
    • 通过快捷方式 URL 衍生时,每个值 100 个字符。
    • 使用 SPAWN 操作衍生时,每个值 32 KB。
    • 由 API 衍生时,对于所有参数(包括管道分隔符),总计 32 KB。
  • 支持变量替换。在大括号 ( { } ) 中输入变量名称。
  • 根据衍生方法,支持不同数量的参数:
    • 通过 URL 或“ACD 脚本”页面衍生时,1-9 个参数。
    • 通过 SPAWN 操作或 API 衍生时,1-20 个参数。
  • 不支持动态数据对象。必须首先将对象转换为 JSON 字符串

示例

此示例显示自定义参数如何从调用应用程序或脚本传递到子脚本。在此示例中,在 BEGIN 操作中更改了部分变量名称,但不是全部,因此您可以了解在任何一种情况下会发生什么。

下图显示已使用 IBVoice ACD 技能关闭 用于根据坐席的技能、能力和知识自动传递交互和四个自定义参数值(value1value2value3value4)从“ACD 脚本”页面衍生了 IBVoice 脚本。

下图显示了 IBVoice 脚本中的 BEGIN 操作,该脚本在参数属性的前三行中配置有新变量名称。这些新名称为 newVar1newVar2newVar3

接下来的两个图像显示了跟踪输出中的衍生结果。此图显示了 Begin 操作,其中包含 p1p2p3p4 变量中的四个脚本参数值。

最终图像显示了 BEGIN 操作完成处理后脚本中的变量。您可以通过单击脚本中的第二个操作来查看这一点;在此示例中,它是 HOURS 操作。p1p2p3 不再出现在该脚本中。已将它们的值分配给 newVar1newVar2newVar3。变量 p4 - p9 仍在该脚本中。p4 包含在“脚本”页面上分配给它的值。其余的 pX 变量作为空字符串传入。

Studio 操作的比较

有三个 Studio 操作可以从当前脚本启动一个新脚本。但它们之间存在一些差异:

  • Runscript:当 Runscript 触发另一个脚本时,它不会从第二个脚本返回到第一个脚本。
  • RunsubRunsub:当 Runsub 触发子脚本时,只要该子脚本有 Return 操作,脚本就可以返回到第一个脚本。当子脚本完成时, Return 操作会将一个值返回给 Runsub 操作。
  • SPAWNSPAWN:启动与第一个脚本并行运行的第二个脚本。衍生脚本无法将数据传递回第一个脚本,除非您在衍生脚本中包含 SIGNAL action

使用 SPAWN 操作从另一个脚本衍生

如果您不需要向子脚本传递参数值,则只需在父级脚本中添加并配置 SPAWN 操作即可。如果需要传递参数,您需要进行以下配置:

  • 在父级脚本中进行以下更改:
    • SPAWN 操作放置在您要衍生子脚本的位置。使用需要传递给子脚本的任何值来配置 SPAWN 操作中的参数属性。值在变量 p1 中被传递到 p9
    • 配置 SPAWN 操作的other properties
  • 在子脚本中进行以下更改:

    • BEGIN 操作中配置参数属性,以更改自定义参数变量的名称。如果您不执行任何操作,则自定义参数值将保留在 pX 变量中。
    • 如果您需要将值传递回父级脚本或调用应用程序,则添加并配置 SIGNALaction

从“ACD 脚本”页面衍生

您可以从 ACD 应用程序中 CXone 的“脚本”页面衍生脚本。当您使用此方法时,所有 pX 变量都会被传递到衍生的脚本中。无指定值的变量将作为空字符串传入。

  1. CXone 中单击应用程序选择器 并选择ACD
  2. 在“联系人设置”下,单击 Scripts
  3. 在该页面上,单击列表中的脚本。
  4. 在脚本的属性页面上,单击衍生选项卡。
  5. 从下拉列表中选择一项 ACD 技能。该技能必须:

    • 处于活动状态。
    • 匹配脚本媒体类型。例如,电话脚本必须与电话技能相关联。您可以在技能的“详细信息”选项卡上找到技能类型。Generic 类型的脚本适用于任何活动技能。
  6. 要将数据传递到脚本中,请在参数字段中输入这些值。您最多可以输入九个值。
  7. 要在无脚本跟踪的情况下立即衍生脚本,请单击衍生。“衍生”选项卡显示消息脚本已衍生。联系人 ID:[编号]

    响应中的联系人 ID 并不能确认您的脚本已成功执行。它仅表明触发了衍生。生成联系人 ID 后,该脚本可能随时会失败。

使用“ACD 脚本”页面快捷方式 URL 进行的衍生

ACD 脚本”页面上的“显示快捷方式”选项会生成一个可作为标准 REST API GET 请求执行的 URL。此 URL 使用查询字符串参数告诉 平台 如何衍生脚本。参数及其值必须进行了 URL 编码。

以下示例显示了名为 IBVoice 的脚本的快捷方式 URL:

https://home-[clusterName].nice-incontact.com/inContact/Manage/Scripts/Spawn.aspx?scriptName=IBVoice&bus_no=12334567&scriptId=172309310&skill_no=20967527&p1=ValOne&p2=ValTwo&p3=&p4=&p5=&Guid=abcdefgh-1not-real-2345-6789abcdefgh

此快捷方式 URL 包含以下参数:

不要修改 GUID。此外,GUID 应被视为密码。GUID 可永远不会被重置。

  1. CXone 中单击应用程序选择器 并选择ACD
  2. 在“联系人设置”下,单击 Scripts
  3. 在该页面上,单击列表中的脚本。
  4. 在脚本的属性页面上,单击衍生选项卡。
  5. 从下拉列表中选择一项 ACD 技能。该技能必须:

    • 处于活动状态。
    • 匹配脚本媒体类型。例如,电话脚本必须与电话技能相关联。您可以在技能的“详细信息”选项卡上找到技能类型。Generic 类型的脚本适用于任何活动技能。
  6. 要将数据传递到脚本中,请在参数字段中输入这些值。您最多可以输入九个值。
  7. 单击显示快捷方式
  8. 右键单击“衍生”选项卡上信息框中显示的 [脚本名称] 快捷方式链接,然后选择复制链接地址。该复制选项的名称可能因您使用的浏览器而异。
  9. 将复制的 URL 粘贴到 Web 浏览器地址栏中,然后按 Enter
  10. 浏览器显示以下响应消息:

    脚本已衍生。联系人 ID:[编号]

    响应中的联系人 ID 并不能确认您的脚本已成功执行。它仅表明触发了衍生。生成联系人 ID 后,该脚本可能随时会失败。

从“ACD 脚本”页面使用跟踪进行的衍生

您可以立即衍生脚本并在 Studio 中捕获跟踪。如果您正在测试脚本,这会很有帮助。如果您先前衍生了该脚本但失败了,则使用跟踪进行衍生以帮助您确定问题所在。

  1. In Studio, open the script you're spawning.
  2. Click Debug > Capture Script > Next Instance Only. To capture the script continuously, click Debug > Capture Script > Continuous.
  3. CXone 中单击应用程序选择器 并选择ACD
  4. 在“联系人设置”下,单击 Scripts
  5. 在该页面上,单击列表中的脚本。
  6. 在脚本的属性页面上,单击衍生选项卡。
  7. 完成“衍生”选项卡上的字段。
  8. 执行衍生: 
    • ACD应用 中的脚本的“衍生”选项卡上,单击衍生
    • 将快捷方式 URL 复制并粘贴到浏览器地址栏中,然后按 Enter
  9. 返回到 Studio 并观察跟踪输出。
  10. 如果指定了参数值,则可以在跟踪输出中看到它们。单击跟踪输出中的 BEGIN 操作,然后找到 p1p9 变量。如果您为这些变量指定了新名称,请单击脚本中的第二个操作,以查看此更改。

通过 API 衍生脚本

使用 POST /scripts/start一个正方形图标,箭头从中心指向右上角。 API 衍生脚本。

使用该 API 时,务必注意:

  • 需要以下参数: 
    • skillId:当作为 JSON 发送时,该值必须是整数,但如果作为查询参数发送,则不是整数。技能必须: 
        • 处于活动状态。
        • 匹配脚本媒体类型。例如,电话脚本必须与电话技能相关联。您可以在技能的“详细信息”选项卡上找到技能类型。Generic 类型的脚本适用于任何活动技能。
    • scriptId scriptPath:建议使用 scriptPath。每次保存脚本更改时,脚本 ID 都会发生变化,因此必须在参数中更新它。

  • 您最多可以包含 20 个参数。
  • 参数必须以竖线分隔的列表的形式发送。
  • API 支持所有参数的最大大小为 32 KB,包括竖线分隔符。
  • 参数不能包含竖线字符,除非它们是分隔符。
  • 如果以 JSON 形式发送请求,则必须正确转义保留的字符。
  • 如果通过 URL 查询参数发送请求,则这些参数必须进行了 URL 编码。