チャットイベント通知の受信
特定のチャットイベントがトリガされた場合の通知を設定します。これらの特定のイベントに登録するには、組み込みチャットのコードスニペット内で embedded_svc.addEventHandler をコールします。
次のイベントは、JSON オブジェクトパラメ��タを指定されたコールバックに渡します。コールバックには 1 つの属性が含まれます。
1{
2 liveAgentSessionKey: chasitorData.chatKey
3 }| eventName | シナリオ |
|---|---|
| onAgentJoinedConference | エージェントがチャット会議に参加すると起動されます。 |
| onAgentLeftConference | エージェントがチャット会議を退席すると起動されます。 |
| onAgentMessage | エージェントがメッセージを送信すると起動されます。 |
| onAgentRichMessage | チャットボットがリッチメッセージを送信すると起動されます。チャットボットはリッチメッセージとプレーンメッセージを組み合わせて送信します。 |
| onChasitorMessage | チャット訪問者がメッセージを送信すると起動されます。 |
| onChatConferenceEnded | チャット会議が終了すると起動されます。 |
| onChatConferenceInitiated | チャット会議が開始されると起動されます。 |
| onChatEndedByAgent | エージェントがチャットを終了すると起動されます。 |
| onChatEndedByChasitor | チャット訪問者がチャットを終了すると起動されます。 |
| onChatReconnectSuccessful | チャットの再接続が成功すると起動されます。 |
| onChatRequestSuccess | チャット要求が成功すると起動されます。 |
| onChatTransferSuccessful | チャット転送が成功すると起動されます。 |
| onConnectionError | エージェントへの接続が失われると起動されます。 |
| onIdleTimeoutClear | アイドルタイムアウト警告が表示された後に訪問者が応答すると起動されます。警告はクリアされます。 |
| onIdleTimeoutOccurred | 訪問者がアイドル状態になったためにチャットがタイムアウトすると起動されます。チャットは終了し、訪問者にはチャットが終了したというメッセージが表示されます。 |
| onIdleTimeoutWarningStart | [設定] の [[チャット] ボタンと招待] の [顧客のタイムアウト警告 (秒)] 項目で設定された時間が経過しても訪問者がエージェントに応答しないと起動されます。 |
| onQueueUpdate | 次の場合に起動されます。
|
次のクライアントに対するアプリケーションレベルの一般イベントはチャットセッション固有ではありませんが、チャット中に使用できます。これらのイベントでは、データはブロードキャストされません。
| eventName | シナリオ |
|---|---|
| afterMaximize | エンドユーザが最小化された状態をクリックすることで組み込みサービスチャットアプリケーションが最大化されると起動されます。 |
| afterDestroy | 組み込みサービスチャットが終了し、アプリケーションが閉じられると起動されます。 |
| afterMinimize | エンドユーザがチャットウィンドウヘッダーの最小化ボタンをクリックすることで組み込みサービスチャットアプリケーションが最小化されると起動されます。 |
| onClickSubmitButton | オフラインサポート UI コンポーネントの [送信] ボタンのクリックハンドラ。 |
| onHelpButtonClick | ヘルプボタンがクリックされたときに起動するコールバック。 |
| onInviteAccepted | 自動チャット招待を受け入れます。 |
| onInviteRejected | 自動チャット招待を却下します。 |
| onSettingsCallCompleted | getSettings コールが完了すると起動されます。コールは、ページ読み込み時に実行され、要求されたチャットボタンの設定を取得します。スニペットのボタンの最初のエージェント対応可能状況を含みます。 |
コード例
次のコードは、組み込みサービスチャットのコードスニペットでのこれらのイベントの使用例です。
1embedded_svc.addEventHandler("onHelpButtonClick", function(data) {
2 console.log("onHelpButtonClick event was fired.");
3});
4
5embedded_svc.addEventHandler("onChatRequestSuccess", function(data) {
6 console.log("onChatRequestSuccess event was fired. liveAgentSessionKey was " + data.liveAgentSessionKey);
7});
8
9embedded_svc.addEventHandler("onChatEstablished", function(data) {
10 console.log("onChatEstablished event was fired. liveAgentSessionKey was " + data.liveAgentSessionKey);
11});
12
13embedded_svc.addEventHandler("onChasitorMessage", function(data) {
14 console.log("onChasitorMessage event was fired. liveAgentSessionKey was " + data.liveAgentSessionKey);
15});
16
17embedded_svc.addEventHandler("onAgentMessage", function(data) {
18 console.log("onAgentMessage event was fired. liveAgentSessionKey was " + data.liveAgentSessionKey);
19});
20
21embedded_svc.addEventHandler("onChatConferenceInitiated", function(data) {
22 console.log("onChatConferenceInitiated event was fired. liveAgentSessionKey was " + data.liveAgentSessionKey);
23});
24
25embedded_svc.addEventHandler("onAgentJoinedConference", function(data) {
26 console.log("onAgentJoinedConference event was fired. liveAgentSessionKey was " + data.liveAgentSessionKey);
27});
28
29embedded_svc.addEventHandler("onAgentLeftConference", function(data) {
30 console.log("onAgentLeftConference event was fired. liveAgentSessionKey was " + data.liveAgentSessionKey);
31});
32
33embedded_svc.addEventHandler("onChatConferenceEnded", function(data) {
34 console.log("onChatConferenceEnded event was fired. liveAgentSessionKey was " + data.liveAgentSessionKey);
35});
36
37embedded_svc.addEventHandler("onChatTransferSuccessful", function(data) {
38 console.log("onChatTransferSuccessful event was fired. liveAgentSessionKey was " + data.liveAgentSessionKey);
39});
40
41embedded_svc.addEventHandler("onChatEndedByChasitor", function(data) {
42 console.log("onChatEndedByChasitor event was fired. liveAgentSessionKey was " + data.liveAgentSessionKey);
43});
44
45embedded_svc.addEventHandler("onChatEndedByAgent", function(data) {
46 console.log("onChatEndedByAgent event was fired. liveAgentSessionKey was " + data.liveAgentSessionKey);
47});
48
49embedded_svc.addEventHandler("onQueueUpdate", function(data) {
50 console.log("onQueueUpdate event was fired. liveAgentSessionKey was " + data.liveAgentSessionKey + "and queuePosition was " + data.queuePosition);
51});
52
53embedded_svc.addEventHandler("onIdleTimeoutOccurred", function(data) {
54 console.log("onIdleTimeoutOccurred event was fired. liveAgentSessionKey was " + data.liveAgentSessionKey);
55});
56
57embedded_svc.addEventHandler("onConnectionError", function(data) {
58 console.log("onConnectionError event was fired. liveAgentSessionKey was " + data.liveAgentSessionKey);
59});
60
61embedded_svc.addEventHandler("onClickSubmitButton", function(data) {
62 console.log("onClickSubmitButton event was fired. liveAgentSessionKey was " + data.liveAgentSessionKey);
63});
64embedded_svc.addEventHandler("onInviteAccepted", function(data) {
65 console.log("onInviteAccepted event was fired.");
66});
67
68embedded_svc.addEventHandler("onInviteRejected", function(data) {
69 console.log("onInviteRejected event was fired.");
70});
71
72embedded_svc.addEventHandler("onSettingsCallCompleted", function(data) {
73 console.log("onSettingsCallCompleted event was fired. Agent availability status is " + data.isAgentAvailable ? "online": "offline");
74});