スクリプトウィジェットのカスタマイズ

コンタクトセンターの管理者はスクリプトウィジェットを追加および編集できます。スクリプトウィジェットを使用すると、フローで特定の行動を取ることができるので、UIに依存してフローを構築する必要がなくなります。スクリプトウィジェットでは、キー、シークレット、その他の認証情報はデフォルトで非表示になっています。

スクリプトウィジェットをカスタマイズするための要件

目次

スクリプトウィジェットを追加または編集する方法

  1. フロー設定を編集する特権を持つ管理者として、Zoomウェブポータルにサインインします。
  2. ナビゲーションメニューで、[コンタクトセンター管理]、[フロー] の順にクリックします。
  3. フローの表示名をクリックして編集します。
  4. 左側のウィジェットパネルで、[スクリプト] をクリックしてから、フローの希望する場所にドラッグします。
  5. [スクリプト] ウィジェットを選択します。
  6. (オプション)[名前の変更] をクリックして、ウィジェットの表示名を変更します。
  7. [スクリプトの追加] をクリックしてウィジェットにスクリプトを新規追加し、次のオプションを指定します。
  8. [追加] をクリックします。
  9. JavaScript ードを入力します。
  10. コードをローカルでテストするには、右側の [入力パラメータ] パネルを使用して、スクリプトのパラメータをJSON形式で入力します。JavaScriptコードに、必要に応じて適切なキーと値のペアが含まれていることを確認します。コードをローカルでテストする場合、予想されるすべてのキーと値のペアを入力パラメータとして指定してください。たとえば、テスト用のスクリプトにANIを渡すする必要がある場合は、JSONオブジェクト {"global_system.Engagement.ANI":"+16505551234"} を使用できます。
  11. [実行] をクリックします。
    結果は [結果] セクションに表示されます。
  12. [閉じる] をクリックします。
  13. [保存] をクリックしてスクリプトを保存します。
  14. (オプション)[設定] タブで以下のオプションを使用します。
  15. 出力変数: [出力を追加] をクリックし、[Script.value] ドロップダウンメニューで、[ローカル] または [グローバル] 変数を選択します。
  16. [終了] タブをクリックして終了設定をカスタマイズします。

: スクリプトウィジェットをより詳しく理解するには、構成例をご覧ください。

スクリプト変数のマッピング

スクリプトウィジェットを構成して実行したら、スクリプト変数値をフロー変数にマッピングできます。

変数は、スクリプトウィジェットをカスタマイズする際に、出力変数セクションでマッピングすることもできます。

スクリプトマッピングの例

詳しくは、アカウント番号の例をご覧ください。

スクリプトのプログラミング方法

  1. すべての依存関係をコードに追加します。以下のコード例の2~4行目を参照してください。
  2. コードエンジンがJS関数を抽出できるように、関数をmodule.exportsに渡します。関数でawaitが必要な場合にのみasyncを使用します。コードパネル内の関数を呼び出す必要はありません。
    : 厳密モードは自動的にオンになります。

スクリプトプログラミングの例

async function main () {
  // your code starts here
}

Note: 
#### Supported built-in functions: (no need to import again)

## Variable Get/Set:
var_get()[string]; var_set(string, string); global_var_set(string, string)

## Http Requests:
req.get(url[, config]); req.delete(url[, config]); req.head(url[, config]); req.options(url[, config])
req.post(url[, data[, config]]); req.put(url[, data[, config]]); req.patch(url[, data[, config]])

## Logging
log.debug(string), log.info(string), log.warn(string), log.error(string) 

: 現時点では、上記の組み込み関数のみが利用可能です。外部モジュールはサポートされていません。

ログ記録の使用方法

以下に示すように、組み込み関数「log」を活用するとスクリプトに情報を記録できます。ログを表示するには、フローデバッグコンソールを有効にする必要があります。

ログ記録の例

以下の関数を使用してログを実装します。

log.debug("debugging enabled")
log.error("error detected")
log.info("info: yes")
log.warn("WARNINGS: ") 

HTTPリクエストの実装方法

スクリプトウィジェットを使用してHTTPリクエストを送信できます。スクリプトウィジェットのJavaScriptコードを使用すると、組み込み関数「req」を使用してHTTPリクエストを送信できます。

