脚本和 API

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

您可以通过使用 SOAP 或 RESTful API 标准的 Studio 脚本连接到 Web 服务。您可以通过以下方式连接:

  • REST API Studio 操作
  • Integration Hub
  • API Studio 操作
  • CRM 工作流集成

 

RESTful Web 服务

您可以在 Snippet 操作中使用 Studio 脚本通过 REST 代理与 RESTful API 连接。您可以使用 GetRestProxy() 函数访问该服务。REST 代理允许脚本与远程 Web 服务器交互。它提供了一些可用于执行此操作的属性和函数。

REST 代理需要使用动态数据对象。动态数据类型允许脚本处理 XML 和 JSON 格式的响应。动态数据对象可以接收这些格式的数据,并允许对其进行读取。您还可以动态创建可转换为 XML 或 JSON 的对象。这些功能是使用 RESTful API 所必需的。

要使用 REST 代理,请在脚本中添加一个 Snippet 操作并打开 Snippet Editor 窗口。使用以下语法调用 GetRESTProxy() 函数。

ASSIGN proxy = GetRESTProxy() 
 proxy.<property | function>([parameters]) 

对于 <property | function>,请从以下部分中描述的属性和函数中选择。

属性

属性 详细信息
StatusCode 在调用 MakeRestRequest() 之后,保存 HTTP 状态代码。此属性不可修改。如果此函数失败,它将不再保留状态代码。
StatusDescription 在调用 MakeRestRequest() 之后,保存 HTTP 状态描述。此属性不可修改。
ContentType

允许覆盖默认的内容类型标头。默认为 application/x-www-form-urlencoded

根据所进行的调用,您可能需要更改标头。例如,如果要发送 JSON,则应将其更改为 application/json。您必须修改此属性。

ProxyTimeoutSeconds 允许更改请求超时。默认为 10 秒。您必须修改此属性。

函数

下表列出了有关连接 RESTful API 时可使用的函数的信息。还有其他 REST 代理函数允许对字符串进行编码和哈希处理

函数 详细信息
MakeRestRequest(URL) 向指定 URL 执行 HTTP 请求。
AddHeader 向 HTTP 请求添加自定义标题。
ClearHeaders 清除使用 AddHeader 添加的任何自定义标头。

示例

ASSIGN proxy = GetRESTProxy()
ASSIGN proxy.ContentType = "application/json"
ASSIGN url = "https://catfact.ninja/fact"
ASSIGN verb = "GET"
ASSIGN result = proxy.MakeRestRequest(url,payload,'JSON',verb)

 

ASSIGN restProxy=GetRESTProxy()

restProxy.AddHeader("x-api-key", "qwer") //Assigning incorrect header for demonstration purposes
restProxy.ClearHeaders()
restProxy.AddHeader("x-api-key", "asdf")
ASSIGN restProxy.ProxyTimeoutSeconds = "2"
ASSIGN restProxy.ContentType = "application/json"

ASSIGN uri = "http://postman-echo.com/post"

DYNAMIC beowulfCharacteristics
ASSIGN beowulfCharacteristics.name = "Beowulf"
ASSIGN beowulfCharacteristics.occupation= "Hero" 
ASSIGN beowulfCharacteristics.foe = "Grendel"
ASSIGN payloadJSON = "{beowulfCharacteristics.asJSON()}

SOAP Web 服务

您可以通过 Studio 脚本使用基于 SOAP 的 Web 服务。这需要您将 WSDL 或代理 DLL 导入 Studio。导入的 DLL 必须由 NICE CXone 授权。授权后的 DLL 将保存在 租户关闭 用于管理 CXone环境的技术支持、计费和全局设置的高级组织分组 文件存储空间的根目录中。

使用 SOAP Web 服务需要 NICE CXone 的协助。请联系您的 CXone 客户代表 了解更多信息。

在代码片段中使用 SOAP

要在 Studio 脚本中使用基于 SOAP 的 Web 服务,必须创建一个代码片段。在脚本中添加一个 Snippet 操作。在“代码片段编辑器”窗口中,添加一条 USES 语句,命名生成并存储在 租户关闭 用于管理 CXone环境的技术支持、计费和全局设置的高级组织分组 文件存储空间中的代理 DLL 文件。

以下代码片段是通过 Studio 脚本使用基于 SOAP 的 Web 服务的示例。

USES "sf.dll"
cStart="{now}"
sforce=new SforceService()
session=new SessionHeader()
loginResult=sforce.login("demo@nice.com",password6")
sforce.sessionheadervalue=session
session.sessionid=loginResult.sessionid
sforce.url=loginresult.serverUrl

t=new Task()
t.ActivityDate=#"8/20/2050"
t.Description="Call placed by {first }{Last}."
t.Subject="Call @{cStart}"
t.Status="Completed"
t.CallType="Outbound"
t.OwnerId=SF_Agent_ID
t.ReminderDateTime="{cStart}"

SWITCH Type
{
   CASE "CON" { t.WhoId=SF_Obj_ID }
   CASE "LEA" { t.WhoId=SF_Obj_ID }
   CASE "ACC" { t.WhatId=SF_Obj_ID }
   CASE "OPP" { t.WhatId=SF_Obj_ID }
   CASE "CAS" { t.WhatId=SF_Obj_ID }
}
SaveResult=sforce.create(t)