- ホーム
- /
- 投稿記事
Webex Contact Center のビジネスルールエンジン (BRE) を使用すると、顧客はアップロードできます。 システムが実行時にルーティング決定を行うためにアクセスできる特定のデータ、または オペレーターに連絡するための情報を表示します。
Cisco© Business Rules Engineは、Webex Contact Center内での迅速なデータ検索を支援するアプリケーションです。Cisco© Business Rules Engine (BRE) を使用すると、データ検索、カスタムルーティング、および一般的な実装を実行できます。システムは実行時にデータを取得し、ルーティングの決定やエージェントへの情報表示に使用します。
例えば、テナントは、ダイヤルされた自動番号識別(ANI)に基づいて、特定のエージェントグループに電話をルーティングしたいと考えている。この場合、テナントはANIのリストをアップロードするだけで済みます。着信のANIがそのリストに含まれている場合、システムはその通話を指定されたエージェントグループにルーティングします。ANIがリストにない場合、システムは通話を一般キューにルーティングします。
一般的なBREの実装には、以下の主要コンポーネントが含まれます。
-
BREデータ同期: BRE DataSync構成ユーティリティは、BREデータベースにデータをインポートするためのデータ同期インスタンスを定義するためのインターフェースを提供します。テナントがデータ同期インスタンスを定義した後、CSVファイルをアップロードできます。システムは、アップロードされたカンマ区切り値データをBREデータベース内のレコードに変換します。
-
ビジネスルールエンジン: ビジネスルールエンジンユーティリティは、ドメインとルールセットを作成するためのインターフェースを提供します。BREでは、受信した決定要求が ドメインに関連付けられている必要があります。そのドメインには一連のルールが含まれている。各ルールには優先順位が割り当てられています。BREは、ルール内の条件に基づいて、ドメイン内で最も優先度の高いルールを決定要求と照合しようとします。
-
フローデザイナー: Webex Contact Centerのコンポーネントを連携および自動化するフローを定義するために使用される、ドラッグ&ドロップ式のユーザーインターフェース。HTTPリクエストアクティビティと同様に、BREアクティビティを呼び出して簡単なデータ検索を実行するフローを作成できます。しかし、この場合、データはWebexコンタクトセンター内に存在します。
データ処理ガイドライン
BREの完全性とセキュリティを維持するために、以下のデータ取り扱いガイドラインを遵守する必要があります。
-
許容されるデータ型: BREの運用と機能に不可欠なデータをアップロードしてください。これには、業務ルール、構成、機密性の低い運用データなどが含まれますが、これらに限定されません。
-
個人情報に関する制限: ANIデータを除き、個人を特定できる情報(PII)をBREにアップロードしないでください。個人情報には、以下が含まれますが、これらに限定されません。
- 氏名
- 社会保障番号
- メール アドレス
- 物理的な住所
- 財務情報
ANIデータとは、発信者に関連付けられた電話番号のことです。ANIデータは、BREへのアップロードが許可されている唯一の種類の個人情報です。この例外措置は、ANIデータに依存する特定の業務機能をサポートするためのものです。
ビジネスルールエンジンは、エントリポイントに関連付けられたフローによって呼び出されるリアルタイムルールエンジンで構成されています。このルールエンジンは通常、データリポジトリを参照して、必要な呼び出し処理を評価します。
BREルックアップは、HTTPリクエストのように、フロー内でデータを取得するシンプルな操作です。ただし、BRE検索用のデータはCisco Webex Contact Centerデータセンター内に存在します。以下の図は、BREデータ検索に関わる様々なプロセスを示しています。
開始する前に
BREを導入する前に:
- データモデルを明確に理解した上で、BRE DataSyncインスタンスを実装に合わせて構成してください。
- このガイド全体を通して使用されている以下の用語に慣れてください。
Attribute:attributeは、BREユーティリティ内で作成された名前付き変数またはデータフィールドです。これは、BREがリクエストを処理し、出力を生成するために使用する情報を格納するコンテナとして機能します。Context:contextは主に、BRE リクエスト アクティビティのターゲット ドメインを指定する属性の例として使用されます。Label:Labelは、ルールの評価結果または出力を保持するように設計された特定の属性タイプです。
詳細については、 FAQ セクションをご覧ください。
BRE DataSyncインスタンスの設定
BRE DataSyncユーティリティは、ルーティングの決定を行うためにデータベースにアクセスします。定期的にデータベースを適切な情報で更新するようにしてください。このセクションでは、BREリポジトリを更新するためにBRE DataSyncユーティリティを設定する方法について説明します。
テナント管理者は、ルールエンジンが意思決定プロセス中に参照するすべてのデータセットに対して、BRE DataSyncインスタンスを作成する必要があります。管理者はデータセットを作成するか、CSVファイルをアップロードすることができます。データはBREリポジトリ内のレコードに変換されます。
開始する前に
BRE DataSyncアカウントへのアクセス権を取得するには、シスコカスタマーサービスのアカウントマネージャーにお問い合わせください。
BRE DataSyncは現在、 フル管理者 ロールでのみ有効になっています。フル管理者権限を持つテナントは、CSVファイルアップロードまたはキーと値のペアを使用してデータをアップロードできます。この役割を持つユーザーは、所属組織固有のデータのみをアップロードできます。
パートナー管理者、外部管理者、エージェント、およびスーパーバイザーは、BRE DataSyncユーティリティにアクセスできません。
BREアプリケーションへのアクセス
Webex Contact Centerの管理ポータルから、ビジネスルールエンジンアプリケーションにアクセスできます。
- Webex Contact Centerの管理ポータルにサインインしてください。
- ビジネスルール をクリックして、ビジネスルールエンジンのダッシュボードを開きます。
BREはIDサービスとシングルサインオン(SSO)を利用しています。既に共通IDでサインインしている場合は、再度サインインすることなく、組織向けのBREユーティリティにアクセスできます。
システムは、ビジネスルールエンジン(BRE)アプリケーションを新しいブラウザタブで開きます。ダッシュボードページには、ルール数と実行回数をグラフで表示します。
ルールを作成する

