指令碼和 API

本説明頁面上的資訊同時適用於 CXone StudioDesktop Studio

您可以透過使用 SOAP 或 RESTfulAPI 標準的 Studio 指令碼連接網路服務。您可以使用以下方法連接:

  • REST API Studio 動作
  • Integration Hub
  • API Studio 動作
  • CRM 工作流程整合

 

RESTful 網路服務

您可以使用Studio指令碼,透過Snippet 動作中的 REST 代理連接 RESTful API。您可以使用GetRestProxy()功能存取該服務。REST 客服專員允許您的指令碼與遠端網路服務器互動。它提供了一些屬性和函數,您可以使用這些屬性和函數進行互動。

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 後,它會儲存在 租戶Closed 用於管理 CXone 環境的技術支援、計費和全域設定的高級組織分組 的檔案儲存根目錄中。

使用 SOAP Web 服務需要 NICE CXone 的幫助。詳細資訊,請聯絡您的 CXone 客戶代表

在 Snippet 中使用 SOAP

要在 Studio 指令碼中使用基於 SOAP 的 Web 服務時,必須建立一個 Snippet。在指令碼中新增一個 Snippet 動作。在 Snippet 編輯器視窗中,新增一條 USES 語句,命名您產生並儲存在 租戶Closed 用於管理 CXone 環境的技術支援、計費和全域設定的高級組織分組 檔案儲存中的客服專員 DLL 檔案。

以下 Snippet 是使用基於 SOAP 的 Web 服務和 Studio 指令碼的範例。

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)