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


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

重要:

この記事では、次の項目について説明します。

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

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

  1. Zoom ウェブポータルにサインインします。
  2. ナビゲーション メニューで、[コンタクト センター管理]、[フロー] の順にクリックします。
  3. フローの表示名をクリックして編集します。
  4. 左側のウィジェット パネルで、[スクリプト] をクリックしてから、フロー内の希望する場所にドラッグします。
  5. [スクリプト] ウィジェットを選択します。
  6. (オプション)[名前の変更] をクリックして、ウィジェットの表示名を変更します。
  7. [スクリプトを追加] をクリックして新しいスクリプトをウィジェットに追加し、以下のオプションを指定します。
    • 名前: スクリプトを識別する内部向けの表示名を入力します。
    • 言語: スクリプトの言語を選択します。
  8. [追加] をクリックします。
  9. Javascript コードを入力します。
  10. コードをローカルでテストするには、右側の [入力パラメータ] パネルを使用して、スクリプトのパラメータを JSON 形式で入力します。 JavaScript コードに、必要に応じて適切なキーと値のペアが含まれていることを確認してください。 コードをローカルでテストする場合、予想されるすべてのキーと値のペアを入力パラメータとして指定する必要があります。
  11. [実行] をクリックします。
    [結果] セクションに結果が表示されます。
  12. [閉じる] をクリックします。
  13. [ドラフトを保存] をクリックしてスクリプトを保存します。
  14. (オプション)[設定] タブで、以下のオプションをクリックします。
    • 鉛筆アイコン : スクリプトを編集します。
    • ゴミ箱アイコン : スクリプトを削除します。
  15. [終了] タブをクリックして終了設定をカスタマイズします。
    • 成功: スクリプトが正常に実行できる場合は宛先ウィジェットを選択します。
    • 失敗: スクリプトが実行に失敗した場合は、宛先ウィジェットを選択します。

: スクリプト ウィジェットの使用方法の詳細を理解するには、設定例(英語)を参照してください。

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

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

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

詳しくは、アカウント番号の例を参照してください。

スクリプトのプログラム方法

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

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

新バージョン

async function main () {
  // ここからコードを開始
}

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)

旧バージョン

// Lambda を使用

const log = require('./utils/log');
const req = require('axios'); // これは関数に Axios を使用する予定の場合のみ必要
var {_get:var_get , _set:var_set, _setGlobalVariable:global_var_set} = require('./utils/variable');

module.exports = async () => {

// スクリプト ロジックを追加します。 上の 2 つの例を参照してください。

return
}

: この時点では、Javascript のスクリプト ウィジェットで使用できる外部モジュールは Axios のみです。

ログ記録の使用方法

次の関数を使用して、依存関係のインポートを追加します。

const log = require('./utils/log');

: スクリプト エンジンの新バージョンの場合は組み込まれているため、再度インポートする必要はありません。

ログ記録の例

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

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

HTTP リクエストの実装方法

Axios を使用して HTTP リクエストを実装できます。 詳しくは、Axios のサポートサイトを参照してください。

次の関数を使用して、依存関係のインポートを追加します。

const req = require('axios');

:

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

    1. フロー内でスクリプト ウィジェットを追加および設定します。
    2. JavaScript ファイルを作成し、変数依存関係のインポートを追加します。

      var {_get:var_get , _set:var_set, _setGlobalVariable:global_var_set}
            = require('./utils/variable');

: スクリプト エンジンの新バージョンの場合は組み込まれているため、再度インポートする必要はありません。

  1. var_get 関数を使用して、変数の値を取得します。 var_get 関数は、ローカル ウィジェットとグローバル変数の両方の値にアクセスできます。 システム グローバル変数はデフォルトで定義されていますが、カスタム グローバル変数は最初に定義する必要があります。
    :

    var_get()["global_system.Consumer.firstName"]

: グローバル変数はシステムでグローバルに定義されますが、フロー内でグローバル変数に設定する値は、アクティブ エンゲージメントに範囲が限定されます。 つまり、フロー内でグローバル変数の値を設定 / 変更する場合、その値はその特定のエンゲージメントのみに設定されます。 同じフロー内にほかのコンシューマーが同時に、または続いて存在する場合、ほかのエンゲージメントによって設定された更新済みのグローバル変数の値にアクセスすることはできません。

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

  1. フロー内でスクリプト ウィジェットを追加および設定します。 この例では、スクリプト ウィジェットの名前を Script から Script1 に変更します。
  2. JavaScript ファイルを作成し、変数依存関係のインポートを追加します。 依存関係のインポートを追加します。
    :
    var {_get:var_get , _set:var_set, _setGlobalVariable:global_var_set} = require('./utils/variable');

    : スクリプト エンジンの新バージョンの場合は組み込まれているため、再度インポートする必要はありません。

  3. var_set 関数を使用してローカル変数の値を設定します。 最初のパラメータはローカル変数の完全な名前です。2 番目のパラメータは値です。


    var_set("account_number", “99999")
    この変数の値はこのフロー内で、Script1.account_number としてアクセスできるようになりました。

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

  1. フロー内でスクリプト ウィジェットを追加および設定します。

  2. JavaScript ファイルを作成し、変数依存関係のインポートを追加します。
    :
    var {_get:var_get , _set:var_set, _setGlobalVariable:global_var_set} = require('./utils/variable');

    : スクリプト エンジンの新バージョンの場合は組み込まれているため、再度インポートする必要はありません。

  3. global_var_set 関数を使用してローカル変数の値を設定します。 最初のパラメータはグローバル変数の完全な名前です。2 番目のパラメータは値です。
    :
    global_var_set("global_system.Consumer.firstName", "Your Name")

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