BREポータルにアクセスし、以下に説明するように属性、ラベル、コンテキスト、およびルールを設定します。
| 1 |
組織に関連付ける属性を作成するには: |
| 2 |
ラベルはデータに意味を与えます。 ラベルを作成するには : |
| 3 |
コンテキスト をクリックすると、 コンテキスト ページに移動します。クリック +Add コンテクスト。 |
| 4 |
ルールを作成するには、 コンテキスト ページに移動します。クリック +Add ルールエディタ を開き、以下の詳細を設定します。
2つのルールを作成する:システムが一致するものを見つけた場合と、システムが一致するものを見つけなかった場合の2つです。 次のサンプルコードは、属性 routeInfoに対して値 NotFound を返します。これは、発信者がダイヤルした番号(ANI)が、BREデータベースにアップロードされているテナントリストのANIと一致しない場合に発生します。 ルールエディタに以下のルールをコピー&ペーストしてください。 : |
| 5 |
[保存] をクリックします。 |
BREリクエスト
BREリクエストアクティビティを使用して、組織のビジネスルールエンジン(BRE)からデータを取得し、フローで使用します。BREリクエストアクティビティは、標準のHTTPプロトコルを使用してBREからデータを取得します。
以下のセクションでは、BREリクエストアクティビティを設定できます。
全般設定
|
パラメーター |
説明 |
|---|---|
|
アクティビティラベル |
アクティビティの名前を入力してください。 |
|
活動内容の説明 |
(任意)アクティビティの説明を入力してください。 |
クエリ パラメータ
BREリクエストの一部として、API呼び出しで提供されるパラメータをBREに渡すことができます。「キーと値」列には、クエリのキーと、クエリとともに送信する関連付けられた値を入力できます。変数値を渡すには、二重中括弧構文を使用することもできます。
BREアクティビティには、1つの事前定義されたクエリパラメータがあります。context. このクエリパラメータは、BREへのAPI呼び出しで渡されます。
TenantID はパラメータとして自動的に挿入されるため、設定する必要はありません。
|
パラメーター |
説明 |
|---|---|
|
コンテキスト |
リクエストの理由が含まれています。この必須パラメータは編集または削除できません。 このパラメータには、BRE の属性 |
|
ANI |
通話の発信元電話番号が含まれています。これは、BREのルール設定に基づいて編集または削除できるデフォルトパラメータです。 ANIのサンプル値は |
|
応答タイムアウト | BREリクエストの接続タイムアウトを指定します。デフォルト値は2000ミリ秒です。 |
|
再試行回数 |
BREリクエストが失敗した場合に、再試行する回数を指定します。 このパラメータは、ステータスコードが 5xxの場合に使用されます。 ; 例えば、500または501。 |
クエリパラメータを追加するには、 新規追加をクリックします。これにより、キーと値のペアを入力できる行が追加されます。BREリクエストの一部として、必要な数のクエリパラメータを追加できます。
解析設定
このセクションでは、BREリクエストからの応答を解析して、さまざまな変数に格納することができます。
|
パラメーター |
説明 |
|---|---|
|
応答変数 |
BREリクエスト応答オブジェクトから特定のセクションを抽出する変数を選択してください。ドロップダウンリストからは、カスタムフロー変数のみを選択できます。 |
|
パス式 |
レスポンスオブジェクトを解析するためのパス式を定義します。応答オブジェクトのデータ構造の種類と、その情報の一部を抽出するユースケースに応じて、パス式は異なります。 データはパス式の実行前にオブジェクト階層に正規化されるため、設定されたコンテンツタイプに関係なく、レスポンスオブジェクトではJSONPathが使用されます。 |
復号設定
BREリクエストアクティビティの出力変数を復号化できます。フローレベルで復号化が有効になっている場合、デバッグ復号化アクセス権を持つユーザーは、フローのデバッグログでBREリクエストアクティビティのマスクされていない出力値を表示できます。追加の保護のために、アクティビティレベルでの復号化を無効にするには、 復号化を有効にする トグルをオフにしてください。
出力変数
BREリクエストは2つの出力変数を返します。
-
BRERequest1.httpResponseBody: BREリクエストに対するレスポンスボディを返します。 -
BRERequest1.httpStatusCode: BREリクエストのステータスコードを返します。これらの応答コードは、以下のカテゴリに分類されます。
-
情報提供型の回答(100~199)
-
有効な回答数(200~299件)
-
リダイレクト(300~399)
-
クライアントエラー(400~499)
-
サーバーエラー(500~599)
-
コンテンツタイプのフォーマット
以下の例では、入力コンテンツタイプのサンプル形式とJSONレスポンスについて説明します。
コンテンツタイプ XML
このツールを使用して、XML を JSON 形式に変換します https://codeshack.io/xml-to-json-converter/。
XML入力形式:
Tove
Jani
Reminder
Test application
Data/JSON 正規化応答
{
"note": {
"to": "Tove",
"from": "Jani",
"heading": "Reminder",
"body": "Test application"
}
}
JSONパス式の例:値を Janiとして取得するには [ $.note.from を使用します。
コンテンツタイプ TOML
このツールを使用して、TOML を JSON 形式に変換します https://www.convertjson.com/toml-to-json.htm。
TOML入力フォーマット:
title = "TOML Example"
[owner]
name = "Tom Preston-Werner"
dob = 1979-05-27T07:32:00-08:00
Data/JSON 正規化応答
{
"title": "TOML Example",
"owner": {
"name": "Tom Preston-Werner",
"dob": "1979-05-27T15:32:00.000Z"
}
}
JSONパス式の例:値を ‘Tom Preston-Werner’として取得するには [ $.owner.name を使用します。
コンテンツタイプ YAML
このツールを使用して、YAML を JSON 形式に変換します https://www.convertjson.com/yaml-to-json.htm。
YAML入力形式:
# An employee record
martin:
name: Martin D'vloper
job: Developer
skill: Elite
Data/JSON 正規化応答
{
"martin": {
"name": "Martin D'vloper",
"job": "Developer",
"skill": "Elite"
}
}
JSONパス式の例:値を取得するには Developer$.martin.job を使用します。
コンテンツタイプ JSON
JSON式評価器 https://jsonpath.com/を使用します。
JSON入力形式:
{
"martin": {
"name": "Martin D'vloper",
"job": "Developer",
"skill": "Elite"
}
}
Data/JSON 正規化応答
{
"martin": {
"name": "Martin D'vloper",
"job": "Developer",
"skill": "Elite"
}
}
JSONパス式の例:値を取得するには Developer$.martin.job を使用します。
BREリクエストアクティビティを使用したフローの作成
Webex Contact Centerで利用できるフローデザイナーインターフェースを使用して、フローを作成できます。Webex Contact Center Flow Designer で 、 BRE Request アクティビティを含むフローを作成します。
フローの設定に関する詳細については、 BRE リクエストを参照してください。
よく寄せられる質問
attributeの目的は何ですか?Attributesこれらは、受信したBRE検索要求をBRE内で定義された特定のルールセットにリンクし、ルール評価の結果を保存するために不可欠です。attributesはどのように作成しますか?attributesの下に 。例えば、contextという名前の属性を作成することができます。contextの目的は何ですか?ContextBREが適用する特定のシナリオまたは検索タイプを定義します。フローがBREリクエストアクティビティを呼び出す場合、どのルールセットを評価するかをBREに伝える必要があります。属性(多くの場合Contextという名前)には、特定のドメイン名が設定されます。domainとは何ですか?domainは、BRE内の関連データを含むテーブルです。ドメイン名によって、BREは適切なデータとそれに対応するルールセットにアクセスできます。labelとは何ですか?BREはルールを評価した後、その結果を呼び出し元のシステム(例えば、BREリクエストアクティビティを含むWebexコンタクトセンターフロー)に伝える必要があります。ルールは、その条件に基づいて指定されたラベル属性の値を設定するように構成されています。
- 属性、コンテキスト、ラベルの関係性は何ですか?
例えば、
Attributeという名前のcontextを作成できます。この属性をdomain(ANILookupのような実際のテーブル)に関連付けることができます。BREリクエストアクティビティを呼び出すと、フローはこの属性の値を設定します(つまり、domain= ANILookup) を使用してコンテキスト (どのドメインのルールを使用するか) を指定します。その
domain内には、条件を評価し、別のattributeの値を設定するためのルールが Drools 構文で記述されています。これはしばしばlabelと呼ばれます (たとえば、label= 「マッチが見つかりました」これは、ルールの実行結果を表し、フローへの応答として返されます。 -
属性、コンテキスト、ラベルは、リクエストのクエリパラメータとどのように関連していますか?
BREは、フローによって呼び出され、通常はハードコードされた内部URLへのAPI呼び出し(BREリクエストアクティビティ)を介して実行されます。これは、CSV形式でアップロードされたBRE値を検索できるREST APIです。 (key/value ペア)。BREが意思決定を行うために必要なデータは、通常のREST API呼び出しにおけるクエリパラメータやリクエストボディと同様に、このリクエストの一部として渡されます。
Input Data: 着信通話からの情報(発信者のANI、アカウント番号、その他同様のデータなど)は、Webex Contact Centerの通話フローにおいて、通話関連データ(CAD)変数として取得されます。BRE Configuration Data: コンテキストやドメインを指定する属性(例:ドメイン)などのその他の必要なパラメータ = ANILookup) も、Flow の BRE Request ノードの変数として設定されます。Request Variables: フローのBREリクエストステップでは、CAD変数と設定済み変数がBREリクエスト構成の変数として選択されます。これらの変数は、BREの実行バックエンドエンジンに送信されます。Function: 基本的に、「リクエスト変数」はBREの「クエリパラメータ」または入力ペイロードとして機能します。BREはこれらの入力値を用いて、規則で定められた条件を評価する。
ビジネスルールエンジンを使用してANIベースの顧客データ検索を設定する
このサンプルワークフローでは、ビジネスルールエンジン(BRE)を使用して、発信者の自動番号識別(ANI)から顧客データを検索し、返されたデータをWebexコンタクトセンターフローで処理し、選択した情報をエージェントのデスクトップに表示します。手順は以下のとおりです。
検索データを準備する
一意の検索キーとその関連データを含むCSVファイルを作成します。このワークフローでは、呼び出し元のANIが検索キーとして使用されます。値列に1つ以上の顧客フィールドを保存します。複数のフィールドはパイプ記号(|)で区切ります。
15551234567,VIP Customer|John Smith|Premium Queue|Toronto 15559876543,Standard Customer|Jane Smith|General Queue|Vancouver この例では、1列目にはANIが、2列目には顧客タイプ、顧客名、キュー、および場所が含まれています。
BREは、読み取りを目的とした検索を想定しており、頻繁に更新される個々のレコードを扱うトランザクションデータベースとしては設計されていません。
BREルックアップタイプを作成し、データをアップロードする
Webex Contact Center BREデータ同期ツールを開き、テナントを選択します。必要な検索タイプが利用できない場合は、運用チームに作成を依頼してください。 ANILookupのような分かりやすい名前を使用してください。生成されたコンテキスト名を記録してください。BRE構成とフローでは、同じ大文字小文字を区別する値を使用する必要があるためです。
テストレコードを追加するには:
- を開いて [] データを追加。
- テナントを選択して
ANILookup。 - ANIとその関連値を入力してください。
- 記録を提出してください。
データセット全体を読み込むには、 Upload BREを開き、テナントと検索タイプを選択して、CSV ファイルをアップロードします。 BREデータリスト を開き、レコードが表示されていることを確認してください。CSVファイル内のANI形式が、フローから送信される形式と一致していることを確認してください。
ビジネスルールの導入
Webex Contact Center管理ポータルにサインインし、 ビジネスルールを開いて、BREダッシュボードを起動します。
コンテキスト属性を作成します。
- 以下の値を持つ属性を追加してください。
- 名前:
context - データ型: テキスト
- 名前:
- 結果属性を保存します。
context属性は、ルールが照会するアップロード済みのルックアップデータセットを識別します。 - 返されたデータを表すテキスト属性を追加します。返される値に複数のパイプ区切りフィールドが含まれている場合でも、属性には意味のある名前を付けてください。属性を保存します。この例では、
customerTypeがサンプルとして使用されています。 - コンテキスト を開き、コンテキストを追加します。生成されたデータ同期コンテキスト名(例:
ANILookup)を入力し、context属性に関連付けて保存します。コンテキスト名は大文字と小文字を区別し、生成されたデータ同期コンテキストと完全に一致する必要があります。
ANIが見つかったルールとANIが見つからなかったルールを作成します。
コンテキストを開き、 ルールエディターの追加を選択します。ルールに名前を付けて ANIFoundをアクティブ化し、 100などのより高い優先度を割り当てます。以下のルールを追加して保存してください。
when c: Contact() eval(c.getGlobalValuesManager().getAsString( c.getTenantId(), c.getAttribute("context") + "." + c.getAttribute("ani") ) != null) then c.putAttribute( "customerType", c.getGlobalValuesManager().getAsString( c.getTenantId(), c.getAttribute("context") + "." + c.getAttribute("ani") ) ); end このルールは、コンテキストとANIを組み合わせて検索キーを生成します。一致する値が存在する場合、その結果を customerType レスポンス属性に割り当てます。
ANINotFoundという名前の別の有効なルールを追加します。より低い、固有の優先度を割り当てます(例: 99) 。一致するレコードが存在しない場合に customerType を Not Found に設定するようにルールを設定し、保存します。両方のルールに同じ優先順位を付けないでください。
コンタクトセンターのフローを作成する
フローデザイナーを開き、テストフローを作成または開きます。フローが呼び出し元の情報を取得する必要がある箇所に BRE Request アクティビティを追加し、そのアクティビティを適切なフローパスに接続します。
ANIを正規化する
アップロードされたキーに国コード接頭辞 +1 が含まれていない場合は、ANI からそれを削除する前処理式を作成します。
ANI.replace("+1", "") 正規化された値をルックアップキーとして使用します。格納値に +1が含まれていない場合にのみ、この変換を適用してください。 ; リクエスト値とアップロードされたキーは、同じ形式を使用する必要があります。
BREリクエストの設定
以下の値を使用してアクティビティを設定してください。
- コンテクスト:
ANILookup - リクエスト属性:
ani - リクエスト値: 正規化されたANI
- タイムアウト: 5秒
- 再試行: 3
- 応答属性:
customerType
応答を文字列フロー変数にマッピングします。コンテキストはデータセットを選択し、 ani は個々のレコードキーを指定します。
複数フィールドの応答を処理する
BRE が VIP Customer|John Smith|Premium Queue|Torontoを返す場合は、エスケープされたパイプ区切り文字 (\|) を使用して文字列を分割します。結果として得られる要素には、顧客タイプ、顧客名、キュー、および場所が含まれます。必要な要素を個別のフロー変数に割り当てます。このデモンストレーションでは、最後の要素である Torontoを抽出します。
画面ポップアップを設定する
エージェントデスクトップの画面ポップアップアクティビティを追加または構成します。抽出した顧客情報を必要な画面ポップアップフィールドにマッピングし、フローをキューまたはエージェントルーティングパスに接続してから、フローを保存して公開します。
デモンストレーションをテストする
アップロードされたデータセットに存在するANIから通話を発信します。フローがANIを正規化し、BREリクエストが成功パスをたどり、抽出された情報がエージェントデスクトップに表示されることを確認してください。データセットに含まれていないANIを使用してテストを繰り返し、見つからないパスが設定されたフォールバック値を返すことを確認してください。