: 標準のHttp呼出ウィジェットを使用してHTTPリクエストを実装すると、JavaScript関数を記述しなくてもHTTPリクエストを実行できます。ただし、より高度なユースケースでは、スクリプトウィジェットと「req」組み込み関数を使用してHTTPリクエストを実行できます。

HTTPリクエストの例

以下はHTTPリクエストの例です。

const response = await req.get("https://api.example.com") 

詳しくは、Axiosサポートサイトを参照してください。

スクリプトウィジェット内で変数を取得する方法

以下に示すように、組み込み関数「var_get」を利用することで、スクリプトの変数情報を取得できます。一般的な使用例としては、グローバル変数データをスクリプトコードに読み込み、変数値に基づいてアクションを実行することが挙げられます。これを行うには、グローバル変数を読み取り、それをスクリプトで一時的にアクセス / 保存します。

var_get関数を使用して、変数の値を取得します。var_get関数は、ローカル変数とグローバル変数の両方の値にアクセスできます。


グローバルシステム変数の読み取り例:

let first_name = var_get()["global_system.Consumer.firstName"]

グローバルカスタム変数の読み取り例:

let account_number = var_get()['global_custom.General.account_number']

注: システムグローバル変数はデフォルトで定義されていますが、グローバルカスタムグローバル変数を最初に定義する必要があります。上記のグローバルカスタム変数の例では、「General」というカスタム変数グループが作成され、グループに「account_number」というカスタムグローバル変数が作成されます。

: 値が複数のエンゲージメント間で共有されるかどうかなど、グローバル変数の詳細については、グローバル変数を参照し、「リンクされた値」、「デフォルト値」、「未定義」変数タイプの違いを確認してください。

スクリプトウィジェット内でローカル変数を設定する方法

スクリプトのローカル変数値は、下記の「var_set」組み込み関数を活用して設定できます。一般的な使用例としては、スクリプトで生成された一部のデータ(例: APIレスポンス)をローカル変数で保存することが挙げられます。

  1. フローでスクリプトウィジェットを追加および構成します。この例では、スクリプトウィジェットの名前を「Script」から「Script1」に変更します。
  2. var_set関数を使用して、ローカルウィジェット変数値を設定します。最初のパラメータはローカルウィジェット変数の完全な名前です。2番目のパラメータは値です。
    : var_set("account_number", “99999")
    この変数の値はこのフロー内でScript1.account_numberとしてアクセス可能になります
  3. あるいは、スクリプトウィジェットの終了時にローカルウィジェット変数をマッピングします。スクリプトウィジェットに戻り、出力を追加リンクをクリックします。
  4. スクリプト変数フィールドに、変数の名前を入力します。この例では「account_number」です。
  5. [出力を次にマッピング] ドロップダウンメニューで、マッピングするローカルフロー変数またはグローバル変数を選択します。
  6. スクリプトに変数を格納するためのvar_set関数が複数ある場合は、各変数に対して手順4~6を繰り返します。

スクリプトウィジェット内でグローバル変数を設定する方法

以下に示すように、「global_var_set」組み込み関数を利用して、スクリプトにグローバル変数の値を設定できます。一般的な使用例としては、スクリプトで生成された一部のデータ(例: API response)をグローバル変数に変換してZCCログで使用したり、Contact Centerエージェントに表示したりできます。

  1. フローでスクリプトウィジェットを追加および構成します。
  2. global_var_set関数を使用してグローバル変数の値を設定します。最初のパラメータはグローバル変数の完全な名前です。2番目のパラメータは値です。
    :
    global_var_set("global_system.Consumer.firstName", "Your Name")

: グローバル変数はシステムでグローバルに定義されていますが、フロー内でグローバル変数に設定した値は、アクティブエンゲージメントに範囲が限定されます。

スクリプトウィジェット保存時の証明書エラーのトラブルシューティング

スクリプトウィジェットの保存時に「最初の証明書を認証できません」という証明書エラーが発生した場合は、Qualys SSL TestにURLを入力して証明書チェーンを確認します。チェーンを検証できない場合、ウェブサイトの証明書に問題があります。

重要: