この使用例では、API を使用して既存のログインユーザーのチャット履歴を取得する手順の例を示します。さらに、訪問者のセッションは、彼らのブラウザセッションの間だけ持続する必要があります。ログアウト関数は、チャットを空の状態にリセットし、訪問者を新しい顧客として扱います。

1. セッションベースIDの設定

Chatvisorは、JavaScriptが実装されたページにアクセスしたユーザーに独自のIDを付与します。通常、これらの ID はローカルストレージに保存され、読み込まれます。この場合、ログインしていないユーザーには、たとえ以前に会話をしたことがあっても、常に完全に新しいチャットセッションが表示されるようにします。

そのためには、 Chatvisor を "Session-Based IDs" に切り替える必要があります。この ID は sessionstorage に保存され、ユーザーがブラウザウィンドウを閉じると削除されます。

この設定に関する詳細はこちらをご覧ください。

2. アプリケーションにタグ付けコードを追加する

ユーザーがサインインしているページで、アプリケーションから利用可能なユーザーデータを使って、タグ付け方式の呼び出しを追加します。これにより、既存のブラウザセッションにユーザ情報が追加されます。

CV.user.tag({
    "email": "[email protected]",
    "firstname": "John",
    "lastname": "Doe",
    "labels": []
})

ログアウト関数では、ユーザーセッションをリセットするために、このような呼び出しを含めます。これは、チャットウィンドウから現在のチャット履歴を削除し、ユーザーを新規顧客として扱います。

CV.user.reset();

顧客を特定のエージェントに割り当てたい場合は、assignedUser プロパティを次のように記述します:

CV.user.tag({
    "email": "[email protected]",
    "firstname": "John",
    "lastname": "Doe",
    "assignedUser": "[email protected]"
    "labels": []
})

3. 結果を確認する

この設定が完了すると、ページを訪問したユーザーは常に新しいセッションIDを受け取り、空のチャットが表示されます。

ログインしたユーザーは、自動的にチャット履歴を取得し、チャットウィンドウで確認することができます。

ログアウトしたユーザーは、チャット履歴が表示されず、新しい顧客として扱われます。