質問
訪問者のチャット接続が タイムアウトし たのに、ウィジェットがロードされたウィンドウまたはタブを閉じずに再接続した場合、新しいメッセージを送信した場合、 プリチャットフォーム は自動的に表示されません。訪問者がタイムアウト後に再接続したときに、常にWeb Widgetにプリチャットフォームを表示させる方法はありますか?
回答
メモ:プリチャットフォームはオンラインチャットの機能であり、メッセージングにはありません。メッセージングの詳細については、次の記事を参照してください:メッセージングについて
デフォルトでは、訪問者は再接続したときにプリチャットフォームをスキップします。ただし、次のスクリプトを適用し、APIを使用して再接続したときにプリチャットフォームを表示させることができます。
<script id="ze-snippet"
src="https://static.zdassets.com/ekr/snippet.js?key=ACCOUNT_KEY"> </script>
<script>
// run whenever chat connects (or reconnects)
zE('webWidget:on', 'chat:connected', function() {
// get the current state of the chat session
let isChatting = zE('webWidget:get', 'chat:isChatting');
// check there is not already an active chat session
if (isChatting == false) {
// if not then get the current state of the widget
let widgetState = zE('webWidget:get', 'display');
// check if already in the open 'chat' state, indicating prior timeout
if (widgetState == 'chat') {
// if it is then close the widget, reset and reopen in pre-chat state
zE('webWidget', 'close');
zE('webWidget', 'reset');
zE('webWidget', 'open');
}
}
// finally apply (or reapply) widget settings if needed (see note below)
zE('webWidget', 'updateSettings', {
webWidget: {
chat: {
departments: {
select: 'Shopping Cart'
}
}
}
});
});
</script>
このスクリプトの最後の手順では、updateSettingsAPIを使用してウィジェットの設定を適用または再適用します。上の例では、ウィジェットが最初に接続したとき、または再接続されるたびに「ショッピングカート」部門が適用されます。 このワークフローについては、次の関連記事を参照してください:タイムアウトしたチャット訪問者が再接続した後に、部署を再適用できますか?
このソリューションが正しく設定されていることを確認するには、ウィジェットの接続時に現在の状態を確認します。必要に応じてウィジェットを閉じ、リセットして、再オープンし、再接続した訪問者にプリチャットフォームが表示されるようにします。
免責事項:この記事は説明のみを目的として提供されています。記事内で例示したコードについて、Zendeskはサポートも保証もいたしません。何か問題があった場合はコメント欄に投稿するか、インターネットで解決策を探してみてください。
翻訳に関する免責事項:この記事は、お客様の利便性のために自動翻訳ソフトウェアによって翻訳されたものです。Zendeskでは、翻訳の正確さを期すために相応の努力を払っておりますが、翻訳の正確性については保証いたしません。
翻訳された記事の内容の正確性に関して疑問が生じた場合は、正式版である英語の記事を参照してください。
0 コメント
サインインしてコメントを残してください。