提供: Bright Pattern Documentation
• English
LINE Call Plus 活用シナリオチュートリアル
コンタクトセンターで「LINE Call Plus」サービスを使用しており、LINEをメッセンジャー連携として設定済みの場合、貴社のウェブサイトに掲載された特別なリンクをクリックすることで、お客様がLINEアカウントからコンタクトセンターへ電話をかけることが可能になります。これらのリンクから、User-to-Userヘッダーに含まれる非公開のLINEユーザーIDや、設定済みのメッセージ情報を抽出することができます。
抽出された情報を使用して、データベースから該当する連絡先を検索したり、コンタクトセンターに特定のメッセージや情報を渡したりすることができます(例:「このページは役に立ちましたか?」という質問に対して、お客様が「はい」ボタンをクリックした場合など)。
以下のシナリオでは、次の手順について説明します:
- replace関数、正規表現(regex)、およびunhex関数を使用して、User-to-Userヘッダーを不透明なLINEユーザーIDに変換し、User-to-Userヘッダーで渡されたその他の設定済みメッセージ情報も同様に変換する方法。
- 不透明なLINEユーザーIDを使用してデータベース内で顧客を検索し、その顧客ファイルにアクティビティ履歴のメモを追加する方法。
- 設定されたメッセージ情報に応じて、お客様の選択を確認するシステムプロンプトを再生する方法。
注意事項:
- このチュートリアルおよびLINE通話を機能させるには、ウェブサイトまたはチャットフローにLINE URLを配置する必要があります。
- このシナリオを機能させるには、サービスプロバイダーがコンタクトセンターのトランクに次の高度なオプションを追加する必要があります:「pass_headers_to_scenario」:["User-To-User"]
- さらに、サービスプロバイダーがコンタクトセンターのトランクをLINE向けに設定し、コンタクトセンターのアカウント用にLINE電話番号を割り当てる必要があります。
- このチュートリアルでは、着信チャットシナリオの設定方法については説明していません。このトピックの詳細については、『管理者向けチュートリアル』のセクション 「チャットサービスの設定」をご参照ください。
- エージェントがLINE経由で顧客にメッセージを送るようにするには、LINEメッセンジャーの連携アカウントを設定しておく必要があります。
シナリオの例
以下のリンクをクリックして、この音声シナリオ例の注釈付きバージョンをダウンロードしてください。
このファイルをコンタクトセンターにインポートする方法については、『コンタクトセンター管理者ガイド』のセクション 「シナリオの概要」>「シナリオのエクスポートおよびインポート方法」をご参照ください。
シナリオに関する一般的な情報については、『シナリオビルダーリファレンスガイド』のセクション 「シナリオビルダーの概要」をご参照ください。
設定
1. User-to-Userヘッダーから、不透明なLINEユーザーIDおよび設定済みのメッセージ情報を抽出します
- 最初のステップは、変数の設定ブロック内でreplace関数を使用することです。この関数は、変数$(item.sip.headers.User-To-User)の正規表現解析済みの値を返します。この値は、新規の変数名cleanhexとして設定されます。これにより、返された式(つまり、cleanhexとして渡されたもの)を、後続の「変数の設定」ブロック内のunhexed関数で適切に処理できるようになります。
変数$(item.sip.headers.User-To-User)の値がシステムによってどのように受け取られるかを以下に示します:
047b22757365724964223a22556137333561623733313430633535646434633830336463656665303762343565227d2c63616c6c65724e6f7465;encoding=hex
このreplace関数に追加する正規表現は、文字列の「;encoding=hex」の部分を削除するもので、これにより、後続のシナリオブロックで文字列を適切に処理できるようになります。 - 次の「変数の設定」ブロックでは、unhex関数を使用して、正規表現で解析されたUser-to-Userヘッダー(つまり、cleanhexとして渡されたもの)をデコードします。新しい変数の名前はunhexedです。念のため申し添えますと、サービスプロバイダーは、コンタクトセンターのトランクに以下の高度なオプションを追加する必要があります:「pass_headers_to_scenario」: ["User-To-User"]
$(cleanhex)変数の値は、以下のようになります:
047b22757365724964223a22556137333561623733313430633535646434633830336463656665303762343565227d2c63616c6c65724e6f7465
これをunhex処理すると、以下のようになります:
{"userId":"Ua735ab73140c55dd4c803dcefe07b45e"},callerNote - 次の2つの「変数の設定」ブロックでは、replace関数を使用して、unhexed変数の値を、正規表現で解析された2つの異なるバージョンに置き換えます。
- 最初の式は、変数LINE_user_IDとして設定されており、LINEユーザーIDを返します。
$(unhexed)の値は、以下のようになります:
{"userId":"Ua735ab73140c55dd4c803dcefe07b45e"},callerNote
このreplace関数に追加する正規表現は、実際の不透明なLINEユーザーID以外のすべてを削除します。その結果は以下のようになります:
Ua735ab73140c55dd4c803dcefe07b45e - 2つ目の式(変数Caller_Noteとして設定しています)は、User-to-Userヘッダーで渡されたメモの値を返します。
$(unhexed)の値は、次のような形式になります:
{"userId":"Ua735ab73140c55dd4c803dcefe07b45e"},callerNote
このreplace関数に追加する正規表現は、変数callerNoteの値以外のすべてを削除します。その結果は以下のようになります:
callerNote
- 最初の式は、変数LINE_user_IDとして設定されており、LINEユーザーIDを返します。
2. 内部データベースから適合するLINEユーザーを検索する
- 次に、Bright Pattern 検索オブジェクトブロック内で、変数LINE_user_IDを使用して、適合する情報を持つ連絡先を検索します。なお、このシナリオでは、連絡先は内部データベースに保存されていることにご留意ください。検索クエリは次のように設定します:
- メッセンジャーID
- 等しい
- $(LINE_user_ID)
- LINE
- 返されるフィールドとしては、「メッセンジャー」を選択します。返されるフィールドの詳細については、セクション「CRMオブジェクトの標準フィールド」をご参照ください。結果はレコードセット名として返されます。レコードセット名はRSと設定しています。
3. 「If」ブロックを使用して、適合した連絡先に対してどのような処理を行うかを決定します
- Bright Pattern 検索オブジェクトブロックの結果(つまり、LINEユーザーが特定されたか否か)に応じて、Ifブロックを使用して、システムが結果に対してどのように対応するかを指定できます。この例では、連絡先が見つかった場合にアクティビティ履歴のメモを作成します。
- そこで、「If」ブロックには2つの分岐を作成します。1つは適合する値(User Found)用、もう1つは適合しない値(User Not Found)用です。
- 「User Found」の分岐については、以下の条件を作成します:
- シナリオ変数(文字列)
- RS.messengers[0].user_id
- is
- not empty
- この条件は、前のブロックで取得した顧客レコードを参照し、適合するLINE IDがあるかどうかを確認します。適合するものがあれば、シナリオはこの分岐に進みます。この分岐には、アクティビティ履歴のメモを作成するように設定されたBright Pattern 作成オブジェクトブロックが含まれています。
- 「User Not Found」の分岐については、ほぼ同じ条件を設定します(つまり、唯一の違いは、「not empty」の代わりに「empty」を選択する点です)。適合するLINE IDが見つからない場合、シナリオはこの分岐に進み、次の「If」ブロックへと進みます。
4. 別の「If」ブロックを使用して、発信者メモに対するシステムの応答方法を指定します
- Caller_Note変数の結果に応じて、もう1つのIfブロックを使用して、その情報に対するシステムの応答方法を指定できます。この例では、Caller_Note変数の結果に基づいて、システムが発信者に応答するようにします。
- そこで、「If」ブロックに2つの分岐を作成します。1つは戻り値が「Praise」の場合、もう1つは戻り値が「Criticism」の場合です。
- 「Praise」の分岐については、次のような条件を作成します:
- シナリオ変数(文字列)
- Caller_Note
- =
- Praise
- 「Criticism」の分岐については、以下の条件を作成します:
- シナリオ変数(文字列)
- Caller_Note
- =
- Criticism
- いずれの場合も、Caller_Note変数の値が受信されると、特別に設定されたプロンプトの再生ブロックが実行され、その後、コールは次のエージェントの検索ブロックに接続されます。
シナリオを完了する
- 最後に、必要な情報を抽出して処理した後(または情報が見つからなかった場合)、最も基本的な2つのブロックであるエージェントの検索とコールの接続を使用して、音声シナリオを完了させます。
< 前へ | 次へ >