getDetails
getDetails JavaScript メソッドは、リリース API および事前チャット API を使用して渡されたカスタム詳細とチャット情報にアクセスして Visualforce チャットウィンドウに取り込むために使用します。
使用方法
リリース API および事前チャット API を使用してチャットに渡されたチャット情報とカスタム詳細を抽出し、この情報を Visualforce チャットウィンドウに統合します。カスタム Visualforce チャットウィンドウ内でこのメソッドをコールします。
チャット情報およびカスタム詳細が変更されたか利用可能になったときにこのメソッドをコールします。これらの詳細が利用可能になったか更新されたことを確認するには、次の 3 つの必要なイベントをチャットウィンドウのコードに含める必要があります。
1liveagent.addEventListener(liveagent.chasitor.Events.CHAT_REQUEST_SUCCESSFUL, myCallBack);
2 liveagent.addEventListener(liveagent.chasitor.Events.CHAT_ESTABLISHED, newagent);
3 liveagent.addEventListener(liveagent.chasitor.Events.AGENT_CHAT_TRANSFERRED, newagent);次のコードサンプルで、これらのイベントを取り込む方法を確認できます。
API バージョン 29.0 以降で使用できます。
構文
liveagent.chasitor.getDetails();
応答
| 名前 | 型 | 説明 | 使用可能なバージョン |
|---|---|---|---|
| details | Object | Visualforce チャットウィンドウに取り込むすべてのカスタム詳細を含むオブジェクト。 | API バージョン 29.0 以降で使用できます。 |
getDetails メソッドは、次のサンプルオブジェクトに類似した構造を持つ details JavaScript オブジェクトを返します。
1{
2 "geoLocation":{
3 "countryCode":"US",
4 "countryName":"United States",
5 "longitude":-122.4294,
6 "organization":"SALESFORCE.COM",
7 "latitude":37.764496,
8 "region":"CA",
9 "city":"San Francisco"
10
11 },
12 "customDetails":[
13 {
14 "label":"Email",
15 "value":"example@salesforce.com",
16 "transcriptFields":[],
17 "entityMaps":[]
18 },
19 {
20 "label":"Email",
21 "value":"sonic@sega.com",
22 "transcriptFields":["Email__c"],
23 "entityMaps":[
24 {
25 "fieldName":"Email",
26 "isAutoQueryable":true,
27 "entityName":"Contact",
28 "isExactMatchable":true,
29 "isFastFillable":false
30 }]
31 }
32 ],
33 "prechatDetails":[
34 {
35 "label":"prechat field",
36 "value":"any info",
37 "transcriptFields":[],
38 "entityMaps":[]
39 }],
40 “agent” : {
41 "agentName":"jsmith",
42 "userId":"005x0000001JGgr",
43 "transfer":0
44 },
45 "visitorId":"251a5956-bcbc-433d-b822-a87c062e681c",
46}コードサンプル
1swfobject.registerObject("clippy.codeblock-2", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17<apex:page showHeader="false">
18
19<script type='text/javascript'>
20 liveagent.addEventListener(liveagent.chasitor.Events.CHAT_REQUEST_SUCCESSFUL,
21 myCallBack);
22 liveagent.addEventListener(liveagent.chasitor.Events.CHAT_ESTABLISHED,
23 newagent);
24 liveagent.addEventListener(liveagent.chasitor.Events.AGENT_CHAT_TRANSFERRED,
25 newagent);
26
27 function myCallBack() {
28 var details = liveagent.chasitor.getDetails();
29// ..
30 }
31
32 function newagent() {
33 var details = liveagent.chasitor.getDetails();
34// …
35 }
36</script>
37
38<style>
39html {
40 padding: 20px;
41}
42body {
43 background-color: #778899;
44 overflow: hidden;
45 width: 100%;
46 height: 100%;
47 padding: 20px;
48 margin: 0
49}
50#waitingMessage {
51 color:white;
52 height: 100%;
53 width: 100%;
54 vertical-align: middle;
55 text-align: center;
56 display: none;
57 }
58#liveAgentClientChat.liveAgentStateWaiting #waitingMessage { display: table; }
59#liveAgentSaveButton, #liveAgentEndButton { z-index: 2; }
60.liveAgentChatInput {
61 top:8px;
62 height: 25px;
63 border-width: 1px;
64 border-style: solid;
65 border-color: #BB0000;
66 padding: 2px 0 2px 4px;
67 background: #fff;
68 display: block;
69 width: 99%;
70}
71.liveAgentSendButton {
72 display: block;
73 width: 60px;
74 height: 31px;
75 padding: 0 0 3px;
76 position: absolute;
77 top: 0;
78 right: -67px;
79}
80#liveAgentChatLog {
81 border-color: #BB0000;
82 background-image:linear-gradient(#DDEEFF, #AABBCC);
83 box-shadow: 10px 10px 5px #888888;
84 border-radius: 10px;
85 padding:10px;
86 width: auto;
87 height: auto;
88 top: 3px;
89 position: absolute;
90 overflow-y: auto;
91 left: 0;
92 right: 0;
93 bottom: 0;
94}
95</style>
96
97<div style="top: 0; left: 0; right: 0; bottom: 0; position: absolute; padding:10px;">
98<liveAgent:clientchat >
99 <liveAgent:clientChatSaveButton label="Save Chat" />
100 <liveAgent:clientChatEndButton label="End Chat" />
101 <div id="prechatdata">
102 </div>
103 <div style="top: 30px; left: 5px; right: 5px; bottom: 5px;
104 position: absolute; z-index: 0;">
105 <liveAgent:clientChatAlertMessage />
106 <liveAgent:clientChatStatusMessage />
107 <table id="waitingMessage" cellpadding="0" cellspacing="0">
108 <tr>
109 <td>Please wait while you are connected to an available agent.</td>
110 </tr>
111 </table>
112 <div style="top: 0; right: 0; bottom: 41px; left: 0; padding: 0;
113 position: absolute; word-wrap: break-word; z-index: 0;">
114 <liveAgent:clientChatLog />
115 </div>
116 <div style="position: absolute; height: auto; right: 0; bottom: 0; left: 0;
117 margin-right: 67px;">
118 <liveagent:clientChatInput /><liveAgent:clientChatSendButton label="Send"/>
119 </div>
120 </div>
121</liveAgent:clientchat>
122</div>
123</apex:page>