スキルとライブ・エージェントの統合
スキルを既存のOracle B2C Serviceインタフェースに統合するためのおおまかなステップを次に示します。各ステップの詳細は、その次のトピックで説明します。
- エージェント統合チャネルの作成: このチャネルにより、スキルはOracle B2C Serviceと通信できるようになります。
- インサイトの有効化: スキルの「設定」
ページで、「インサイトの有効化」オプションを「オン」に切り替え、フレームワークでライブ・エージェントに会話履歴を渡せるようにします。
- エージェント転送ダイアログ・フローの構成:エージェント開始およびエージェント会話コンポーネントをダイアログ・フローに追加します。(ビジュアル・フロー・デザイナでは、これらのコンポーネントは「エージェント通信」テンプレートを介して使用できます。)
- エージェント開始コンポーネントは、Oracle B2C Serviceへのハンドオフを開始します。
- エージェントの会話コンポーネントは、スキルとエージェントの間のやり取りを処理します。
エージェント統合チャネルの作成
エージェント統合チャネルを使用して、スキルとライブ・エージェント・システムの間の接続を構成します。
開始する前に、次の権限を持つプロファイルに関連付けられているOracle B2C Serviceスタッフの資格情報を取得します:
- 目的のOracle B2C Serviceインタフェースへのアクセス
- 公開SOAP APIのアカウント認証およびセッション認証
- エージェント・ブラウザ・ユーザー・インタフェースのアカウント認証
これらの情報がない場合は、Oracle B2C Service管理者に連絡してください。
また、Oracle B2C Service Account Managerでチャット・カスタム・インタフェースAPIおよびチャット・サード・パーティ・キュー統合APIが有効になっていることを確認する必要もあります。
-
をクリックしてサイド・メニューを開き、「開発」、「チャネル」の順に選択します。
- 「エージェント統合」をクリックし、「+エージェント統合の追加」をクリックします。
-
このチャネルの名前と説明(オプション)を入力します。
ダイアログ・フローでエージェント開始コンポーネントおよびエージェント会話コンポーネントを使用してOracle B2C Serviceとの間の遷移を有効にする場合は、この名前を
agentChannel
プロパティで使用する必要があります。 -
「統合タイプ」メニューから「Service Cloud」を選択します。
-
必要なプロファイル権限を持つOracle B2C Serviceスタッフのユーザー名とパスワードを入力します。
-
ドメイン名とホスト名の接頭辞を定義します。
Oracle B2C Serviceへのアクセス権がある場合、エージェント・ブラウザ・ユーザー・インタフェースの起動に使用するURLからこれらの値を導出できます。たとえば、URLが
sitename.exampledomain.com
の場合、ホスト名の接頭辞はsitename
で、ドメイン名はexampledomain.com
です。チャネルがOracle B2C Serviceバージョン19A以降に接続していて、複数のインタフェースがある場合は、インタフェースIDをホスト(サイト)名に含める必要があります。たとえば、IDが2のインタフェースでは、
sitename-2.exampledomain.com
などを使用します -
(オプション)「セッションの有効期限」(分)を増減します。この値は、エージェント会話ダイアログ・フロー・コンポーネントが
agentLeft
およびexpired
アクションをトリガーする時期を決定するために使用されます。Oracle B2C Serviceの
CS_IDLE_TIMEOUT
が「セッションの有効期限」の値以上である場合、エンドユーザーもエージェントもセッションの有効期限内にメッセージを送信しないと、expired
がトリガーされます。CS_IDLE_TIMEOUT
が「セッションの有効期限」の値より小さい場合、Oracle B2C Serviceはチャットを終了し、かわりにagentLeft
アクションをトリガーします。インスタンスがOracle Cloud Platformにプロビジョニングされている場合(バージョン19.4.1のすべてのインスタンスと同様に)、サービスは「セッションの有効期限」設定ではなく15分を使用します。
デフォルトでは、
CS_IDLE_TIMEOUT
は10分です。Oracle B2C Serviceインスタンスの設定を表示または変更するには、Oracle B2C Serviceデスクトップ・サービス・コンソールを開いて、「ナビゲーション」、メニューの最初の「構成」項目、「構成設定」の順にクリックします。次に、Chatフォルダ内のCS_IDLE_TIMEOUT
を検索します。 -
「作成」をクリックします。
-
スキルがエージェント・フレームワークと対話できるようにするには、「対話が有効」をオンに切り替えてチャネルを有効にします。
会話履歴の転送の有効化
ライブ・エージェント転送フレームワークを有効にして会話履歴をライブ・エージェントに渡すには、ロギングを有効にする必要があります。このオプションを有効にすると、エージェントのチャット・コンソールに、エージェントに渡される前に行われた顧客の会話が表示されます。
- スキルの左側のナビゲーション・バーで、「設定」
をクリックします。
- 「一般」タブで、「インサイトの有効化」スイッチを「オン」に設定します。
会話履歴は4000文字を超えると切り捨てられます。
エージェント転送ダイアログ・フローの構成
ダイアログ・フローで顧客をライブ・エージェントに誘導する方法はいくつかあります。例:
- エージェントと対話するための特定のオプションを指定できます。
- エージェントに顧客を誘導する前に必要な顧客情報を収集するパスを実行できます。
- 顧客をエージェントに転送する未解決インテントのハンドラを作成できます。
- エージェント転送インテントを作成できます。
次に、ダイアログ・フローを構成するための基本ステップを示します:
- エージェント開始およびエージェント会話コンポーネントをフローに追加します。スキルがビジュアル・ダイアログ・モード(デフォルト)の場合は、これらのコンポーネントの両方を含むエージェント通信テンプレートを使用します。
- エージェント開始状態の「エージェント統合チャネル」プロパティに、ライブ・エージェント・システム用に構成したエージェント統合チャネルの名前を設定して、ライブ・エージェント転送を開始します。
エージェント統合チャネルが接続を確立し、Oracle B2C Serviceがチャット・リクエストをそのキューに送信した後(つまり、ヘルプ・チケットを作成した後)、エージェント統合コンポーネントによって次の状態への遷移が可能になります。これは通常、エージェント会話コンポーネントに定義されます。
- コンポーネントのリソース・バンドル・エントリで、コンポーネントが使用するメッセージ(待機メッセージや再開メッセージなど)を微調整します。これらのエントリにアクセスするには、
をクリックしてスキルの「リソース・バンドル」ページを開き、「構成」タブを選択して、フィルタ・フィールドに
agenti
と入力します。ヒント:
顧客のリクエストがエージェントのチャット・コンソールのキューにすでに入っていても、顧客はライブ・チャットを繰り返し要求できます。この場合、systemComponent_AgentInitiation_resumedMessage
リソース・バンドル・エントリの値を、誤解を招く可能性のあるエージェントとのチャットの再開メッセージから、より適切なものに変更できます。 - エージェント会話コンポーネントを構成します。
ダイアログ・エンジンがこのコンポーネントに定義された状態になっている間、スキルは顧客とエージェントの間でメッセージを受け渡します。スキルは、顧客入力の終了キーワード(
bye
など)をリスニングします。これらのキーワードのいずれかがスキルによって検出されると、コンポーネントはライブ・チャット・セッションを終了し、そのnext
遷移をトリガーします。終了キーワードと、コンポーネントのリソース・バンドル・エントリでコンポーネントが使用する標準メッセージ(有効期限やエラー・メッセージなど)を編集できます。これらのエントリにアクセスするには、
をクリックしてスキルの「リソース・バンドル」ページを開き、「構成」タブを選択して、フィルタ・フィールドに
agentc
と入力します。
エージェントによる遷移アクションの指定の有効化
ライブ・チャット・セッションの終了後に遷移する状態をエージェントが指定できるようにする場合は、エージェント開始コンポーネントの「エージェント・アクション」プロパティを使用して、エージェントが送信できるサポート対象アクションをリストし、エージェント会話コンポーネントを使用してそのアクションを状態にマップします。
エージェントがチャット・リクエストを受け入れると、チャット・コンソールに、それぞれの先頭にスラッシュが付いたサポート対象アクション(これらはスラッシュ・アクションと呼ばれます)が表示されます。

