API 和指令碼

在您的Studio指令碼中,您可以連接到使用 SOAP 或 RESTful API 標準的 Web 服務。

支援的選項

Studio支援以下連接 Web 服務的方式:

選項 詳細資料
RESTAPI Studio 動作

REST API Studio動作允許您從指令碼進行 RESTful API 調用。 此方法:

  • 與在 SNIPPET 動作中進行 RESTful 調用相比,可以處理更高的負載,尤其是大規模負載。
  • 是在指令碼中進行 API 調用的首選方法。
  • 是要使用的選項,如果您的調用包含 JSON。
CXoneAPIStudio動作 Studio有許多API 動作,可讓您從指令碼調用 CXone API。 並非每個 CXone API 都可用作動作,但當有一個可用時,您應該使用它而不是另一種方法。 您可以在 Desktop Studio 的「框架」標籤的 API 部分和 CXone Studio 的 API 動作面板中找到 API 動作。
SNIPPET 動作

您可以在 SNIPPET 動作中編寫程式碼,以從指令碼中 連接到 RESTful 或 SOAPWeb 服務 。 這不是推薦的進行 REST 調用的方法,因為它會減慢聯絡處理速度。 但是,如果出現以下情況,則必須使用此方法:

  • 您的調用包含 XML。
  • 您正在連接到 SOAP 服務。

傳回資料大小的限制

CXone 平台 可讓 REST API 返回多達 32 KB 的資料。 此限制可防止叢集不穩定和中斷。 此限制被嚴格執行。

此限制適用於連接到 Web 服務的任何方法,包括 REST API動作使用 SNIPPET 動作進行調用 。 如果可以,請對 REST API 使用 REST API動作而不是 SNIPPET 動作。 REST API的回傳限制為 32 KB,但它可以處理比 SNIPPET 方法更大的負載。

減少返回資料的大小:

  • 篩選 API 回應中的資料。 例如,如果您使用NICE報告 API 獲取聯絡人,您可以根據聯絡人的 startDateendDate 篩選結果。 此 API 調用還允許您返回和限制項目的最高計數。 請參閱您所調用的 API 的文件,確定您可以使用哪些篩選。
  • 更新 API 請求,只返回您需要的資料。 例如,如果您使用 NICE報告 API 獲取聯絡人資訊,您可以使用 contactIdagentId 欄位只返回相關資料。 請參閱您要調用的 API 的文件,確定您可以使用哪些資料限制。

如果前兩個選項都不行,請建立中介軟體。

-1 錯誤代碼

-1 錯誤代碼是內部代碼,用於識別 API 調用遇到錯誤。 具體來說,此代碼表示不會傳回 HTTP 狀態碼,或傳回了 HTTP 狀態碼但無法傳遞給指令碼的情況。

-1 錯誤代碼附帶的狀態描述可以幫助您確定問題。 此代碼附帶的狀態描述包括:

  • 請求被中止:操作逾時。 該請求可能已被處理,也可能未處理。 應在設定迴圈以回應 -1 狀態代碼之前進行驗證。 您可能需要使用 ProxyTimeoutSeconds 屬性來變更調用中的逾時設定。
  • JSON 基元無效。 JSON 剖析器對回應感到困惑。 回應可能包含無效字元或不是 JSON。 通常,當以 HTML 形式傳送回應時會發生此錯誤。 您可以在 snippet 偵錯器中測試回應。 REST API 回應不是有效的 JSON 或 XML一個箭頭從中心指向右上角的正方形。 知識庫文章可能會有所幫助。

  • 根級別的資料無效。 XML 剖析器對回應感到困惑。 回應可能包含無效字元或不是 XML。 通常,當以 HTML 形式傳送回應時會發生此錯誤。 REST API 回應不是有效的 JSON 或 XML一個箭頭從中心指向右上角的正方形。 知識庫文章可能會有所幫助。

  • 「doctype」是一個意外權杖。 預期的權杖是「DOCTYPE」。 請參閱此清單中的根層級的資料無效

  • x 行 x 位置上的「br」開始標記與「body」的結束標記不符。 請參閱此清單中的根層級的資料無效

  • 底層連接已關閉:傳送時發生意外錯誤。 通常這表示 TLS 握手有問題。 也可能是由於防火牆上未開啟 IP 或連接埠造成的;使用舊的、不支援的 TLS 版本;無效或過期的憑證;將 IP 位址與 HTTPS 結合使用;或類似問題。 使用接收伺服器端的防火牆記錄對此回應進行故障排除。

  • 底層連接已關閉:無法建立 SSL/TLS 安全通道的信任關係。 請參閱此清單中底層連接已關閉:傳送時發生意外錯誤

  • 請求被中止:無法建立 SSL/TLS 安全通道。 請參閱此清單中底層連接已關閉:傳送時發生意外錯誤

  • 回應太大。 (> 32 KB)。 回應包含超過 32 KB 的資料。 發生這種情況時,回應將被丟棄,因為系統無法在一個變數中儲存超過 32 KB 的資料。 必須修改或篩選回應以減少傳回的資料量