指令碼和 API
您可以透過使用 SOAP 或 RESTfulAPI 標準的 Studio 指令碼連接網路服務。您可以使用以下方法連接:
- REST API Studio 動作
- Integration Hub
- API Studio 動作
- CRM 工作流程整合
RESTful 網路服務
您可以使用Studio指令碼,透過
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 客戶代表。
在 Snippet 中使用 SOAP
要在 Studio 指令碼中使用基於 SOAP 的 Web 服務時,必須建立一個 Snippet。在指令碼中新增一個 Snippet 動作。在 Snippet 編輯器視窗中,新增一條
以下 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)