Rest API Action

このヘルプページはCXone Studio用です。この情報は、Desktop Studio用にも提供されています。

RESTful API呼び出しを同期的に処理します。このアクションは、システムがさらに高い負荷を処理できるようにします。これは、API呼び出しの本文とヘッダーの両方を返します。これにより、スクリプトのテストとデバッグが容易になります。

REST APIアクションを含むスクリプトをテストし、レスポンス情報を表示できます。これを行うには、トレースと共に開始オプションを使ってスクリプトを実行します。

SNIPPETアクションでGetRestProxy()関数を使用して、同期的なRESTful API呼び出しを行うこともできます。このオプションは、REST APIアクションほど高負荷にうまく対応できず、好ましい方法ではありません。

このアクションは、StudioスクリプトでWebサービスに接続するための、サポートされている方法の1つです。

依存関係

このアクションの使用には、ビジネスユニット閉じた テクニカルサポート、請求、およびCXone環境のグローバル設定の管理に使用される高レベルの組織グループレベルで課される制限があります。この制限は、相互に影響を与えないようにするためです。プラットフォーム内の制限は以下のとおりです:

  • 応答形式:JSON応答形式のみがサポートされます。
  • 失敗時の再試行:応答を返す前に失敗メッセージを受信した場合、アクションハンドラは自動的に2回試行します。
  • タイムアウト:タイムアウトの値はリクエストの中で指定します。90秒を超える値は設定できません。
  • 最大応答サイズ最大応答サイズは32 KBです。これは、既存のSnippet機能と一致しています。この制限に達している場合、返されるデータのサイズを小さくする必要があります。
  • スロットル制限:スロットル制限は以下の2つのパラメーターで定義されます。
    • 最大同時リクエスト数:デフォルトで最大100の同時リクエストが可能です。この制限はCXoneのすべてのお客様に適用されます。つまり、100回の同時リクエストで、SnippetアクションからAPI呼び出しを行うよりもはるかに高いスループットを実現できます。100を超える同時リクエスト数が必要な場合は、CXoneアカウント担当者に相談して、ビジネスユニットに対する制限を増やしてください。特別な承認が必要です。
    • キュー内カウント:リクエストが上限を超えると、余分なリクエストは処理キューに入ります。リクエストが上限を下回ると、キューにあるリクエストが処理されます。
  • 遮断器:指定したURLがダウンしているか到達できない場合、リクエストの失敗回数があまりに多くなります。これが発生すると、CXoneは、一定期間、REST APIアクションからのすべてのURLのリクエスト実行を削減します。これにより、指定したURLは障害から回復できます。以下に制限を示します:
    • バックオフ時間または休憩時間:失敗率に達すると、REST APIアクションからのリクエストは30秒間実行されなくなります。
    • 最小スループット:1秒間に100件のリクエスト。ビジネスユニットが最小数のリクエストを実行していない場合、失敗していてもリクエストを実行し続けます。
    • 失敗率:30秒間にリクエストの50%が失敗した場合、リクエストは次の30秒間実行されません。30秒はローリングウィンドウです。

このアクションの他の依存関係は以下のとおりです。

  • サポートされる応答フォーマットはJSONのみです。このアクションでは、すべてのJSONを1行に指定する必要があります。このアクションでJSONを使用する場合、以下のことが可能です。

    • JSONを含む文字列から変数の置換を行います。
    • ダイナミックデータオブジェクトをJSONに変換するは、asjson()関数を使用してサポートされています。asjson()はすべてを文字列として扱うので、ブーリアンや数値を扱う場合は、何らかの操作が必要になることに注意してください。
    • 以前のREST APIアクションからの出力変数 resultSet(out)もこのプロパティに渡します。
  • 応答はjtokenオブジェクトとして返されます。スクリプトでダイナミックデータオブジェクトを使用するのと同じように、これらのオブジェクトを使用できます。
  • 応答には応答のヘッダーとボディが含まれています。また、HTTPステータスコードを含むこともあります。すべての応答にステータスコードが含まれるわけではありません。エラーがない場合、REST APIアクションが有効な応答を生成できない場合、または返されたエラーが有効な応答として解析できない場合、ステータスは含まれていません。
  • スクリプト内で複数のREST APIアクションを使用できますが、両方が同じオブジェクトを参照することはできません。

