脚本和 API
您可以通过使用 SOAP 或 RESTful API 标准的 Studio 脚本连接到 Web 服务。您可以通过以下方式连接:
- REST API Studio 操作
- Integration Hub
- API Studio 操作
- CRM 工作流集成
RESTful Web 服务
您可以在
REST 代理需要使用动态数据对象。动态数据类型允许脚本处理 XML 和 JSON 格式的响应。动态数据对象可以接收这些格式的数据,并允许对其进行读取。您还可以动态创建可转换为 XML 或 JSON 的对象。这些功能是使用 RESTful API 所必需的。
要使用 REST 代理,请在脚本中添加一个 Snippet 操作并打开
ASSIGN proxy = GetRESTProxy()
proxy.<property | function>([parameters])
对于 <property | function>,请从以下部分中描述的属性和函数中选择。
属性
属性 | 详细信息 |
---|---|
|
在调用 |
|
在调用 |
|
允许覆盖默认的内容类型标头。默认为 application/x-www-form-urlencoded。 根据所进行的调用,您可能需要更改标头。例如,如果要发送 JSON,则应将其更改为 application/json。您必须修改此属性。 |
|
允许更改请求超时。默认为 10 秒。您必须修改此属性。 |
函数
下表列出了有关连接 RESTful API 时可使用的函数的信息。还有其他 REST 代理函数允许对字符串进行编码和哈希处理。
函数 | 详细信息 |
---|---|
|
向指定 URL 执行 HTTP 请求。 |
|
向 HTTP 请求添加自定义标题。 |
|
清除使用 |
示例
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 操作。在“代码片段编辑器”窗口中,添加一条
以下代码片段是通过 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)