エージェントがいずれかのスラッシュ・アクションを送信すると、そのアクションがライブ・エージェント転送フレームワークに送信され、スキルによってライブ・チャットが終了します。エージェント会話コンポーネントにそのアクションのトランジションがある場合、フローは指定された状態に遷移します。エージェントがスラッシュ・アクションを送信した場合、結論メッセージ(systemComponent_AgentConversation_conclusionMessage
リソース・バンドル・エントリに格納)は出力されません。

キューでの順番および待機時間メッセージの上書き
デフォルトでは、チャット・リクエストが送信されると、スキルで出力されるキューでの順番と待機時間に関するメッセージがサービスによって返されます。たとえば、次のようなメッセージが表示されることがあります:
You are in position {0} in our queue. Expected wait time is {1} minute(s) {2} second(s)
system.message.messagePayload.position
およびsystem.messagePayload.waitTime
プロパティをそれぞれ使用して、キューと待機時間のステータスを返すメッセージを作成できます:"You are at number ${system.message.messagePayload.position} in the queue. Your wait time is ${system.message.messagePayload.waitTime}."
メッセージ・コンテンツは、これらのプロパティを組込みのApache FreeMarker操作(次のスニペットのthen
操作など)と組み合せて、カスタマイズできます。ここでは、分または秒に特化したコンテンツをスキルで出力できます。待機時間が60秒またはそれ以上の場合(waitTime>60
)、スキルによって次が出力されます: You are at number 9 in the queue.Your wait time is 1 mins.それ以外の場合は、次が出力されます: You are at number 9 in the queue.Your wait time is 55 seconds.エージェント開始拒否とシステム・エラーの処理
ダイアログ・フローでは、エージェントの起動中に発生する可能性のあるエラーを処理する必要があります。エージェント開始コンポーネントがライブ・エージェント・システムへの接続を開始しようとしたときに、error
またはrejected
アクションが返される場合があります。また、開発者が原因で問題が発生した場合は、システム・エラーが呼び出されることがあります。
-
rejected
アクション:このアクションは、Oracle B2C Serviceが接続リクエストを拒否したときにトリガーされます。接続リクエストが拒否される理由として、次のようなものがあります:- 構成済の営業時間外である
- 休日である
- チャット・サーバーに問題がある
- 使用可能なエージェントがありません(「次の場合に転送を許可」および「キューID」プロパティが必要です)
ノート
使用可能なエージェントがない場合に接続を拒否するには、「次の場合に転送を許可」および「キューID」プロパティを設定する必要があります。それ以外の場合、転送は待機状態のままになります。
Oracle B2C Serviceが接続要求を拒否すると、スキルによって拒否メッセージが表示されます。これは、デフォルトで「Agent rejected」です。その後、
rejected
アクションにマップされている状態に遷移します。systemComponent_AgentInitiation_rejectedMessage
リソース・バンドル・エントリを使用して、カスタム・メッセージを指定できます。このエントリにアクセスするには、をクリックしてスキルの「リソース・バンドル」ページを開き、「構成」タブを選択し、フィルタ・フィールドに
agenti
と入力して、systemComponent_AgentInitiation_rejectedMessageキーを選択します。ヒント:
Oracle B2C Serviceデスクトップ・サービス・コンソールへの管理者アクセス権がある場合、運用時間および休日を表示できます。ナビゲーション・ペインで、「構成」、「サイト構成」の順にクリックし、「インタフェース」をダブルクリックして、「チャット利用時間」をクリックします。 -
error
アクション:このアクションは、Oracle B2C Serviceとの接続の確立に問題がある場合にトリガーされます。たとえば、エージェント統合チャネルのパスワードが有効でなくなった場合や、Oracle B2C Serviceサーバーに問題がある場合などです。このタイプのエラーが発生すると、スキルによってデフォルトで次のメッセージが表示され、
error
アクションにマップされている状態に遷移します。Error transferring to agent, the reason is: <reason>
メッセージは、
systemComponent_AgentInitiation_errorMessage
リソース・バンドル・エントリを編集することで変更できます。 -
システム・エラー: エージェント統合チャネルが存在しないか無効になっている場合、スキルはシステム・エラーを呼び出します。デフォルトでは、スキルには「問題の箇所が見つかりました。後で再試行してください...」というメッセージが表示されます。残念ながら、開発者が問題を修正するまで、ボット・ユーザーが再試行するのに役立ちません。したがって、
error
遷移を追加し、より有用な顧客向けのメッセージを出力する状態に移行することにより、ダイアログ・フローでこれらのエラーをより適切に処理できます。(これはerror action
とは異なります)。または、「設定」→「構成」に移動し、「予期しないエラー・プロンプト」を編集して、デフォルト・メッセージを変更できます。ただし、この変更はスキルにグローバルに影響します。ダイアログ・フローを検証すると、バリデータによってエージェント統合チャネルが見つからないか無効になっているかが通知されるため、スキルをテストする前または公開する前に、必ず実行してください。
次に、システム・エラーを診断する方法をいくつか示します:
-
スキルで「検証」をクリックして、ダイアログ・フローを検証します。
-
プレビューでスキルを実行します。エラーが発生すると、「会話」タブにエラー状態およびメッセージ(理由)が表示されます。
-
error
遷移によるフローのルーティング先となる状態で、Freemarkerテンプレート${system.errorAction}
を含む文字列を出力し、エラー・メッセージ(理由)を出力します。
-