Azure Communication Services ジョブ ルーターは、さまざまな通信アプリケーションにわたる顧客との対話の管理を最適化するように設計された堅牢なツールです。 一連の SDK と API を介してアクセスできるジョブ ルーターは、事前に定義された規則とランタイム ポリシーの組み合わせに基づいて、各顧客の対話 ("ジョブ") を最適なエージェントまたは自動化されたサービス ("worker") に転送します。 これにより、すべての顧客のニーズに対するタイムリーかつ効果的な対応が保証され、顧客満足度の向上、生産性の向上、リソースの効率的な使用につながります。
ジョブ ルーターの中核となるのは、シームレスで効率的な通信管理システムを一緒に作成する一連の主要な概念です。 これらには、ジョブ、ワーカー、キュー、チャネル、オファー、ディストリビューション ポリシーが含まれます。 コンタクト センターで大量の顧客との対話を管理する場合でも、大規模な組織の適切な部門に顧客クエリをルーティングする場合でも、小売ビジネスで顧客サービス要求を効率的に処理する場合でも、ジョブ ルーターはそれをすべて実行できます。 これにより、すべての顧客の対話が最適なエージェントまたは自動化されたサービスによって処理され、ビジネス効率が向上します。
ジョブ ルーターは、開発者が包括的なオムニチャネル通信ソリューションを構築するのに役立つ、Azure Communication Services チャネル プリミティブに依存しません。 ジョブ ルーターを使用すると、企業はすべての顧客の対話を適切なタイミングで適切なチャネルで効率的に処理できます。
主な概念
Job
ジョブは作業単位 (需要) であり、使用可能なワーカー (供給) にルーティングする必要があります。 実際のインスタンスは、コール センター、顧客エンゲージメント、またはカスタマー サポートのコンテキストでの着信通話またはチャットです。
ジョブのライフサイクル
- アプリケーションが Job Router SDK を介してジョブを送信します。
- (省略可能) 分類ポリシーを指定した場合、ジョブは分類され、 JobClassified イベント は Event Grid 経由で送信されます。
- ジョブは、指定したキューまたは分類ポリシーによって決定されたキューに追加され、 JobQueued イベント が Event Grid 経由で送信されます。
- ジョブ ルーターは、 任意のラベル セレクター と ディストリビューション ポリシー (キューの場合) に基づいて、一致するワーカーを検索します。
- 一致する Worker が見つかると、 オファー が発行され、 OfferIssued イベント が送信されます。
- アプリケーションは SDK を介してオファーを受け入れることができ、ジョブはキューから削除され、を含む
assignmentIdが送信されます。 - Worker がジョブを完了した後、SDK を用いて
assignmentIdを利用し、そのジョブを完了および終了することができます。 これにより、ワーカーが次のジョブを引き受けるまで解放されます。
勤労者
ワーカーはジョブを処理するために利用可能なリソースです。 SDK を使用して Worker を登録してジョブを受信する場合は、次のように指定できます。
ワーカーの具体的な例としては、顧客との対話またはコンタクト センターのシナリオにおける人間のエージェントがあります。
待ち行列
キューは、ワーカーに提供されるのを待機しているジョブの順序付きリストです。 ワーカーはキューに登録し、キューから仕事を受け取ります。
キューの概念を説明するために、連絡先センターのシナリオを使用してみましょう。適切なスキルを持つ担当者が通話を処理できるようになるまで、複数の呼び出し元が保留になる状況を想像してください。
チャネル
チャネルは、ある種類のジョブのグループです。 ワーカーは、作業を受け取るために登録するときに、作業を処理できるチャネルと、同時に処理できる各チャネルの量も指定する必要があります。 チャネルは単なる文字列識別子であり、明示的に作成されるわけではありません。 チャネルは、 voice calls または chatsできます。
ジョブを異なるチャネルに割り当てることで、ワークフローを合理化し、各チャネルに関連付けられている特定のニーズや要件に基づいてリソースを効率的に割り当てることができます。
オファー
ジョブ ルーターが特定のジョブとワーカーのプロファイルが一致したと判断した場合、オファーがワーカーに提示されます。 JobRouter SDK を使用してオファーを承諾または拒否できます。 オファーを無視すると、配布ポリシーで構成された有効期限に従って有効期限が切れます。
呼び出しは、ワーカーに拡張されたオファーの具体的な例として機能し、対話が行われようとしていることを示す指標であり、エージェントに迅速に通話に応答し、顧客との会話を行うよう指示します。
オファーの受け入れフロー
- ジョブ ルーターは、ジョブの一致するワーカーを見つけると、オファーを作成し、Event Grid経由で OfferIssued イベントを送信します。
- オファーは、ジョブ ルーター API を介して受け入れられます。
- ジョブはキューから削除され、ワーカーに割り当てられます。
- ジョブ ルーターが OfferAccepted イベントを送信します。
- この同じジョブの他のワーカーへの既存のオファーはすべて取り消され、 OfferRevoked イベント が送信されます。
オファーの拒否フロー
- ジョブ ルーターは、ジョブの一致するワーカーを見つけると、オファーを作成し、Event Grid経由で OfferIssued イベントを送信します。
- オファーは、ジョブ ルーター API を介して拒否されます。
- オファーがワーカーから削除されると、別の仕事のための他のオファーを受け付ける余地が生まれます。
- ジョブ ルーターが OfferDeclined イベントを送信します。
- ジョブルーターは、登録解除後に再登録しない限り、拒否されたオファーをワーカーに再提示しません。
オファーの有効期限フロー
- ジョブ ルーターは、ジョブの一致するワーカーを見つけると、オファーを作成し、Event Grid経由で OfferIssued イベントを送信します。
- 配布ポリシーで定義されている ExpiresAfter 期間内は、オファーが承諾または拒否されません。
- ジョブ ルーターでオファーの有効期限が終了し、OfferExpired イベントが送信されます。
- ワーカーは使用不可と見なされ、自動的に登録解除されます。
- WorkerDeregistered イベントが送信されます。
配布ポリシー
配布ポリシーは、キューに登録されているワーカーにキュー内のジョブを配布する方法を制御する構成セットです。 この構成には、次のものが含まれます。
- オファーの有効期限が切れるまでの有効期間。
- 配布モード。複数の利用可能な場合に作業者を選択する順序を定義します。
- 特定のジョブに対して同時に提供できるオファーの数。
分散モード
3 種類のモードは次のとおりです。
-
ラウンド ロビン: ワーカーは
Id順に並べられ、オファーを取得した前のワーカーの後に次のワーカーが選択されます。 - 最も長く手を空けている: 最も長くジョブで作業していないワーカー。
- ベスト ワーカー: ジョブを最も適切に処理できるワーカーが最初に選択されます。 Worker をランク付けするロジックは、式または Azure 関数を使用してカスタマイズして、2 つの worker を比較できます。 例を参照してください
ラベル
ワーカー、ジョブ、キューにラベルを添付できます。 ラベルは、 string、 number、または boolean データ型のキー値ペアです。
実際の例は、特定の作業者またはチームまたは地理的な場所のスキル レベルです。
ラベル セレクター
ラベル セレクターは、キュー上のワーカーのサブセットを対象とするために、ジョブにアタッチできます。
たとえば、チャット チャネルのコンテキストでは、受信チャット メッセージが条件の対象となる実際のシナリオを考えてみましょう。 この条件では、割り当てられたエージェントに、特定の製品に関する最小限の専門知識または知識が必要であることを指定します。 この例では、フィルターと同様にラベル セレクターを使用して、指定された製品で必要な能力を持つチャット チャネル内のエージェントのサブセットをターゲットにする方法を示します。
分類ポリシー
分類ポリシーを使用すると、プログラムでキューを選択したり、ジョブの優先順位を決定したり、ワーカー ラベル セレクターをジョブにアタッチしたりできます。
例外ポリシー
例外ポリシーは、トリガーに基づいてジョブの動作を制御し、必要なアクションを実行します。 例外ポリシーはキューにアタッチされるため、キュー内のジョブの動作を制御できます。
次のステップ
これらの主要なジョブ ルーターの概念の詳細を確認する
ハウツー ガイドをご確認ください
- キューの管理
- ジョブを分類する方法
- 優先ワーカーを対象とする
- ジョブをエスカレートする
- ジョブを受諾または辞退する
- イベントを登録する
- ジョブのスケジュール設定
- 推定待機時間とジョブの位置を取得する方法
- ワーカーのスコアリングをカスタマイズする
- Azure Function ルール エンジンを使用する