サポートされているスクリプトタイプ

その四角から分岐した線が、他の3つにつながっている四角。

一般

Eメール チャット 電話 ボイスメール ワークアイテム SMS デジタル

入力プロパティ

これらのプロパティは、アクションが実行時に使用するデータを定義します。

プロパティ

説明

キャプション を追加

スクリプト内でこのアクションを一意に識別できる、短いフレーズを入力します。アクションアイコンにカーソルを合わせるとキャプションが表示されます。

Verb

GET、PUT、POST、DELETE、PATCHなどの基本的なRESTアクションをサポートします。

Parameters

クエリーパラメーターを指定したり、任意のデータをPOSTしたりできます。Jobject、Jarray、Jtokenなど、多くの種類のJSONを受け入れることができます。

Headers

カスタムヘッダーを追加して、ベアラートークンなどの顧客認証を可能にすることができます。このフィールドにはJSONを使用できます。

重要カスタムURLエンドポイントで異なるヘッダーが必要な場合は、このプロパティで指定する必要があります。既存のSnippetアクションと機能を同等に保つために、CXoneは次のヘッダーを追加します:

{"Accept":"application/json", "Content-Type" :"application/x-www-form-urlencoded"}

Command

現在利用できるオプションはMakeRestRequestだけです。これは、SnippetアクションでREST API呼び出しを行う際に使用されるMakeRestRequest()関数と同じように機能します。

Wait Time In MilliSeconds

REST 呼び出しのタイムアウトを指定して受け入れることができます。90 秒 (90000 ミリ秒) 未満である必要があります。タイムアウトを指定しない場合、デフォルトは10秒(10000ミリ秒)です。

Service Address

アクションで呼び出すREST APIのURL。このプロパティで変数置換を使用できます。

出力プロパティ

これらのプロパティには、実行したアクションから返されたデータを保持する変数が含まれています。これらはアクションが完了したときに参照・使用することができます。

プロパティ

説明

Result Set

サービスアドレスで指定されたAPIから返される情報を含む変数。必要に応じて、この変数の内容をそのままヘッダーやパラメーターに渡すことができます。応答はJtokenオブジェクトとして返されますが、これをダイナミックオブジェクトとして宣言し、スクリプト内で他のダイナミックオブジェクトと同じように扱うことができます。

Error Arg List

発生したエラーに関する情報を保持するダイナミックデータオブジェクト。エラーが発生した場合、このオブジェクトがHTTPステータスコード、ステータスの説明、およびメッセージを保持します。エラーがない場合、オブジェクトは空です。

HTTPステータスコードと説明はエラー時にのみ返され、有効なレスポンスとして適切に解析できます。つまり、すべてのエラーにHTTPレスポンスコードが含まれるわけではありません。

結果ブランチ条件

結果の分岐条件を使用すると、アクションが実行されたときにさまざまな結果を処理できるように、スクリプトにブランチを作成できます。

条件

説明

Throttle

短期間で実行されるリクエストが多すぎる場合に使用されるパス。詳細については、以下の制限を参照してください。

InvalidInput

無効な入力が見つかった場合、またはタイムアウトエラーが発生した場合にとられるパス。スクリプトを保存すると、すべてのパラメーターが検証されます。

Failure

リクエストのNICE CXoneアプリケーション実行中にエラーまたは例外が発生したときに取られるパス。

Error

リモートカスタマーエンドポイントがhttpエラーコードを返すときに使用されるパス。

Default

90秒以内に応答がない場合にたどるパス。

Success

アクションがエラーなしで完了し、API呼び出しまたはデータの戻りが成功した場合に実行されるパス(2xx応答コード)。

別のオプション

Snippetアクションで現在完了している外部RESTful APIリクエストを置き換えることができます。