Salesforce コンソールインテグレーションツールキット開発者ガイド

Salesforce コンソールインテ
グレーションツールキット開
発者ガイド
バージョン 34.0, Summer ’15
@salesforcedocs
最終更新日: 2015/6/10
© Copyright 2000–2015 salesforce.com, inc. All rights reserved. Salesforce およびその他の名称や商標は、salesforce.com,
inc. の登録商標です。本ドキュメントに記載されたその他の商標は、各社に所有権があります。
目次
第 1 章: Salesforce コンソールインテグレーションツールキットの概要 . . . . . . . . . 1
Salesforce コンソールインテグレーションツールキットを使用するケース . . . . . . . . .
Salesforce コンソールインテグレーションツールキットのサポートポリシー . . . . . . . .
後方互換性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
有効期限 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
その他のリソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Salesforce コンソールインテグレーションツールキットの表記規則 . . . . . . . . . . . . . .
Salesforce コンソールインテグレーションツールキットを使用したサンプル Visualforce
ページ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
2
3
3
4
4
5
..6
第 2 章: Salesforce コンソールインテグレーションツールキットの使用 . . . . . . . . 8
ツールキットへの接続 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Salesforce コンソールインテグレーションツールキットを使用した非同期コール . . . . . . 9
Force.com Canvas の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
ベストプラクティス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
第 3 章: 主タブとサブタブ用のメソッド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
closeTab() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
focusPrimaryTabById() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
focusPrimaryTabByName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
focusSidebarComponent() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
focusSubtabById() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
focusSubtabByNameAndPrimaryTabId() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
focusSubtabByNameAndPrimaryTabName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
generateConsoleUrl() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
getEnclosingPrimaryTabId() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
getEnclosingPrimaryTabObjectId() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
getEnclosingTabId() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
getFocusedPrimaryTabId() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
getFocusedPrimaryTabObjectId() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
getFocusedSubtabId() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
getFocusedSubtabObjectId() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
getPageInfo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
getPrimaryTabIds() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
getSubtabIds() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
getTabLink() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
isInConsole() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
onEnclosingTabRefresh() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
onFocusedSubtab() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
目次
onTabSave() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
openConsoleUrl() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
openPrimaryTab() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
openSubtab() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
openSubtabByPrimaryTabName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
refreshPrimaryTabById() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
refreshPrimaryTabByName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
refreshSubtabById() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
refreshSubtabByNameAndPrimaryTabId() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
refreshSubtabByNameAndPrimaryTabName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
resetSessionTimeOut() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
setTabUnsavedChanges() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
setTabIcon() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
setTabLink() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
setTabStyle() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
setTabTextStyle() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
setTabTitle() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
第 4 章: ナビゲーションタブのメソッド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
focusNavigationTab() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
getNavigationTabs() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
getSelectedNavigationTab() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
refreshNavigationTab() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
setSelectedNavigationTab() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
第 5 章: コンピュータテレフォニーインテグレーション (CTI) のメソッド . . . . . . 74
fireOnCallBegin() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
fireOnCallEnd() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
fireOnCallLogSaved() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
getCallAttachedData() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
getCallObjectIds() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
onCallBegin() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
onCallEnd() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
onCallLogSaved() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
onSendCTIMessage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
sendCTIMessage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
setCallAttachedData() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
setCallObjectIds() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
第 6 章: アプリケーションレベルのカスタムコンソールコンポーネント用のメ
ソッド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
addToBrowserTitleQueue() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
blinkCustomConsoleComponentButtonText() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
isCustomConsoleComponentPoppedOut() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
目次
isCustomConsoleComponentWindowHidden() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
isCustomConsoleComponentHidden() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
isInCustomConsoleComponent() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
onCustomConsoleComponentButtonClicked() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
onFocusedPrimaryTab() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
removeFromBrowserTitleQueue() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
scrollCustomConsoleComponentButtonText() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
setCustomConsoleComponentButtonIconUrl() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
setCustomConsoleComponentButtonStyle() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
setCustomConsoleComponentButtonText() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
setCustomConsoleComponentHeight() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
setCustomConsoleComponentVisible() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
setCustomConsoleComponentWidth() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
setCustomConsoleComponentPopoutable() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
setCustomConsoleComponentWindowVisible() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
setSidebarVisible() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
第 7 章: 転送通知用のメソッド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
addPushNotificationListener() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
removePushNotificationListener() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
第 8 章: コンソールイベントのメソッド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
addEventListener() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
fireEvent() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
removeEventListener() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
第 9 章: Live Agent のメソッド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
acceptChat() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
cancelFileTransferByAgent() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
declineChat() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
endChat() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
getAgentInput() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
getAgentState() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
getChatLog() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
getChatRequests() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
getDetailsByChatKey() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
getDetailsByPrimaryTabId() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
getEngagedChats() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
getMaxCapacity() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
initFileTransfer() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
onAgentSend() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
onAgentStateChanged() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
onChatCanceled() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
onChatCriticalWaitState() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
目次
onChatDeclined() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
onChatEnded() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
onChatRequested() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
onChatStarted() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
onChatTransferredOut() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
onCurrentCapacityChanged() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
onCustomEvent() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
onFileTransferCompleted() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
onNewMessage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
onTypingUpdate() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
sendCustomEvent() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
sendMessage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
setAgentInput() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
setAgentState() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Live Agent チャット訪問者のメソッド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
chasitor.addCustomEventListener() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
chasitor.getCustomEvents() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
chasitor.sendCustomEvent() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
第 10 章: オムニチャネルのメソッド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
acceptAgentWork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
closeAgentWork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
declineAgentWork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
getAgentWorks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
getServicePresenceStatusChannels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
getServicePresenceStatusId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
logout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
setServicePresenceStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
オムニチャネルコンソールイベントのメソッド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
用語集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
第1章
Salesforce コンソールインテグレーショ
ンツールキットの概要
Salesforce コンソールは、Salesforce でレコードの検索、更新、および作成をすばやく行う必要のある、変化の速
い環境にあるユーザ向けに設計されています。Salesforce コンソールインテグレーションツールキットでは、
Salesforce コンソールにプログラムを使用してアクセスできるため、ビジネスニーズに応じてそれを拡張するこ
とができます。Salesforce コンソールインテグレーションツールキットを使用すると、コンソールのタブの開閉
によって、ビジネスプロセスを合理化できます。たとえば、1 つのタブ内の同じウィンドウで外部アプリケー
ションを開いた状態で、サードパーティシステムとコンソールを統合することができます。
このガイドを使用するには、次の基本事項を理解しておく必要があります。
• JavaScript
• Visualforce
• Web サービス
• ソフトウェア開発
• Salesforce コンソール
このガイドでは、Salesforce コンソールインテグレーションツールキットを JavaScript で使用して、API コールと
プロセスを組み込む方法を説明します。このツールキットは www.yourdomain.com などのサードパーティド
メインで使用できますが、このガイドの例では Visualforce での使用を想定しています。ここで説明されている
機能は、次を所有している場合に組織で使用できます。
• Service Cloud を持つ、Enterprise Edition、Unlimited Edition、Performance Edition、Developer Edition
• Salesforce コンソール
Salesforce コンソールインテグレーションツールキットは、ブラウザベースの JavaScript API です。ブラウザをク
ライアントとして使用して、コンソールにタブとしてページを表示します。Salesforce コンソールインテグレー
ションツールキットの特徴は次のとおりです。
• 所定のリリースのAPIバージョンと一致します。たとえば、SOAP APIの現在のバージョンが 20.0 である場合、
Salesforce コンソールインテグレーションツールキットのバージョン 20.0 も存在します。
• Salesforce コンソールがサポートするすべてのブラウザをサポートします。詳細は、Salesforce オンラインヘ
ルプの「Salesforce コンソール」を参照してください。
メモ: サードパーティドメインのツールキットを有効化するには、Salesforce コンソールのホワイトリスト
にそのドメインを追加する必要があります。Salesforce オンラインヘルプの「Salesforce コンソールのホワイ
トリストのドメイン」を参照してください。
このセクションの内容:
Salesforce コンソールインテグレーションツールキットを使用するケース
Salesforce コンソールインテグレーションツールキットは、上級管理者または開発者が Salesforce コンソール
のカスタム機能を実装する場合に役立ちます。たとえば、Salesforce コンソールインテグレーションツール
キットを使用して、Visualforce ページまたはサードパーティ製のコンテンツを Salesforce コンソールのタブと
して表示できます。Salesforce コンソールインテグレーションツールキットは、ブラウザをクライアントと
して使用し、コンソールにページを表示するための API です。
1
Salesforce コンソールインテグレーションツールキット
の概要
Salesforce コンソールインテグレーションツールキット
を使用するケース
Salesforce コンソールインテグレーションツールキットのサポートポリシー
Salesforce コンソールインテグレーションツールキットで機能強化が含まれるバージョンは、最新リリース
のみです。以前のバージョンには、修正が含まれていない可能もあります。新しいバージョンがリリース
されても、以前のバージョンを引き続き使用できます。
その他のリソース
このガイドの他にも、以下のように、Salesforce コンソールインテグレーションツールキットの使用方法を
学習するためのリソースがあります。
Salesforce コンソールインテグレーションツールキットの表記規則
Salesforce コンソールインテグレーションツールキットのガイドでは、次の表記規則を使用します。
Salesforce コンソールインテグレーションツールキットを使用したサンプル Visualforce ページ
この例では、Salesforce コンソールインテグレーションツールキットを使用して、Salesforce コンソールのユー
ザインターフェースを変更する方法を示します。
Salesforce コンソールインテグレーションツールキットを使用す
るケース
Salesforce コンソールインテグレーションツールキットは、上級管理者または開発者が Salesforce コンソールのカ
スタム機能を実装する場合に役立ちます。たとえば、Salesforce コンソールインテグレーションツールキットを
使用して、Visualforce ページまたはサードパーティ製のコンテンツを Salesforce コンソールのタブとして表示で
きます。Salesforce コンソールインテグレーションツールキットは、ブラウザをクライアントとして使用し、コ
ンソールにページを表示するための API です。
次の表に、開発者が Salesforce 組織のカスタム機能を実行するために使用できるその他の機能を示します。
機能
説明
SOAP API
一度に 1 つのレコードタイプのみを処理し、トランザクション制御 (Savepoint の設
定や変更のロールバックなど) を必要としない複合アプリケーションに機能を追加
する場合、標準の SOAP API コールを使用します。
詳細は、『SOAP API 開発者ガイド』を参照してください。
Visualforce
Visualforceでは、タグベースのマークアップ言語を使用して、開発者はより効果的
にアプリケーションを開発したり、Salesforce のユーザインターフェースをカスタ
マイズしたりできます。Visualforce を使用して、次のことができます。
• ウィザードやその他のマルチステッププロセスの構築
• アプリケーションを介した独自のカスタムフローコントロールの作成
• 最適かつ効果的なアプリケーションの相互作用を目的とした、ナビゲーション
パターンやデータ固有ルールの定義
詳細は、『Visualforce 開発者ガイド』を参照してください。
2
Salesforce コンソールインテグレーションツールキット
の概要
Salesforce コンソールインテグレーションツールキット
のサポートポリシー
機能
説明
Apex
次のような場合に Apex を使用します。
• Web サービスを作成する
• メールサービスを作成する
• 複数のオブジェクトに複雑な検証を実行する
• ワークフローでサポートされていない複雑なビジネスプロセスを作成する
• カスタムトランザクションロジック (1 つのレコードやオブジェクトだけでな
く、トランザクション全体で発生するロジック) を作成する
• レコードの保存などの別の操作にカスタムロジックを追加し、ユーザインター
フェース、Visualforce ページ、SOAP API のいずれから操作が実行されても、ロ
ジックが実行されるようにする
詳細は、『Force.com Apex コード開発者ガイド』を参照してください。
Salesforce コンソールインテグレーションツールキットのサポー
トポリシー
Salesforce コンソールインテグレーションツールキットで機能強化が含まれるバージョンは、最新リリースのみ
です。以前のバージョンには、修正が含まれていない可能もあります。新しいバージョンがリリースされて
も、以前のバージョンを引き続き使用できます。
このセクションの内容:
後方互換性
Salesforce では、Salesforce コンソールインテグレーションツールキットを使用する場合の後方互換性を容易
に確保できるように努めています。
有効期限
Salesforce では、Salesforce コンソールインテグレーションツールキットの各バージョンを最初のリリース日
から最低 3 年間サポートします。Salesforce コンソールインテグレーションツールキットの品質とパフォー
マンスを改善するために、リリースから 3 年を超えるバージョンはサポートを停止する可能性があります。
後方互換性
Salesforce では、Salesforce コンソールインテグレーションツールキットを使用する場合の後方互換性を容易に確
保できるように努めています。
新しい Salesforce リリースは、次の 2 つのコンポーネントで構成されています。
• Salesforce システムにある新しいリリースのプラットフォームソフトウェア
• 新しいバージョンの API
3
Salesforce コンソールインテグレーションツールキット
の概要
有効期限
たとえば、Summer '10 リリースには API バージョン 19.0 が、Winter '11 リリースには API バージョン 20.0 が含まれ
ていました。
Salesforce コンソールインテグレーションツールキットのバージョンは、各リリースの API バージョンと一致し
ます。そのため、現在の API バージョンが 20.0 の場合、Salesforce コンソールインテグレーションツールキット
にもバージョン 20.0 があります。
プラットフォームのリリースが異なっても、各バージョンの Salesforce コンソールインテグレーションツール
キットのサポートは維持されます。Salesforce コンソールインテグレーションツールキットの後方互換性とは、
あるバージョンの Salesforce コンソールインテグレーションツールキットで機能するように作成されたアプリ
ケーションは、将来のプラットフォームリリースでも作成時と同じバージョンのSalesforce コンソールインテグ
レーションツールキットで引き続き機能するという意味です。
あるバージョンのSalesforce コンソールインテグレーションツールキットに対して作成されたアプリケーション
が、将来のバージョンのSalesforce コンソールインテグレーションツールキットで機能することは保証されませ
ん。Salesforce コンソールインテグレーションツールキットは継続的に拡張されているため、多くの場合、メ
ソッド署名やデータ表現の変更が必要になります。ただし、アプリケーションを新しいバージョンのSalesforce
コンソールインテグレーションツールキットに移行するために必要な変更が最小限ですむように、Salesforce コ
ンソールインテグレーションツールキットのバージョン間の一貫性を保つように努めています。
たとえば、Salesforce コンソールインテグレーションツールキットのバージョン 20.0 (Winter '11 リリースから利用
可能) を使用して作成されたアプリケーションは、Summer'11 およびそれ以降のリリースでも Salesforce コンソー
ルインテグレーションツールキットのバージョン 20.0 で引き続き機能します。ただし、同じアプリケーション
が Salesforce コンソールインテグレーションツールキットのバージョン 21.0 で機能するには、変更が必要になる
可能性があります。
有効期限
Salesforce では、Salesforce コンソールインテグレーションツールキットの各バージョンを最初のリリース日から
最低 3 年間サポートします。Salesforce コンソールインテグレーションツールキットの品質とパフォーマンスを
改善するために、リリースから 3 年を超えるバージョンはサポートを停止する可能性があります。
Salesforce コンソールインテグレーションツールキットのバージョンのサポート終了が予定されると、終了の最
低 1 年前には、有効期限に関する事前通知が送付されます。サポート終了が予定されているバージョンの
Salesforce コンソールインテグレーションツールキットを使用しているお客様に、Salesforce から直接通知しま
す。
その他のリソース
このガイドの他にも、以下のように、Salesforce コンソールインテグレーションツールキットの使用方法を学習
するためのリソースがあります。
• オンラインヘルプ: 「Salesforce コンソール」を参照
• 開発者 Web サイト: https://developer.salesforce.com/gettingstarted
• Firefox の Firebug 拡張機能: Firebug for Firefox
• Eclipse プラグイン: Force.com IDE
4
Salesforce コンソールインテグレーションツールキット
の概要
Salesforce コンソールインテグレーションツールキット
の表記規則
メモ: Salesforce Education Services では、開発者が Force.com プラットフォームで構築されるアプリケーション
を設計、作成、インテグレーション、および拡張できるトレーニングコースが設けられています。詳細
は、http://www.salesforce.com/training を参照してください。
Salesforce コンソールインテグレーションツールキットの表記規
則
Salesforce コンソールインテグレーションツールキットのガイドでは、次の表記規則を使用します。
規則
説明
Courier フォント
構文の記述では、等幅フォントは、角かっこを除いて表示されたとおりに入
力する必要のある項目を示します。次に例を示します。
Public class HelloWorld
斜体
構文の記述では、斜体は変数を示します。実際の値を入力してください。次
の例では、3 つの値を入力する必要があります。datatype variable_name
[ = value];
構文で太字かつ斜体のテキストは、クラス名や変数の値など、ユーザが指定
する必要があるコード要素を表します。
public static class YourClassHere { ... }
太字の Courier フォント
コードサンプルと構文の記述では、太字の Courier フォントはコードまたは
構文の部分を強調します。
<>
構文の記述では、不等号 (< >) は表示されたとおりに入力します。
<apex:pageBlockTable value="{!account.Contacts}" var="contact">
<apex:column value="{!contact.Name}"/>
<apex:column value="{!contact.MailingCity}"/>
<apex:column value="{!contact.Phone}"/>
</apex:pageBlockTable>
{}
構文の説明では、中括弧 ({ }) は表示されたとおりに入力します。
<apex:page>
Hello {!$User.FirstName}!
</apex:page>
[]
構文の記述では、角括弧で囲まれるものはすべて省略可能です。次の例で
は、 value の指定は省略可能です。
data_type variable_name [ = value];
5
Salesforce コンソールインテグレーションツールキット
の概要
Salesforce コンソールインテグレーションツールキット
を使用したサンプル Visualforce ページ
規則
説明
|
構文の記述では、パイプ記号は「または」を意味します。次のいずれか (す
べてではない) を実行できます。次の例では、2 つの方法のいずれかを使用
して未入力のセットを作成するか、次のようにセットを入力することができ
ます。
Set<data_type> set_name
[= new Set<data_type>();] |
[= new Set<data_type{value [, value2. . .] };] |
;
Salesforce コンソールインテグレーションツールキットを使用し
たサンプル Visualforce ページ
この例では、Salesforce コンソールインテグレーションツールキットを使用して、Salesforce コンソールのユーザ
インターフェースを変更する方法を示します。
1. Visualforce ページを作成します。『Visualforce 開発者ガイド』を参照してください。
2. 次のサンプルコードを切り取って Visualforce ページに貼り付けます。
このコードは、Salesforce コンソールインテグレーションツールキットの各種関数を示しています。
<apex:page standardController="Case">
<apex:includeScript value="/support/console/20.0/integration.js"/>
<script type="text/javascript">
function openPrimaryTab() {
sforce.console.openPrimaryTab(undefined,
'http://www.salesforce.com', true, 'salesforce');
}
//The callback function that openSubtab will call once it's got the ID for its
primary tab
var callOpenSubtab=function callOpenSubtab(result) {
sforce.console.openSubtab(result.id,
'http://www.yahoo.com', true, 'yahoo');
};
function openSubtab() {
sforce.console.getEnclosingPrimaryTabId(callOpenSubtab);
}
//Sets the title of the current tab to "SFDC"
function setTitle() {
sforce.console.setTabTitle('SFDC');
}
//The callback function that closeTab will call once it's got the ID for its
tab
6
Salesforce コンソールインテグレーションツールキット
の概要
Salesforce コンソールインテグレーションツールキット
を使用したサンプル Visualforce ページ
var callCloseTab= function callCloseTab(result) {
sforce.console.closeTab(result.id);
}
function closeTab() {
sforce.console.getEnclosingTabId(callCloseTab);
}
</script>
<A HREF="#" onClick="openPrimaryTab();return false">Open A Primary Tab</A>
<p/><A HREF="#" onClick="openSubtab();return false">Open A Subtab</A>
<p/><A HREF="#" onClick="setTitle();return false">Set Title to SFDC</A>
<p/><A HREF="#" onClick="closeTab();return false">Close This Tab</A>
</apex:page>
メモ: この例は、ケース上のカスタムリンクをクリックすると実行されるように設定されています。詳細
は、Salesforce オンラインヘルプの「カスタムボタンとリンクの定義」を参照してください。
上記の Visualforce ページを作成して、カスタムリンクとしてケースに追加します。その後、ケースに移動して
リンクをクリックすると、次のページが表示されます。
サンプル Visualforce ページの出力
7
第2章
Salesforce コンソールインテグレーショ
ンツールキットの使用
Salesforce コンソールインテグレーションツールキットを使用して、Salesforce コンソールで次の操作を実行しま
す。
• 指定した URL を表示する新しい主タブまたはサブタブを開く
• 主タブまたはサブタブのタイトルを設定する
• 主タブまたはサブタブの ID を返す
• 指定した主タブまたはサブタブを閉じる
このセクションの内容:
ツールキットへの接続
Salesforce コンソールインテグレーションツールキットを使用する JavaScript コードの冒頭部分では、ツール
キットを JavaScript コードで使用できるようにする必要があります。このための構文は、JavaScript を Visualforce
ページとサードパーティドメインのどちらに埋め込んでいるかによって異なります。
Salesforce コンソールインテグレーションツールキットを使用した非同期コール
Salesforce コンソールインテグレーションツールキットを使用すると、非同期コールを発行できます。非同
期コールにより、クライアント側のプロセスは、サーバからのコールバックを待機せずに処理を続行でき
ます。非同期コールを発行するには、コールバック関数と呼ばれるAPIコールに追加のパラメータを設定す
る必要があります。結果の準備ができると、サーバは結果を指定してコールバックメソッドを呼び出しま
す。
Force.com Canvas の使用
署名付き要求や OAuth 2.0 プロトコルなどの認証方式を必要とする外部アプリケーションにSalesforce コンソー
ルを統合するには、Force.com Canvas を使用することをお勧めします。
ベストプラクティス
Salesforce コンソールインテグレーションツールキットを使用する場合、いくつかのベストプラクティスに
従うことをお勧めします。
ツールキットへの接続
Salesforce コンソールインテグレーションツールキットを使用する JavaScript コードの冒頭部分では、ツールキッ
トを JavaScript コードで使用できるようにする必要があります。このための構文は、JavaScript を Visualforce ペー
ジとサードパーティドメインのどちらに埋め込んでいるかによって異なります。
• Visualforceページ、またはカスタム onclick JavaScript ボタン以外のソースの場合、ツールキットファイルを
参照する <script> タグを指定します。
<apex:page>
<script src="/support/console/34.0/integration.js"
type="text/javascript"></script>
8
Salesforce コンソールインテグレーションツールキット
の使用
Salesforce コンソールインテグレーションツールキット
を使用した非同期コール
...
</apex:page>
Visualforce の場合、integration.js は相対パスに追加すれば十分であり、この方法をお勧めします。
• サードパーティドメインの場合:
<script src="https://c.na1.visual.force.com/support/console/34.0/integration.js"
type="text/javascript"></script>
サードパーティドメインの場合、ツールキットを使用するには integration.js への絶対 URL を指定する
必要があります。ツールキットライブラリにアクセスできるデフォルトのインスタンスは、
c.na1.visual.force.com/support/console/34.0/integration.js です。組織のインスタンスを判
別できない場合は、デフォルトのインスタンスを使用することをお勧めします。
Salesforce コンソールインテグレーションツールキットのバージョンは URL に含まれます。
Salesforce コンソールインテグレーションツールキットを使用し
た非同期コール
Salesforce コンソールインテグレーションツールキットを使用すると、非同期コールを発行できます。非同期
コールにより、クライアント側のプロセスは、サーバからのコールバックを待機せずに処理を続行できます。
非同期コールを発行するには、コールバック関数と呼ばれる API コールに追加のパラメータを設定する必要が
あります。結果の準備ができると、サーバは結果を指定してコールバックメソッドを呼び出します。
非同期の構文:
method('arg1','arg2', ..., callback_method);
次に例を示します。
//Open a new primary tab with the Salesforce home page in it
sforce.console.openPrimaryTab(null, 'http://www.salesforce.com',
false, 'Salesforce', callback);
Force.com Canvas の使用
署名付き要求や OAuth 2.0 プロトコルなどの認証方式を必要とする外部アプリケーションに Salesforce コンソー
ルを統合するには、Force.com Canvas を使用することをお勧めします。
Force.com Canvas と Salesforce コンソールインテグレーションツールキットは似ています。これらはツールと
JavaScript API のセットで、開発者がサードパーティシステムを Salesforce に追加するために使用できます。ただ
し、Force.com Canvas の利点の 1 つとして、認証方式を選択できるという点があります。詳細は、『Force.com
Canvas 開発者ガイド』を参照してください。
メモ: キャンバスアプリケーションをコンソールに表示するには、コンソールにカスタムコンソールコン
ポーネントとして追加する必要があります。Salesforce ヘルプの 「コンソールコンポーネントの追加」を
参照してください。
9
Salesforce コンソールインテグレーションツールキット
の使用
ベストプラクティス
キャンバスアプリケーションの開発時にSalesforce コンソールインテグレーションツールキットの機能を含める
には、次の操作を実行します。
1. コンソールインテグレーションツールキット API を index.jsp に含めます。
2. ドメインのホワイトリストがコンソールにある場合は、キャンバスアプリケーションのドメインをホワイ
トリストに追加します。Salesforce ヘルプの 「Salesforce コンソールのホワイトリストのドメイン」を参照し
てください。
3. Sfdc.canvas.client.signedrequest() をコールし、コンソールインテグレーションツールキット API
に必要な署名付き要求を保存します。たとえば、Force.com Canvas の認証方式が署名付き要求の場合は、次
を実行します。
Sfdc.canvas.client.signedrequest('<%=signedRequest%>')
Force.com Canvas の認証方式が OAuth の場合は、『Force.com Canvas 開発者ガイド』の「キャンバスアプリケー
ションでのコンテキストの取得」に記載されているように、コンテキストの取得に使用されるコールバッ
ク関数で次を実行します。
Sfdc.canvas.client.signedrequest(msg)
Salesforce コンソールインテグレーションツールキットおよびキャンバスアプリケーションを使用する場合は、
次の点を考慮してください。
• コンソールインテグレーションツールキット API スクリプトは署名付き要求によって異なるため、
Sfdc.canvas.client.signedrequest() コールの実行後に追加する必要があります。スクリプトを動
的に読み込むことをお勧めします。
• キャンバスのサイドバーコンポーネントに関連付けられているレコードのエンティティ ID を取得するに
は、次を実行します。
// Get signedRequest
var signedRequest = Sfdc.canvas.client.signedrequest();
var parsedRequest = JSON.parse(signedRequest);
// get the entity Id that is associated with this canvas sidebar component.
var entityId = parsedRequest.context.environment.parameters.entityId;
• OAuth の entityId を取得するには、次を実行します。
var entityId = msg.payload.environment.parameters.entityId;
msg.payload の取得方法の例については、『Force.com Canvas 開発者ガイド』の「キャンバスアプリケーショ
ンでのコンテキストの取得」を参照してください。
ベストプラクティス
Salesforce コンソールインテグレーションツールキットを使用する場合、いくつかのベストプラクティスに従う
ことをお勧めします。
• Salesforce コンソールインテグレーションツールキットに含まれるメソッドの多くは非同期で、コールバッ
クメソッドを使用して結果を返すため、各メソッドのドキュメントを参照してそれぞれの応答の情報を理
解することをお勧めします。
10
Salesforce コンソールインテグレーションツールキット
の使用
ベストプラクティス
• Salesforce コンソールインテグレーションツールキットで生成されるエラーは通常、JavaScript 処理を停止し
ない方法で発行されます。そのため、コードをデバッグしやすいように、Firebug for Firefox のようなツール
を使用して JavaScript コンソールを監視することをお勧めします。
• Salesforce コンソールで Visualforce ページを適切に表示するには、次のように設定することをお勧めします。
– デフォルト設定 showHeader="true" を受け入れ、apex:page タグの sidebar="false" を設定しま
す。
– サイドバーやヘッダーのない既存のウィンドウに表示するには、ツールキットのメソッドが含まれるカ
スタムボタンやリンクの [動作] を設定します。詳細は、Salesforce オンラインヘルプの「カスタムボタ
ンとリンクの定義」を参照してください。
• Firefox を使用する場合、有効なアラートボックスのあるタブで closeTab() をコールしないことをお勧め
します。ブラウザで正しく読み込まれない可能性があります。
• ユーザが無効な URL でメソッドを開始すると、重複したタブが開く可能性があります。メソッドに URL を
挿入する前に、有効性を確認することをお勧めします。
• 「外部ページ」がタブ名として表示されないように、openPrimaryTab() や openSubtab() などのメソッ
ドに tabLabel 引数を指定することをお勧めします。
• Visualforce を使用して Salesforce コンソールのサイドバーをカスタマイズ、拡張、または統合する方法につい
ての詳細は、Salesforce オンラインヘルプの「カスタムコンソールコンポーネントの概要」を参照すること
をお勧めします。
• サードパーティドメインのツールキットを有効化するには、Salesforce コンソールのホワイトリストにその
ドメインを追加する必要があります。Salesforce オンラインヘルプの「Salesforce コンソールのホワイトリス
トのドメイン」を参照してください。
• Salesforce コンソールインテグレーションツールキットを使用する場合、ネストされた iframe はサポートされ
ないことに注意してください。
11
第3章
主タブとサブタブ用のメソッド
Salesforce コンソールには、Salesforce ページが主タブまたはサブタブとして表示されます。主タブには、取引先
など、作業する主な項目が表示されます。サブタブには、取引先の取引先責任者や商談など、関連項目が表示
されます。
このセクションの内容:
closeTab()
指定された主タブまたはサブタブを閉じます。主タブの最初のタブを閉じると、主タブそのものが閉じる
ので注意してください。このメソッドは、API バージョン 20.0 以降でのみ使用できます。
focusPrimaryTabById()
指定された ID を使用して、ブラウザですでに開いている主タブにフォーカスを移動します。このメソッド
は、API バージョン 22.0 以降でのみ使用できます。
focusPrimaryTabByName()
指定された名前を使用して、ブラウザですでに開いている主タブにフォーカスを移動します。このメソッ
ドは、API バージョン 22.0 以降でのみ使用できます。
focusSidebarComponent()
ブラウザのサイドバーコンポーネントにフォーカスを移動します。このメソッドは、サイドバースタイル
がタブまたはアコーディオンのコンポーネントにフォーカスを移動するために使用します。詳細は、Salesforce
ヘルプの「コンソールコンポーネントのサイドバーのスタイル」を参照してください。このメソッドは、
API バージョン 34.0 以降でのみ使用できます。
focusSubtabById()
指定された ID を使用して、ブラウザですでに開いているサブタブにフォーカスを移動します。このメソッ
ドは、API バージョン 22.0 以降でのみ使用できます。
focusSubtabByNameAndPrimaryTabId()
指定された名前と主タブ ID を使用して、ブラウザですでに開いているサブタブにフォーカスを移動しま
す。このメソッドは、API バージョン 22.0 以降でのみ使用できます。
focusSubtabByNameAndPrimaryTabName()
指定された名前と主タブ名を使用して、ブラウザですでに開いているサブタブにフォーカスを移動します。
このメソッドは、API バージョン 22.0 以降でのみ使用できます。
generateConsoleUrl()
Salesforce コンソールのタブ、または関連タブのグループへの URL を生成します。外部 URL を含むタブがある
場合、正しく表示できるようにコンソールのホワイトリストにその外部 URL を追加します。詳細は、オン
ラインヘルプの「Salesforce コンソールのホワイトリストのドメイン」を参照してください。このメソッド
は、API バージョン 28.0 以降でのみ使用できます。
getEnclosingPrimaryTabId()
現在の主タブの ID を返します。このメソッドは主タブまたはサブタブ内で機能します。ナビゲーションタ
ブやカスタムコンソールコンポーネント内では機能しません。このメソッドは、API バージョン 20.0 以降で
のみ使用できます。
12
主タブとサブタブ用のメソッド
getEnclosingPrimaryTabObjectId()
サブタブを含む、現在の主タブのオブジェクト ID を返します。たとえば、ケース ID や取引先 ID などです。
このメソッドは、主タブまたはサブタブ内で機能します。このメソッドは、API バージョン 24.0 以降でのみ
使用できます。
getEnclosingTabId()
主タブまたはサブタブである可能性のある、現在の Visualforce ページを含むタブの ID を返します。このメ
ソッドは、サブタブで囲まれたコンポーネントからコールが行われる場合に機能します。このメソッドは、
API バージョン 20.0 以降でのみ使用できます。
getFocusedPrimaryTabId()
ブラウザがフォーカスされている主タブの ID を返します。このメソッドは、API バージョン 25.0 以降でのみ
使用できます。
getFocusedPrimaryTabObjectId()
ブラウザがフォーカスされている主タブのオブジェクト ID を返します。このメソッドは、API バージョン
25.0 以降でのみ使用できます。
getFocusedSubtabId()
ブラウザがフォーカスされているサブタブの ID を返します。たとえば、ケース ID や取引先 ID などです。こ
のメソッドは、API バージョン 25.0 以降でのみ使用できます。
getFocusedSubtabObjectId()
ブラウザがフォーカスされているサブタブのオブジェクト ID を返します。たとえば、ケース ID や取引先 ID
などです。このメソッドは、API バージョン 24.0 以降でのみ使用できます。
getPageInfo()
指定されたタブのページ情報の内容をロードした後、その情報を返します。タブ ID が null の場合、囲んで
いる主タブまたはサブタブのページ情報を返します。カスタムコンソールコンポーネントからページ情報
を取得するには、tabId が最初のパラメータとしてこのメソッドに渡される必要があります。このメソッ
ドは、API バージョン 26.0 以降でのみ使用できます。
getPrimaryTabIds()
開いている主タブのすべての ID を返します。このメソッドは、API バージョン 26.0 以降でのみ使用できま
す。
getSubtabIds()
主タブ ID によって指定された主タブ上にあるサブタブのすべての ID を返します。主タブ ID が null の場合、
現在の主タブ上にあるサブタブの ID を返します。このメソッドは、カスタムコンソールコンポーネント、
または Visualforce ページによって上書きされた詳細ページからのみコールできます。このメソッドは、API
バージョン 26.0 以降でのみ使用できます。
getTabLink()
Salesforce コンソールのタブ、または関連タブのグループへの URL を取得します。このメソッドは、API バー
ジョン 28.0 以降でのみ使用できます。
isInConsole()
ページが Salesforce コンソールにあるかどうかを判断します。このメソッドは、API バージョン 22.0 以降での
み使用できます。
13
主タブとサブタブ用のメソッド
onEnclosingTabRefresh()
囲んでいるタブが更新されるとコールされる関数を登録します。このメソッドは、API バージョン 24.0 以降
でのみ使用できます。
onFocusedSubtab()
ブラウザのフォーカスが異なるサブタブに変更されるとコールされる関数を登録します。このメソッドは、
API バージョン 24.0 以降でのみ使用できます。
onTabSave()
ユーザがサブタブの [保存されていない変更] ダイアログボックスの [保存] をクリックすると、コールバッ
クメソッドを登録し、コールします。このメソッドを使用する場合、コールバックメソッドで
setTabUnsavedChanges() をコールする必要があります。これにより、カスタム保存操作が完了したこ
とがコンソールに通知されます。setTabUnsavedChanges() へのコールでは、保存が成功したことを示
すには、最初のパラメータとして false を渡し、保存が失敗したことを示すには、true を渡します。こ
のメソッドは、API バージョン 28.0 以降でのみ使用できます。
openConsoleUrl()
generateConsoleUrl() メソッドで作成した URL (Salesforce コンソールのタブ、または関連タブのグルー
プへの URL) を開きます。このメソッドは、API バージョン 28.0 以降でのみ使用できます。
openPrimaryTab()
指定された URL (相対または絶対) のコンテンツを表示する新しい主タブを開きます。また、既存のタブを上
書きすることもできます。このメソッドは、API バージョン 20.0 以降でのみ使用できます。
openSubtab()
指定された URL (相対または絶対) のコンテンツを表示する新しいサブタブ (主タブ内) を開きます。また、既
存のサブタブを上書きすることもできます。主タブの ID を使用して主タブで新しいサブタブを開く場合に
使用します。このメソッドは、API バージョン 20.0 以降でのみ使用できます。
openSubtabByPrimaryTabName()
指定された URL (相対または絶対) のコンテンツを表示する新しいサブタブ (主タブ内) を開きます。また、既
存のサブタブを上書きすることもできます。主タブの名前を使用して主タブで新しいサブタブを開く場合
に使用します。このメソッドは、API バージョン 22.0 以降でのみ使用できます。
refreshPrimaryTabById()
サブタブを含む、ID で指定された主タブを更新します。このメソッドでは、外部ページまたは Visualforce
ページへの URL を持つサブタブは更新できません。このメソッドは、API バージョン 22.0 以降でのみ使用で
きます。
refreshPrimaryTabByName()
サブタブを含む、名前で指定された主タブを更新します。このメソッドでは、外部ページまたは Visualforce
ページへの URL を持つサブタブは更新できません。このメソッドは、API バージョン 22.0 以降でのみ使用で
きます。
refreshSubtabById()
指定された ID で最後に確認された URL を持つサブタブを更新します。最後に確認された URL が外部ページ
または Visualforce ページの場合、このメソッドではサブタブを更新できません。このメソッドは、API バー
ジョン 22.0 以降でのみ使用できます。
14
主タブとサブタブ用のメソッド
closeTab()
refreshSubtabByNameAndPrimaryTabId()
指定された名前と主タブ ID で最後に確認された URL を持つサブタブを更新します。最後に確認された URL
が外部ページまたは Visualforce ページの場合、このメソッドではサブタブを更新できません。このメソッド
は、API バージョン 22.0 以降でのみ使用できます。
refreshSubtabByNameAndPrimaryTabName()
指定された名前と主タブ名で最後に確認された URL を持つサブタブを更新します。最後に確認された URL
が外部ページまたは Visualforce ページの場合、このメソッドではサブタブを更新できません。このメソッド
は、API バージョン 22.0 以降でのみ使用できます。
resetSessionTimeOut()
Visualforce ページのセッションタイムアウトをリセットします。これにより、ユーザがログアウトせず操作
を続行できます。このメソッドは、API バージョン 24.0 以降でのみ使用できます。
setTabUnsavedChanges()
未保存のデータを示すため、サブタブの保存されていない変更アイコン ( ) を設定します。このメソッド
は、API バージョン 23.0 以降でのみ使用できます。
setTabIcon()
指定されたタブにアイコンを設定します。タブが指定されていない場合、アイコンは囲んでいるタブに設
定されます。このメソッドを使って、タブのアイコンをカスタマイズします。このメソッドは、API バー
ジョン 28.0 以降でのみ使用できます。
setTabLink()
コンソールタブの URL 属性をタブのコンテンツの場所に設定します。ユーザが Salesforce ドメインの外にあ
るコンテンツを表示したタブに移動するときは、このメソッドを使用して安全なコンソール URL を生成し
ます。このメソッドは、API バージョン 28.0 以降でのみ使用できます。
setTabStyle()
指定のタブにカスケードスタイルシート (CSS) を設定します。タブが指定されていない場合、CSS は囲んで
いるタブに設定されます。このメソッドを使って、タブのデザインをカスタマイズします。このメソッド
は、API バージョン 28.0 以降でのみ使用できます。
setTabTextStyle()
指定されたタブのテキストにカスケードスタイルシート (CSS) を設定します。タブが指定されていない場
合、CSS は囲んでいるタブのテキストに設定されます。このメソッドを使って、タブのテキストスタイルを
カスタマイズします。このメソッドは、API バージョン 28.0 以降でのみ使用できます。
setTabTitle()
主タブまたはサブタブのタイトルを設定します。このメソッドは、API バージョン 20.0 以降でのみ使用でき
ます。
closeTab()
指定された主タブまたはサブタブを閉じます。主タブの最初のタブを閉じると、主タブそのものが閉じるので
注意してください。このメソッドは、API バージョン 20.0 以降でのみ使用できます。
15
主タブとサブタブ用のメソッド
focusPrimaryTabById()
構文
sforce.console.closeTab(id:String)
引数
名前
型
説明
id
string
閉じる主タブまたはサブタブの ID。
サンプルコード – Visualforce
<apex:page standardController="Case">
<A HREF="#" onClick="testCloseTab();return false">
Click here to close this tab</A>
<apex:includeScript value="/support/console/20.0/integration.js"/>
<script type="text/javascript">
function testCloseTab() {
//First find the ID of the current tab to close it
sforce.console.getEnclosingTabId(closeSubtab);
}
var closeSubtab = function closeSubtab(result) {
//Now that we have the tab ID, we can close it
var tabId = result.id;
sforce.console.closeTab(tabId);
};
</script>
</apex:page>
メモ: この例は、ケース上のカスタムリンクをクリックすると実行されるように設定されています。詳細
は、Salesforce オンラインヘルプの「カスタムボタンとリンクの定義」を参照してください。
応答
なし
ヒント: Firefox を使用する場合、有効なアラートボックスのあるタブで closeTab() をコールしないこと
をお勧めします。ブラウザで正しく読み込まれない可能性があります。
focusPrimaryTabById()
指定された ID を使用して、ブラウザですでに開いている主タブにフォーカスを移動します。このメソッドは、
API バージョン 22.0 以降でのみ使用できます。
16
主タブとサブタブ用のメソッド
focusPrimaryTabById()
構文
sforce.console.focusPrimaryTabById(id:String, (optional)callback:Function)
引数
名前
型
説明
id
string
移動先の主タブの ID。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page standardController="Case">
<A HREF="#" onClick="testFocusPrimaryTabById();return false">
Click here to go to an open primary tab by id</A>
<apex:includeScript value="/support/console/22.0/integration.js"/>
<script type="text/javascript">
function testFocusPrimaryTabById() {
//Get the value for 'scc-pt-0' from the openPrimaryTab method
//This value is for example purposes only
var primaryTabId = 'scc-pt-0';
sforce.console.focusPrimaryTabById(primaryTabId, focusSuccess);
}
var focusSuccess = function focusSuccess(result) {
//Report whether going to the open primary tab was successful
if (result.success == true) {
alert('Going to the primary tab was successful');
} else {
alert('Going to the primary tab was not successful');
}
};
</script>
</apex:page>
メモ: この例は、ケース上のカスタムリンクをクリックすると実行されるように設定されています。詳細
は、Salesforce オンラインヘルプの「カスタムボタンとリンクの定義」を参照してください。
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
17
主タブとサブタブ用のメソッド
focusPrimaryTabByName()
名前
型
説明
success
boolean
主タブに正常に移動した場合は true、主タブへの移動が失敗した
場合は false。
focusPrimaryTabByName()
指定された名前を使用して、ブラウザですでに開いている主タブにフォーカスを移動します。このメソッド
は、API バージョン 22.0 以降でのみ使用できます。
構文
sforce.console.focusPrimaryTabByName(name:String, (optional)callback:Function)
引数
名前
型
説明
name
string
移動先の主タブの名前。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page standardController="Case">
<A HREF="#" onClick="testFocusPrimaryTabByName();return false">
Click here to go to a primary tab by name</A>
<apex:includeScript value="/support/console/22.0/integration.js"/>
<script type="text/javascript">
function testFocusPrimaryTabByName() {
//Get the value for 'myPrimaryTab' from the openPrimaryTab method
//This value is for example purposes only
var primaryTabName = 'myPrimaryTab';
sforce.console.focusPrimaryTabByName(primaryTabName, focusSuccess);
}
var focusSuccess = function focusSuccess(result) {
//Report whether going to the primary tab was successful
if (result.success == true) {
alert('Going to the primary tab was successful');
} else {
alert('Going to the Primary tab was not successful');
}
};
18
主タブとサブタブ用のメソッド
focusSidebarComponent()
</script>
</apex:page>
メモ: この例は、ケース上のカスタムリンクをクリックすると実行されるように設定されています。詳細
は、Salesforce オンラインヘルプの「カスタムボタンとリンクの定義」を参照してください。
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
主タブに正常に移動した場合は true、主タブへの移動が失敗した
場合は false。
focusSidebarComponent()
ブラウザのサイドバーコンポーネントにフォーカスを移動します。このメソッドは、サイドバースタイルがタ
ブまたはアコーディオンのコンポーネントにフォーカスを移動するために使用します。詳細は、Salesforceヘル
プの「コンソールコンポーネントのサイドバーのスタイル」を参照してください。このメソッドは、API バー
ジョン 34.0 以降でのみ使用できます。
構文
sforce.console.focusSidebarComponent(componentInfo:string (optional)tabId:string,
callback:Function)
引数
名前
型
説明
componentInfo
string
フォーカスを移動するコンポーネントを表す JSON オブジェクト。こ
の引数には、次のいずれかの形式を含める必要があります。
明確な型:
• {componentType: 'CASE_EXPERT_WIDGET' }
• {componentType: 'FILES_WIDGET' }
• {componentType: 'HIGHLIGHTS_PANEL' }
• {componentType: 'KNOWLEDGE_ONE'}
• {componentType: 'MILESTONE_WIDGET' }
• {componentType: 'TOPICS_WIDGET' }
19
主タブとサブタブ用のメソッド
名前
focusSidebarComponent()
型
説明
• {componentType: 'VISUALFORCE' }
追加パラメータが必要な型:
• {componentType: 'CANVAS', canvasAppId:
'09Hxx0000000001'}
• {componentType: 'RELATED_LIST', listName:
'Solution'}
• {componentType: 'LOOKUP', fieldName: 'Account'}
• {componentType: 'VISUALFORCE', pageName: 'VF1'}
tabId
string
ブラウザのフォーカスを移動するタブの ID。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/34.0/integration.js"/>
<script type="text/javascript">
var callback = function (result) {}
if(result.success){
alert('Congratulations!');
}else{
alert('Something is wrong!');
}
};
function focusKnowledgeComponent() {
sforce.console.focusSidebarComponent(JSON.stringify({componentType:
'KNOWLEDGE_ONE'}),"scc-st-2", callback);
}
</script>
<A HREF="#" onClick="focusSidebarComponent(); return false">Focus Knowledge Component</A>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
サイドバーコンポーネントにフォーカスが正常に移動された場合は
true、それ以外の場合は false。
20
主タブとサブタブ用のメソッド
focusSubtabById()
focusSubtabById()
指定された ID を使用して、ブラウザですでに開いているサブタブにフォーカスを移動します。このメソッド
は、API バージョン 22.0 以降でのみ使用できます。
構文
sforce.console.focusSubtabById(id:String, (optional)callback:Function)
引数
名前
型
説明
id
string
移動先のサブタブの ID。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page standardController="Case">
<A HREF="#" onClick="testFocusSubtabById();return false">
Click here to go to a subtab by id</A>
<apex:includeScript value="/support/console/22.0/integration.js"/>
<script type="text/javascript">
function testFocusSubtabById() {
//Get the value for 'scc-st-0' from the openSubtab method
//This value is for example purposes only
var subtabId = 'scc-st-0';
sforce.console.focusSubtabById(subtabId, focusSuccess);
}
var focusSuccess = function focusSuccess(result) {
//Report whether going to the subtab was successful
if (result.success == true) {
alert('Going to the subtab was successful');
} else {
alert('Going to the subtab was not successful');
}
};
</script>
</apex:page>
メモ: この例は、ケース上のカスタムリンクをクリックすると実行されるように設定されています。詳細
は、Salesforce オンラインヘルプの「カスタムボタンとリンクの定義」を参照してください。
21
主タブとサブタブ用のメソッド
focusSubtabByNameAndPrimaryTabId()
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
サブタブに正常に移動した場合は true、サブタブへの移動が失敗
した場合は false。
focusSubtabByNameAndPrimaryTabId()
指定された名前と主タブ ID を使用して、ブラウザですでに開いているサブタブにフォーカスを移動します。
このメソッドは、API バージョン 22.0 以降でのみ使用できます。
構文
sforce.console.focusSubtabByNameAndPrimaryTabId(name:String,
primaryTabId:String,(optional)callback:Function)
引数
名前
型
説明
name
string
移動先のサブタブの名前。
primaryTabId
string
サブタブが開いている主タブの ID。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page standardController="Case">
<A HREF="#" onClick="testFocusSubtabByNameAndPrimaryTabId();return false">
Click here to go to a subtab by name and primary tab ID</A>
<apex:includeScript value="/support/console/22.0/integration.js"/>
<script type="text/javascript">
function testFocusSubtabByNameAndPrimaryTabId() {
//Get the values for 'mySubtab' and 'scc-pt-0' from the openSubtab method
//These values are for example purposes only
var subtabName = 'mySubtab';
var primaryTabId = 'scc-pt-0';
sforce.console.focusSubtabByNameAndPrimaryTabId(subtabName, primaryTabId,
focusSuccess);
22
主タブとサブタブ用のメソッド
focusSubtabByNameAndPrimaryTabName()
}
var focusSuccess = function focusSuccess(result) {
//Report whether going to the subtab was successful
if (result.success == true) {
alert('Going to the subtab was successful');
} else {
alert('Going to the subtab was not successful');
}
};
</script>
</apex:page>
メモ: この例は、ケース上のカスタムリンクをクリックすると実行されるように設定されています。詳細
は、Salesforce オンラインヘルプの「カスタムボタンとリンクの定義」を参照してください。
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
サブタブに正常に移動した場合は true、サブタブへの移動が失敗
した場合は false。
focusSubtabByNameAndPrimaryTabName()
指定された名前と主タブ名を使用して、ブラウザですでに開いているサブタブにフォーカスを移動します。こ
のメソッドは、API バージョン 22.0 以降でのみ使用できます。
構文
sforce.console.focusSubtabByNameAndPrimaryTabName(name:String,
primaryTabName:String,(optional)callback:Function)
引数
名前
型
説明
name
string
移動先のサブタブの名前。
primaryTabName
string
サブタブが開いている主タブの名前。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
23
主タブとサブタブ用のメソッド
focusSubtabByNameAndPrimaryTabName()
サンプルコード – Visualforce
<apex:page standardController="Case">
<A HREF="#" onClick="testFocusSubtabByNameAndPrimaryTabName();return false">
Click here to go to a subtab by name and primary tab name</A>
<apex:includeScript value="/support/console/22.0/integration.js"/>
<script type="text/javascript">
function testFocusSubtabByNameAndPrimaryTabName() {
//Get the value for 'mySubtab' and 'myPrimaryTab' from the openSubtab method
//These values are for example purposes only
var subtabName = 'mySubtab';
var primaryTabName = 'myPrimaryTab';
sforce.console.focusSubtabByNameAndPrimaryTabName(subtabName, primaryTabName,
focusSuccess);
}
var focusSuccess = function focusSuccess(result) {
//Report whether going to the subtab was successful
if (result.success == true) {
alert('Going to the subtab was successful');
} else {
alert('Going to the subtab was not successful');
}
};
</script>
</apex:page>
メモ: この例は、ケース上のカスタムリンクをクリックすると実行されるように設定されています。詳細
は、Salesforce オンラインヘルプの「カスタムボタンとリンクの定義」を参照してください。
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
サブタブに正常に移動した場合は true、サブタブへの移動が失敗
した場合は false。
24
主タブとサブタブ用のメソッド
generateConsoleUrl()
generateConsoleUrl()
Salesforce コンソールのタブ、または関連タブのグループへの URL を生成します。外部 URL を含むタブがある場
合、正しく表示できるようにコンソールのホワイトリストにその外部 URL を追加します。詳細は、オンライン
ヘルプの「Salesforce コンソールのホワイトリストのドメイン」を参照してください。このメソッドは、APIバー
ジョン 28.0 以降でのみ使用できます。
構文
sforce.console.generateConsoleUrl(urls:String, (optional)callback:Function)
引数
名前
型
説明
urls
string
URL の配列。最初の URL が主タブで、それに続く URL がサブタブで
す。最後の URL は、コンソールがフォーカスされるサブタブです。
これらの URL は、標準 Salesforce URL にすることも、相対 URL にするこ
ともできます。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/28.0/integration.js"/>
<A HREF="#" onClick="testGenerateConsoleURL();return false">
Click here to generate a console URL</A>
<script type="text/javascript">
function showConsoleUrl(result) {
alert(result.consoleUrl);
}
function testGenerateConsoleURL() {
sforce.console.generateConsoleUrl([/apex/pagename, /entityId,
www.externalUrl.com, Standard Salesforce Url/entityId], showConsoleUrl);
</script>
</apex:page>
}
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
25
主タブとサブタブ用のメソッド
getEnclosingPrimaryTabId()
名前
型
説明
consoleUrl
string
Salesforce に渡される URL の配列を示すコンソール URL。
success
boolean
URL が正常に生成された場合は true、それ以外の場合は false。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
getEnclosingPrimaryTabId()
現在の主タブの ID を返します。このメソッドは主タブまたはサブタブ内で機能します。ナビゲーションタブ
やカスタムコンソールコンポーネント内では機能しません。このメソッドは、API バージョン 20.0 以降でのみ
使用できます。
構文
sforce.console.getEnclosingPrimaryTabId((optional)callback:function)
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page standardController="Case">
<A HREF="#" onClick="testCloseTab();return false">
Click here to close this primary tab</A>
<apex:includeScript value="/support/console/20.0/integration.js"/>
<script type="text/javascript">
function testCloseTab() {
//First find the ID of the current primary tab to close it
sforce.console.getEnclosingPrimaryTabId(closeSubtab);
}
var closeSubtab = function closeSubtab(result) {
//Now that we have the primary tab ID, we can close it
var tabId = result.id;
sforce.console.closeTab(tabId);
};
</script>
</apex:page>
26
主タブとサブタブ用のメソッド
getEnclosingPrimaryTabObjectId()
メモ: この例は、ケース上のカスタムリンクをクリックすると実行されるように設定されています。詳細
は、Salesforce オンラインヘルプの「カスタムボタンとリンクの定義」を参照してください。
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
id
string
このタブを含む現在の主タブの ID。
getEnclosingPrimaryTabObjectId()
サブタブを含む、現在の主タブのオブジェクト ID を返します。たとえば、ケース ID や取引先 ID などです。こ
のメソッドは、主タブまたはサブタブ内で機能します。このメソッドは、API バージョン 24.0 以降でのみ使用
できます。
構文
sforce.console.getEnclosingPrimaryTabObjectId((optional)callback:Function)
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page standardController="Case">
<A HREF="#" onClick="testGetEnclosingPrimaryTabObjectId();">
Click here to get enclosing primary tab object ID</A>
<apex:includeScript value="/support/console/24.0/integration.js"/>
<script type="text/javascript">
function testGetEnclosingPrimaryTabObjectId() {
sforce.console.getEnclosingPrimaryTabObjectId(showObjectId);
}
var showObjectId = function showObjectId(result) {
// Display the object ID
alert ('Object ID: ' + result.id);
};
27
主タブとサブタブ用のメソッド
getEnclosingTabId()
</script>
</apex:page>
メモ: この例は、ケース上のカスタムリンクをクリックすると実行されるように設定されています。詳細
は、Salesforce オンラインヘルプの「カスタムボタンとリンクの定義」を参照してください。
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
id
string
このサブタブを含む現在の主タブの ID。
success
boolean
囲んでいる主タブが正常に返された場合は true、囲んでいる主タ
ブが正常に返されなかった場合は false。
getEnclosingTabId()
主タブまたはサブタブである可能性のある、現在の Visualforce ページを含むタブの ID を返します。このメソッ
ドは、サブタブで囲まれたコンポーネントからコールが行われる場合に機能します。このメソッドは、APIバー
ジョン 20.0 以降でのみ使用できます。
構文
sforce.console.getEnclosingTabId()
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page standardController="Case">
<A HREF="#" onClick="testCloseTab();return false">
Click here to close this tab</A>
<apex:includeScript value="/support/console/20.0/integration.js"/>
<script type="text/javascript">
function testCloseTab() {
//First find the ID of the current tab to close it
28
主タブとサブタブ用のメソッド
getFocusedPrimaryTabId()
sforce.console.getEnclosingTabId(closeSubtab);
}
var closeSubtab = function closeSubtab(result) {
//Now that we have the tab ID, we can close it
var tabId = result.id;
sforce.console.closeTab(tabId);
};
</script>
</apex:page>
メモ: この例は、ケース上のカスタムリンクをクリックすると実行されるように設定されています。詳細
は、Salesforce オンラインヘルプの「カスタムボタンとリンクの定義」を参照してください。
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
id
string
現在の主タブまたはサブタブの ID。
getFocusedPrimaryTabId()
ブラウザがフォーカスされている主タブの ID を返します。このメソッドは、API バージョン 25.0 以降でのみ使
用できます。
構文
sforce.console.getFocusedPrimaryTabId((optional) callback:Function)
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testGetFocusedPrimaryTabId();return false">
Click here to get the focused primary tab ID</A>
29
主タブとサブタブ用のメソッド
getFocusedPrimaryTabObjectId()
<apex:includeScript value="/support/console/25.0/integration.js"/>
<script type="text/javascript">
function testGetFocusedPrimaryTabId() {
sforce.console.getFocusedPrimaryTabId(showTabId);
}
var showTabId = function showTabId(result) {
//Display the tab ID
alert('Tab ID: ' + result.id);
};
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
id
string
ブラウザがフォーカスされている主タブの ID。開かれている主タブ
がない場合、ID は null になります。
success
boolean
ブラウザがフォーカスされている主タブ ID が正常に返された場合は
true、ブラウザがフォーカスされている主タブ ID が正常に返され
なかった場合は false。
getFocusedPrimaryTabObjectId()
ブラウザがフォーカスされている主タブのオブジェクト ID を返します。このメソッドは、API バージョン 25.0
以降でのみ使用できます。
構文
sforce.console.getFocusedPrimaryTabObjectId((optional) callback:Function)
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
30
主タブとサブタブ用のメソッド
getFocusedSubtabId()
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testGetFocusedPrimaryTabObjectId();return false">
Click here to get the focused primary tab object ID</A>
<apex:includeScript value="/support/console/25.0/integration.js"/>
<script type="text/javascript">
function testGetFocusedPrimaryTabObjectId() {
sforce.console.getFocusedPrimaryTabObjectId(showObjectId);
}
var showObjectId = function showObjectId(result) {
//Display the object ID
alert('Object ID: ' + result.id);
};
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
id
string
ブラウザがフォーカスされている主タブのオブジェクト ID。開かれ
ている主タブがない場合、ID は null になります。
success
boolean
ブラウザがフォーカスされている主タブのオブジェクト ID が正常に
返された場合は true、ブラウザがフォーカスされている主タブの
オブジェクト ID が正常に返されなかった場合は false。
getFocusedSubtabId()
ブラウザがフォーカスされているサブタブの ID を返します。たとえば、ケース ID や取引先 ID などです。この
メソッドは、API バージョン 25.0 以降でのみ使用できます。
構文
sforce.console.getFocusedSubtabId((optional)callback:Function)
31
主タブとサブタブ用のメソッド
getFocusedSubtabObjectId()
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testGetFocusedSubtabId();">
Click here to get the ID of the focused subtab</A>
<apex:includeScript value="/support/console/25.0/integration.js"/>
<script type="text/javascript">
function testGetFocusedSubtabId() {
sforce.console.getFocusedSubtabId(showTabId);
}
var showTabId = function showTabId(result) {
// Display the tab ID
alert ('Tab ID: ' + result.id);
};
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
id
string
ブラウザがフォーカスされているサブタブの ID。開かれているサブ
タブがない場合、ID は null になります。
success
boolean
フォーカスされたサブタブの ID が正常に返された場合は true、
フォーカスされたサブタブの ID が正常に返されなかった場合は
false。
getFocusedSubtabObjectId()
ブラウザがフォーカスされているサブタブのオブジェクト ID を返します。たとえば、ケース ID や取引先 ID な
どです。このメソッドは、API バージョン 24.0 以降でのみ使用できます。
32
主タブとサブタブ用のメソッド
getFocusedSubtabObjectId()
構文
sforce.console.getFocusedSubtabObjectId((optional)callback:Function)
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page standardController="Case">
<A HREF="#" onClick="testGetFocusedSubtabObjectId();">
Click here to get the object ID of the focused subtab</A>
<apex:includeScript value="/support/console/24.0/integration.js"/>
<script type="text/javascript">
function testGetFocusedSubtabObjectId() {
sforce.console.getFocusedSubtabObjectId(showObjectId);
}
var showObjectId = function showObjectId(result) {
// Display the object ID
alert ('Object ID: ' + result.id);
};
</script>
</apex:page>
メモ: この例は、ケース上のカスタムリンクをクリックすると実行されるように設定されています。詳細
は、Salesforce オンラインヘルプの「カスタムボタンとリンクの定義」を参照してください。
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
id
string
ブラウザがフォーカスされているサブタブのオブジェクト ID。開か
れているサブタブがない場合、ID は null になります。
success
boolean
フォーカスされたサブタブのオブジェクト ID が正常に返された場合
は true、フォーカスされたサブタブのオブジェクト ID が正常に返
されなかった場合は false。
33
主タブとサブタブ用のメソッド
getPageInfo()
getPageInfo()
指定されたタブのページ情報の内容をロードした後、その情報を返します。タブ ID が null の場合、囲んでいる
主タブまたはサブタブのページ情報を返します。カスタムコンソールコンポーネントからページ情報を取得す
るには、tabId が最初のパラメータとしてこのメソッドに渡される必要があります。このメソッドは、APIバー
ジョン 26.0 以降でのみ使用できます。
構文
sforce.console.getPageInfo(tabId:String, (optional)callback:Function)
引数
名前
型
説明
tabId
string
ページ情報が返される元となるタブの ID。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testGetPageInfo();return false">
Click here to get page information</A>
<apex:includeScript value="/support/console/26.0/integration.js"/>
<script type="text/javascript">
function testGetPageInfo() {
//Get the page information of 'scc-pt-1'
//This value is for example purposes only
var tabId = 'scc-pt-1';
sforce.console.getPageInfo(tabId , showPageInfo);
}
var showPageInfo = function showPageInfo(result) {
alert('Page Info: ' + result.pageInfo);
};
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
34
主タブとサブタブ用のメソッド
getPrimaryTabIds()
名前
型
説明
pageInfo
string
現在のページの URL を JSON 文字列として返します。該当するオブジェクト ID、オ
ブジェクト名、オブジェクト種別、および API バージョン 33.0 以降の場合はオブジェ
クトタブ名が含まれます。以下に例を示します。
{"url":"http://na.salesforce.com/001x0000003DGQR",
"objectId":"001x0000003DGQR","objectName":"Acme","object":"Account","displayName":"Company"
API バージョン 31.0 以降では、個人取引先オブジェクトで API メソッドを呼び出すと
次の追加情報を返します。
• AccountId または ContactId (関連する取引先または取引先責任者の ID)
• PersonAccount (オブジェクトが個人取引先の場合は true、それ以外の場合は
false)
次に例を示します。
{"url":"http://na1.salesforce.com/001x0000003DGQR",
"objectId":"001x0000003DGQR","objectName":"Acme Person Account",
"object":"Account", "contactId":"003D000000QOMqg",
"personAccount":true}
callback
function メソッドの完了時にコールされる JavaScript メソッド。
getPrimaryTabIds()
開いている主タブのすべての ID を返します。このメソッドは、API バージョン 26.0 以降でのみ使用できます。
構文
sforce.console.getPrimaryTabIds((optional) callback:Function)
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testGetPrimaryTabIds();return false">
Click here to get the primary tab IDs</A>
<apex:includeScript value="/support/console/26.0/integration.js"/>
35
主タブとサブタブ用のメソッド
getSubtabIds()
<script type="text/javascript">
function testGetPrimaryTabIds() {
sforce.console.getPrimaryTabIds(showTabId);
}
var showTabId = function showTabId(result) {
//Display the primary tab IDs
alert('Primary Tab IDs: ' + result.ids);
};
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
ids
string
開いている主タブ ID の表示順の配列。
success
boolean
開いている主タブの ID が正常に返された場合は true、開いている
主タブの ID が正常に返されなかった場合は false。
getSubtabIds()
主タブ ID によって指定された主タブ上にあるサブタブのすべての ID を返します。主タブ ID が null の場合、現
在の主タブ上にあるサブタブの ID を返します。このメソッドは、カスタムコンソールコンポーネント、また
は Visualforce ページによって上書きされた詳細ページからのみコールできます。このメソッドは、API バージョ
ン 26.0 以降でのみ使用できます。
構文
sforce.console.getSubtabIds( (optional) primaryTabId:String, (optional) callback:Function)
引数
名前
型
説明
primaryTabId
string
サブタブ ID が返される主タブの ID。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
36
主タブとサブタブ用のメソッド
getTabLink()
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testGetSubtabIds();return false">
Click here to get the subtab IDs</A>
<apex:includeScript value="/support/console/26.0/integration.js"/>
<script type="text/javascript">
function testGetSubtabIds() {
//Get the subtabs of the primary tab 'scc-pt-0'
//This value is for example purposes only
var primaryTabId = 'scc-pt-0';
sforce.console.getSubtabIds(primaryTabId , showTabId);
}
var showTabId = function showTabId(result) {
//Display the subtab IDs
alert('Subtab IDs: ' + result.ids);
};
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
ids
string
開いているサブタブ ID の配列。
success
boolean
イベントが正常に起動された場合は true、イベントが正常に起動
されなかった場合は false。
getTabLink()
Salesforce コンソールのタブ、または関連タブのグループへの URL を取得します。このメソッドは、APIバージョ
ン 28.0 以降でのみ使用できます。
構文
sforce.console.getTabLink(level:String, (optional)tabId:String,
(optional)callback:Function)
37
主タブとサブタブ用のメソッド
getTabLink()
引数
名前
型
説明
level
string
Salesforce コンソールのユーザインターフェースにある [共有するリン
ク] オプションのいずれかと一致するレベル。選択肢は次のとおり
です。
• すべての主タブとサブタブ —
sforce.console.TabLink.PARENT_AND_CHILDREN
• 指定されたタブのみ — sforce.console.TabLink.TAB_ONLY
• 標準の Salesforce URL —
sforce.console.TabLink.SALESFORCE_URL
詳細は、オンラインヘルプの「Salesforce コンソールのタブ」を参照
してください。
tabId
string
URL の取得元となるタブのタブ ID (省略可能)。タブ ID を渡さない場
合、現在のタブへの URL が返されます。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/28.0/integration.js"/>
<A HREF="#" onClick="getEnclosingPrimaryTabId();return false">
Click here to get tab link</A>
<script type="text/javascript">
var getEnclosingPrimaryTabId = function getEnclosingPrimaryTabId() {
sforce.console.getEnclosingPrimaryTabId(getTabLink);
}
var getTabLink = function getTabLink(result) {
sforce.console.getTabLink(sforce.console.TabLink.PARENT_AND_CHILDREN, result.id,
showTabLink);
}
var showTabLink = function showTabLink(result) {
var link = result.tabLink;
};
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
38
主タブとサブタブ用のメソッド
isInConsole()
名前
型
説明
tabLink
string
取得された URL。
success
boolean
リンクが正常に取得された場合は true、リンクが正常に取得され
なかった場合は false。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
isInConsole()
ページが Salesforce コンソールにあるかどうかを判断します。このメソッドは、API バージョン 22.0 以降でのみ
使用できます。
構文
sforce.console.isInConsole()
引数
なし
サンプルコード – Visualforce
<apex:page standardController="Case">
<A HREF="#" onClick="testIsInConsole();return false">
Click here to check if the page is in the Service Cloud console</A>
<apex:includeScript value="/support/console/22.0/integration.js"/>
<script type="text/javascript">
function testIsInConsole() {
if (sforce.console.isInConsole()) {
alert('in console');
} else {
alert('not in console');
}
}
</script>
</apex:page>
メモ: この例は、ケース上のカスタムリンクをクリックすると実行されるように設定されています。詳細
は、Salesforce オンラインヘルプの「カスタムボタンとリンクの定義」を参照してください。
39
主タブとサブタブ用のメソッド
onEnclosingTabRefresh()
応答
ページが Salesforce コンソールにある場合は true を返し、ページが Salesforce コンソールにない場合は false
を返します。
onEnclosingTabRefresh()
囲んでいるタブが更新されるとコールされる関数を登録します。このメソッドは、API バージョン 24.0 以降で
のみ使用できます。
構文
sforce.console.onEnclosingTabRefresh(eventHandler:Function)
引数
名前
型
説明
eventHandler
function
JavaScript メソッドは、囲んでいるタブが更新されるとコールされま
す。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/24.0/integration.js"/>
<script type="text/javascript">
var eventHandler = function eventHandler(result) {
alert('Enclosing tab has refreshed:' + result.id
+ 'and the object Id is:' + result.objectId);
};
sforce.console.onEnclosingTabRefresh(eventHandler);
</script>
</apex:page>
イベントハンドラの応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
id
string
更新されたタブの ID。
40
主タブとサブタブ用のメソッド
onFocusedSubtab()
名前
型
説明
objectId
string
更新されたタブのオブジェクト ID、オブジェクトが存在しない場合
は null。
onFocusedSubtab()
ブラウザのフォーカスが異なるサブタブに変更されるとコールされる関数を登録します。このメソッドは、API
バージョン 24.0 以降でのみ使用できます。
構文
sforce.console.onFocusedSubtab(eventHandler:Function)
引数
名前
型
説明
eventHandler
function
JavaScript メソッドは、ブラウザのフォーカスが異なるサブタブに変
更されるとコールされます。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/24.0/integration.js"/>
<script type="text/javascript">
var eventHandler = function (result) {
alert('Focus changed to a different subtab. The subtab Id is:'
+ result.id + 'and the object Id is:' + result.objectId);
};
sforce.console.onFocusedSubtab(eventHandler);
</script>
</apex:page>
イベントハンドラの応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
id
string
ブラウザがフォーカスされているサブタブの ID。
41
主タブとサブタブ用のメソッド
onTabSave()
名前
型
説明
objectId
string
ブラウザのフォーカスがあるサブタブのオブジェクト ID、オブジェ
クトが存在しない場合は null。
onTabSave()
ユーザがサブタブの [保存されていない変更] ダイアログボックスの [保存] をクリックすると、コールバックメ
ソッドを登録し、コールします。このメソッドを使用する場合、コールバックメソッドで
setTabUnsavedChanges() をコールする必要があります。これにより、カスタム保存操作が完了したことが
コンソールに通知されます。setTabUnsavedChanges() へのコールでは、保存が成功したことを示すには、
最初のパラメータとして false を渡し、保存が失敗したことを示すには、true を渡します。このメソッド
は、API バージョン 28.0 以降でのみ使用できます。
コールバックメソッドを登録すると、ユーザインターフェースに影響します。保存ハンドラが登録されていな
いと、変更を保存せずにタブを閉じるときに、[次へ] および [キャンセル] という 2 つのオプションがユーザに
表示されます。保存ハンドラが登録されていると、タブを閉じるときに[保存]、[保存しない]、および[キャン
セル] という 3 つのオプションがユーザに表示されます。この場合、ユーザが [保存] を選択すると、登録済み
のコールバックメソッドがコールされます。
重要: setTabUnsavedChanges() を指定して onTabSave() を使用する場合:
• sforce.console.setTabUnsavedChanges(false,...) をコールして、指定されたタブを閉じま
す。後続の保存ロジックが実行されないように、コールバックメソッドの最後に
sforce.console.setTabUnsavedChanges() へのコールを実行することをお勧めします。
• sforce.console.setTabUnsavedChanges() をコールしないと、ユーザインターフェースに重大な
影響が及びます。たとえば、sforce.console.setTabUnsavedChanges() がコールされていない状
態のサブタブがある主タブを閉じると、保存中... モーダルダイアログボックスが閉じなくなります。
• 指定されたタブが正常に保存されて閉じると、sforce.console.setTabUnsavedChanges() に渡さ
れたすべてのコールバックは実行されません。
メモ: カスタムコンソールコンポーネントから onTabSave() をコールすると、タブの保存時にコンポー
ネントが更新されません。カスタムコンソールコンポーネントについての詳細は、Salesforceオンラインヘ
ルプの「カスタムコンソールコンポーネントの概要」を参照してください。
構文
sforce.console.onTabSave(callback:Function)
引数
名前
型
説明
callback
function
保存操作を処理するためにコールされる JavaScript メソッド。
42
主タブとサブタブ用のメソッド
openConsoleUrl()
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testOnTabSave();return false">
Click here to register save handler</A>
<apex:includeScript value="/support/console/28.0/integration.js"/>
<script type="text/javascript">
function testOnTabSave() {
sforce.console.onTabSave(handleSave);
}
var handleSave = function handleSave(result) {
alert('save handler called from tab with id ' + result.id +
' and objectId ' + result.objectId);
//Perform save logic here
//Mark tab as 'clean'
sforce.console.setTabUnsavedChanges(false, undefined, result.id);
};
</script>
</apex:page>
応答
名前
型
説明
id
string
保存中のタブの ID。
objectId
string
保存中のタブのオブジェクト ID (該当する場合)、それ以外の場合は
null。
openConsoleUrl()
generateConsoleUrl() メソッドで作成した URL (Salesforce コンソールのタブ、または関連タブのグループへ
の URL) を開きます。このメソッドは、API バージョン 28.0 以降でのみ使用できます。
構文
sforce.console.openConsoleUrl(id:String, consoleUrl:URL, active:Boolean,
(optional)tabLabels:String, (optional)tabNames:String, (optional)callback:Function)
43
主タブとサブタブ用のメソッド
openConsoleUrl()
引数
名前
型
説明
id
string
上書きするコンソールタブの ID。ID が既存の主タブに対応している
場合、コンソールではタブの重複が無効であるため、指定された URL
に既存の主タブがリダイレクトされます。新しい主タブを作成する
には、null を使用します。
consoleUrl
string
Salesforce に渡される URL の配列を表すコンソール URL。
active
boolean
true の場合、開いている主タブがすぐに表示されます。false の
場合、開いている主タブが背景で開き、フォーカスは現在のタブに
残ります。
tabLabels
string
開いている主タブまたはサブタブの表示ラベルの配列 (省略可能)。
コンソール URL でのタブの表示順序は、配列に表示される表示ラベ
ルの順序と一致します。タブの表示ラベルを表示しない場合は、空
の文字列 ('') を使用します。
tabNames
string
開いている主タブまたはサブタブの名前の配列 (省略可能)。コンソー
ル URL でのタブの表示順序は、配列に表示される名前の順序と一致
します。タブの名前を表示しない場合は、空の文字列 ('') を使用し
ます。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/28.0/integration.js"/>
<A HREF="#" onClick="testGenerateConsoleURL();return false">
Click here to open a console URL</A>
<script type="text/javascript">
var generateConsoleUrl = function testGenerateConsoleURL {
sforce.console.generateConsoleUrl([/apex/pagename, /entityId,
www.externalUrl.com, Standard Salesforce Url/entityId], showConsoleUrl);
}
var openConsoleUrl = function showConsoleUrl(result) {
sforce.console.openConsoleUrl(null, result.consoleUrl, true, ['Apex', '',
'Salesforce', ''], ['', '', 'externalUrl', ''])
}
</script>
</apex:page>
メモ: この例では、表示ラベルまたは名前を設定する場合に、他の値を空の文字列 (‘’) に設定する必要が
あることを示しています。
44
主タブとサブタブ用のメソッド
openPrimaryTab()
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
コンソール URL が正常に開いた場合は true、そうでない場合は
false。
openPrimaryTab()
指定された URL (相対または絶対) のコンテンツを表示する新しい主タブを開きます。また、既存のタブを上書
きすることもできます。このメソッドは、API バージョン 20.0 以降でのみ使用できます。
• ID が既存の主タブに対応している場合、Salesforce コンソールではタブの重複が無効であるため、既存のタ
ブは指定された URL にリダイレクトされます。
• URL が Salesforce オブジェクトを対象としている場合、そのオブジェクトは、Salesforce コンソールアプリケー
ション設定で指定したように表示されます。たとえば、ケースが親取引先のサブタブとして開くように設
定されている場合、ケースで openPrimaryTab() がコールされると、ケースは親取引先の主タブのサブ
タブとして開きます。
タブを開くときにエラーが発生した場合、JavaScript コンソールでエラーコードがレポートされます。
構文
sforce.console.openPrimaryTab(id:String, url:URL, active:Boolean,
(optional)tabLabel:String, (optional)callback:Function, (optional)name)
引数
名前
型
説明
id
string
上書きする主タブの ID。
新しい主タブを作成するには、null を使用します。
ID が既存の主タブに対応している場合、Salesforce コンソールではタ
ブの重複が無効であるため、既存のタブは指定された URL にリダイ
レクトされます。
url
URL
開いている主タブの URL。
URL が Salesforce オブジェクトを対象としている場合、そのオブジェ
クトは、Salesforce コンソールアプリケーション設定で指定したよう
に表示されます。たとえば、ケースが親取引先のサブタブとして開
くように設定されている場合、ケースで openPrimaryTab() がコー
45
主タブとサブタブ用のメソッド
名前
openPrimaryTab()
型
説明
ルされると、ケースは親取引先の主タブのサブタブとして開きま
す。
ユーザは、コンソールのホワイトリストに追加されている既存の URL
を開くことができます。詳細は、オンラインヘルプの「Salesforce コ
ンソールのホワイトリストのドメイン」を参照してください。
boolean
active
true の場合、開いている主タブがすぐに表示されます。false の
場合、開いている主タブが背景で開き、フォーカスは現在のタブに
残ります。
tabLabel
string
開いている主タブの表示ラベル (省略可能)。表示ラベルが指定され
ていないと、外部ページが表示されます。
表示ラベルをテキストとして追加します。HTML はサポートされてい
ません。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
name
string
開いている主タブの名前 (省略可能)。
この引数は、API バージョン 22.0 以降でのみ使用できます。
サンプルコード – Visualforce
<apex:page standardController="Case">
<A HREF="#" onClick="testOpenPrimaryTab();return false">
Click here to open a new primary tab</A>
<apex:includeScript value="/support/console/22.0/integration.js"/>
<script type="text/javascript">
function testOpenPrimaryTab() {
//Open a new primary tab with the salesforce.com home page in it
sforce.console.openPrimaryTab(null, 'http://www.salesforce.com', false,
'salesforce', openSuccess, 'salesforceTab');
}
var openSuccess = function openSuccess(result) {
//Report whether opening the new tab was successful
if (result.success == true) {
alert('Primary tab successfully opened');
} else {
alert('Primary tab cannot be opened');
}
};
</script>
46
主タブとサブタブ用のメソッド
openSubtab()
</apex:page>
メモ: この例は、ケース上のカスタムリンクをクリックすると実行されるように設定されています。詳細
は、Salesforce オンラインヘルプの「カスタムボタンとリンクの定義」を参照してください。
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
タブが正常に開かれた場合は true、タブが開かれなかった場合は
false。
id
string
主タブの ID。ID はユーザセッションの間のみ有効です。ユーザが
Salesforce コンソールから離れると ID は無効になります。
openSubtab()
指定された URL (相対または絶対) のコンテンツを表示する新しいサブタブ (主タブ内) を開きます。また、既存
のサブタブを上書きすることもできます。主タブの ID を使用して主タブで新しいサブタブを開く場合に使用
します。このメソッドは、API バージョン 20.0 以降でのみ使用できます。
タブを開くときにエラーが発生した場合、JavaScript コンソールでエラーコードがレポートされます。
構文
sforce.console.openSubtab(primaryTabId:String, url:URL, active:Boolean, tabLabel:String,
id:String, (optional)callback:Function, (optional)name:String)
引数
名前
型
説明
primaryTabId
string
サブタブが開いている主タブの ID。
url
URL
開いているサブタブの URL。
URL が Salesforce オブジェクトを対象としている場合、そのオブジェ
クトは、Salesforce コンソールアプリケーション設定で指定したよう
に表示されます。たとえば、ケースを主タブとして開くように設定
している場合、ケースで openSubtab() がコールされると、ケー
スは主タブとして開きます。
47
主タブとサブタブ用のメソッド
名前
openSubtab()
型
説明
ユーザは、コンソールのホワイトリストに追加されている既存の URL
を開くことができます。詳細は、オンラインヘルプの「Salesforce コ
ンソールのホワイトリストのドメイン」を参照してください。
boolean
active
true の場合、開いているサブタブがすぐに表示されます。false
の場合、開いているサブタブがバックグラウンドで表示され、フォー
カスは現在のタブに残ります。
tabLabel
string
開いているサブタブの表示ラベル (省略可能)。表示ラベルが指定さ
れていないと、外部ページが表示されます。
表示ラベルをテキストとして追加します。HTML はサポートされてい
ません。
string
id
上書きするサブタブの ID。
新しいサブタブを作成するには、null を使用します。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
name
string
開いているサブタブの名前 (省略可能)。
この引数は、API バージョン 22.0 以降でのみ使用できます。
サンプルコード – Visualforce
<apex:page standardController="Case">
<A HREF="#" onClick="testOpenSubtab();return false">
Click here to open a new subtab</A>
<apex:includeScript value="/support/console/22.0/integration.js"/>
<script type="text/javascript">
function testOpenSubtab() {
//First find the ID of the primary tab to put the new subtab in
sforce.console.getEnclosingPrimaryTabId(openSubtab);
}
var openSubtab = function openSubtab(result) {
//Now that we have the primary tab ID, we can open a new subtab in it
var primaryTabId = result.id;
sforce.console.openSubtab(primaryTabId , 'http://www.salesforce.com', false,
'salesforce', null, openSuccess, 'salesforceSubtab');
};
var openSuccess = function openSuccess(result) {
//Report whether we succeeded in opening the subtab
if (result.success == true) {
48
主タブとサブタブ用のメソッド
openSubtabByPrimaryTabName()
alert('subtab successfully opened');
} else {
alert('subtab cannot be opened');
}
};
</script>
</apex:page>
メモ: この例は、ケース上のカスタムリンクをクリックすると実行されるように設定されています。詳細
は、Salesforce オンラインヘルプの「カスタムボタンとリンクの定義」を参照してください。
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
サブタブが正常に開かれた場合は true、サブタブが開かれなかっ
た場合は false。
id
string
サブタブの ID。ID はユーザセッションの間のみ有効です。ユーザが
Salesforce コンソールから離れると ID は無効になります。
openSubtabByPrimaryTabName()
指定された URL (相対または絶対) のコンテンツを表示する新しいサブタブ (主タブ内) を開きます。また、既存
のサブタブを上書きすることもできます。主タブの名前を使用して主タブで新しいサブタブを開く場合に使用
します。このメソッドは、API バージョン 22.0 以降でのみ使用できます。
タブを開くときにエラーが発生した場合、JavaScript コンソールでエラーコードがレポートされます。
構文
sforce.console.openSubtabByPrimaryTabName(primaryTabName:String, url:URL, active:Boolean,
tabLabel:String, id:String, (optional)callback:Function, (optional)name:String)
引数
名前
型
説明
primaryTabName
string
サブタブが開いている主タブの名前。
url
URL
開いているサブタブの URL。
URL が Salesforce オブジェクトを対象としている場合、そのオブジェ
クトは、Salesforce コンソールアプリケーション設定で指定したよう
49
主タブとサブタブ用のメソッド
名前
openSubtabByPrimaryTabName()
型
説明
に表示されます。たとえば、ケースを主タブとして開くように設定
している場合、ケースで openSubtab() がコールされると、ケー
スは主タブとして開きます。
ユーザは、コンソールのホワイトリストに追加されている既存の URL
を開くことができます。詳細は、オンラインヘルプの「Salesforce コ
ンソールのホワイトリストのドメイン」を参照してください。
active
boolean
true の場合、開いているサブタブがすぐに表示されます。false
の場合、開いているサブタブがバックグラウンドで表示され、フォー
カスは現在のタブに残ります。
tabLabel
string
開いているサブタブの表示ラベル (省略可能)。表示ラベルが指定さ
れていないと、外部ページが表示されます。
表示ラベルをテキストとして追加します。HTML はサポートされてい
ません。
string
id
上書きするサブタブの ID。
新しいサブタブを作成するには、null を使用します。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
name
string
開いているサブタブの名前 (省略可能)。
この引数は、API バージョン 22.0 以降でのみ使用できます。
サンプルコード – Visualforce
<apex:page standardController="Case">
<A HREF="#" onClick="testOpenSubtab();return false">
Click here to open a new subtab by primary tab name</A>
<apex:includeScript value="/support/console/22.0/integration.js"/>
<script type="text/javascript">
function testOpenSubtabByPrimaryTabName() {
//First open a primary tab by name
sforce.console.openPrimaryTab(null, 'http://www.yahoo.com', true, 'Yahoo',
openSubtab, 'yahoo');
}
var openSubtab = function openSubtab(result) {
//Open the subtab by the name specified in function
testOpenSubtabByPrimaryTabName()
sforce.console.openSubtabByPrimaryTabName('yahoo', 'http://www.salesforce.com',
true,
'salesforce', null, openSuccess);
50
主タブとサブタブ用のメソッド
refreshPrimaryTabById()
};
var openSuccess = function openSuccess(result) {
//Report whether we succeeded in opening the subtab
if (result.success == true) {
alert('subtab successfully opened');
} else {
alert('subtab cannot be opened');
}
};
</script>
</apex:page>
メモ: この例は、ケース上のカスタムリンクをクリックすると実行されるように設定されています。詳細
は、Salesforce オンラインヘルプの「カスタムボタンとリンクの定義」を参照してください。
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
サブタブが正常に開かれた場合は true、サブタブが開かれなかっ
た場合は false。
id
string
サブタブの ID。ID はユーザセッションの間のみ有効です。ユーザが
Salesforce コンソールから離れると ID は無効になります。
refreshPrimaryTabById()
サブタブを含む、ID で指定された主タブを更新します。このメソッドでは、外部ページまたは Visualforce ペー
ジへの URL を持つサブタブは更新できません。このメソッドは、APIバージョン 22.0 以降でのみ使用できます。
構文
sforce.console.refreshPrimaryTabById(id:String, active:Boolean,
(optional)callback:Function)
引数
名前
型
説明
id
string
更新する主タブの ID。
51
主タブとサブタブ用のメソッド
refreshPrimaryTabById()
名前
型
説明
active
boolean
true の場合、更新された主タブがすぐに表示されます。false の
場合、更新された主タブがバックグラウンドで表示されます。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page standardController="Case">
<A HREF="#" onClick="testRefreshPrimaryTabById();return false">
Click here to refresh a primary tab by id</A>
<apex:includeScript value="/support/console/22.0/integration.js"/>
<script type="text/javascript">
function testRefreshPrimaryTabById() {
//Get the value for 'scc-pt-0' from the openPrimaryTab method
//This value is for example purposes only
var primaryTabId = 'scc-pt-0';
sforce.console.refreshPrimaryTabById(primaryTabId, true, refreshSuccess);
}
var refreshSuccess = function refreshSuccess(result) {
//Report whether refreshing the primary tab was successful
if (result.success == true) {
alert('Primary tab refreshed successfully');
} else {
alert('Primary did not refresh');
}
};
</script>
</apex:page>
メモ: この例は、ケース上のカスタムリンクをクリックすると実行されるように設定されています。詳細
は、Salesforce オンラインヘルプの「カスタムボタンとリンクの定義」を参照してください。
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
主タブが正常に更新された場合は true、主タブが更新されなかっ
た場合は false。
52
主タブとサブタブ用のメソッド
refreshPrimaryTabByName()
refreshPrimaryTabByName()
サブタブを含む、名前で指定された主タブを更新します。このメソッドでは、外部ページまたはVisualforceペー
ジへの URL を持つサブタブは更新できません。このメソッドは、APIバージョン 22.0 以降でのみ使用できます。
構文
sforce.console.refreshPrimaryTabByName(name:String, active:Boolean,
(optional)callback:Function)
引数
名前
型
説明
name
string
更新する主タブの名前。
active
boolean
true の場合、更新された主タブがすぐに表示されます。false の
場合、更新された主タブがバックグラウンドで表示されます。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page standardController="Case">
<A HREF="#" onClick="testRefreshPrimaryTabByName();return false">
Click here to refresh a primary tab by name</A>
<apex:includeScript value="/support/console/22.0/integration.js"/>
<script type="text/javascript">
function testRefreshPrimaryTabByName() {
//Set the name of the tab by using the openPrimaryTab method
//This value is for example purposes only
var primaryTabName = 'myPrimaryTab';
sforce.console.refreshPrimaryTabByName(primaryTabName, true, refreshSuccess);
}
var refreshSuccess = function refreshSuccess(result) {
//Report whether refreshing the primary tab was successful
if (result.success == true) {
alert('Primary tab refreshed successfully');
} else {
alert('Primary tab did not refresh');
}
};
</script>
53
主タブとサブタブ用のメソッド
refreshSubtabById()
</apex:page>
メモ: この例は、ケース上のカスタムリンクをクリックすると実行されるように設定されています。詳細
は、Salesforce オンラインヘルプの「カスタムボタンとリンクの定義」を参照してください。
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
主タブが正常に更新された場合は true、主タブが更新されなかっ
た場合は false。
refreshSubtabById()
指定された ID で最後に確認された URL を持つサブタブを更新します。最後に確認された URL が外部ページまた
は Visualforce ページの場合、このメソッドではサブタブを更新できません。このメソッドは、API バージョン
22.0 以降でのみ使用できます。
構文
sforce.console.refreshSubtabById(id:String, active:Boolean, (optional)callback:Function)
引数
名前
型
説明
id
string
更新するサブタブの ID。
active
boolean
true の場合、更新されたサブタブがすぐに表示されます。false
の場合、更新されたサブタブがバックグラウンドで表示されます。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page standardController="Case">
<A HREF="#" onClick="testRefreshSubtabById();return false">
Click here to refresh a subtab by id</A>
54
主タブとサブタブ用のメソッド
refreshSubtabByNameAndPrimaryTabId()
<apex:includeScript value="/support/console/22.0/integration.js"/>
<script type="text/javascript">
function testRefreshSubtabById() {
//Set the name of the tab by using the openSubtab method
//This value is for example purposes only
var subtabId = 'scc-st-0';
sforce.console.refreshSubtabById(subtabId, true, refreshSuccess);
}
var refreshSuccess = function refreshSuccess(result) {
//Report whether refreshing the subtab was successful
if (result.success == true) {
alert('Subtab refreshed successfully');
} else {
alert('Subtab did not refresh');
}
};
</script>
</apex:page>
メモ: この例は、ケース上のカスタムリンクをクリックすると実行されるように設定されています。詳細
は、Salesforce オンラインヘルプの「カスタムボタンとリンクの定義」を参照してください。
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
サブタブが正常に更新された場合は true、サブタブが更新されな
かった場合は false。
refreshSubtabByNameAndPrimaryTabId()
指定された名前と主タブ ID で最後に確認された URL を持つサブタブを更新します。最後に確認された URL が外
部ページまたは Visualforce ページの場合、このメソッドではサブタブを更新できません。このメソッドは、API
バージョン 22.0 以降でのみ使用できます。
構文
sforce.console.refreshSubtabByNameAndPrimaryTabId(name:String, primaryTabId:String,
active:Boolean, (optional)callback:Function)
55
主タブとサブタブ用のメソッド
refreshSubtabByNameAndPrimaryTabId()
引数
名前
型
説明
name
string
更新するサブタブの名前。
primaryTabId
string
サブタブが開いている主タブの ID。
active
boolean
true の場合、更新されたサブタブがすぐに表示されます。false
の場合、更新されたサブタブがバックグラウンドで表示されます。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page standardController="Case">
<A HREF="#" onClick="testRefreshSubtabByNameAndPrimaryTabId();return false">
Click here to refresh a subtab by name and primary tab ID</A>
<apex:includeScript value="/support/console/22.0/integration.js"/>
<script type="text/javascript">
function testRefreshSubtabByNameAndPrimaryTabId() {
//Get the value for 'mySubtab' and 'scc-pt-0' from the openSubtab method
//These values are for example purposes only
var subtabName = 'mySubtab';
var primaryTabId = 'scc-pt-0';
sforce.console.refreshSubtabByNameAndPrimaryTabId(subtabName, primaryTabId,
true, refreshSuccess);
}
var refreshSuccess = function refreshSuccess(result) {
//Report whether refreshing the subtab was successful
if (result.success == true) {
alert('Subtab refreshed successfully');
} else {
alert('Subtab did not refresh');
}
};
</script>
</apex:page>
メモ: この例は、ケース上のカスタムリンクをクリックすると実行されるように設定されています。詳細
は、Salesforce オンラインヘルプの「カスタムボタンとリンクの定義」を参照してください。
56
主タブとサブタブ用のメソッド
refreshSubtabByNameAndPrimaryTabName()
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
サブタブが正常に更新された場合は true、サブタブが更新されな
かった場合は false。
refreshSubtabByNameAndPrimaryTabName()
指定された名前と主タブ名で最後に確認された URL を持つサブタブを更新します。最後に確認された URL が外
部ページまたは Visualforce ページの場合、このメソッドではサブタブを更新できません。このメソッドは、API
バージョン 22.0 以降でのみ使用できます。
構文
sforce.console.refreshSubtabByNameAndPrimaryTabName(name:String, primaryTabName:String,
active:Boolean, (optional)callback:Function)
引数
名前
型
説明
name
string
更新するサブタブの名前。
primaryTabName
string
サブタブが開いている主タブの名前。
active
boolean
true の場合、更新されたサブタブがすぐに表示されます。false
の場合、更新されたサブタブがバックグラウンドで表示されます。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page standardController="Case">
<A HREF="#" onClick="testRefreshSubtabByNameAndPrimaryTabName();return false">
Click here to refresh a subtab by name and primary tab name</A>
<apex:includeScript value="/support/console/22.0/integration.js"/>
<script type="text/javascript">
function testRefreshSubtabByNameAndPrimaryTabName() {
//Get the value for 'mySubtab' and 'myPrimaryTab' from the openSubtab method
//These values are for example purposes only
57
主タブとサブタブ用のメソッド
resetSessionTimeOut()
var subtabName = 'mySubtab';
var primaryTabName = 'myPrimaryTab';
sforce.console.refreshSubtabByNameAndPrimaryTabName(subtabName, primaryTabName,
true, refreshSuccess);
}
var refreshSuccess = function refreshSuccess(result) {
//Report whether refreshing the subtab was successful
if (result.success == true) {
alert('Subtab successfully refreshed');
} else {
alert('Subtab did not refresh');
}
};
</script>
</apex:page>
メモ: この例は、ケース上のカスタムリンクをクリックすると実行されるように設定されています。詳細
は、Salesforce オンラインヘルプの「カスタムボタンとリンクの定義」を参照してください。
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
サブタブが正常に更新された場合は true、サブタブが更新されな
かった場合は false。
resetSessionTimeOut()
Visualforce ページのセッションタイムアウトをリセットします。これにより、ユーザがログアウトせず操作を
続行できます。このメソッドは、API バージョン 24.0 以降でのみ使用できます。
詳細は、Salesforce ヘルプの 「セッションセキュリティの設定」を参照してください。
構文
sforce.console.resetSessionTimeOut()
引数
なし
58
主タブとサブタブ用のメソッド
setTabUnsavedChanges()
サンプルコード – Visualforce
<apex:page standardController="Case">
<A HREF="#" onClick="testResetSessionTimeOut();">
Click here to reset session timeout</A>
<apex:includeScript value="/support/console/24.0/integration.js"/>
<script type="text/javascript">
function testResetSessionTimeOut() {
sforce.console.resetSessionTimeOut();
};
</script>
</apex:page>
メモ: この例は、ケース上のカスタムリンクをクリックすると実行されるように設定されています。詳細
は、Salesforce オンラインヘルプの「カスタムボタンとリンクの定義」を参照してください。
応答
なし
setTabUnsavedChanges()
未保存のデータを示すため、サブタブの保存されていない変更アイコン ( ) を設定します。このメソッドは、
API バージョン 23.0 以降でのみ使用できます。
構文
sforce.console.setTabUnsavedChanges(unsaved:Boolean, callback:Function,
(optional)subtabId:String)
引数
名前
型
説明
unsaved
boolean
true の場合、変更が保存されていないことを示すマークがタブに
設定されます。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
subtabId
string
変更が保存されていないことを示すマークを設定するサブタブの
ID。
この引数は、API バージョン 25.0 以降でのみ使用できます。
59
主タブとサブタブ用のメソッド
setTabUnsavedChanges()
サンプルコード API バージョン 23.0 以降 – Visualforce
<apex:page standardController="Case">
<A HREF="#" onClick="testSetTabUnsavedChanges();return false">
Click here to indicate this tab has unsaved changes</A>
<apex:includeScript value="/support/console/23.0/integration.js"/>
<script type="text/javascript">
function testSetTabUnsavedChanges() {
sforce.console.setTabUnsavedChanges(true, displayResult);
};
function displayResult(result) {
if (result.success) {
alert('Tab status has been successfully updated');
} else {
alert('Tab status couldn’t be updated');
}
}
</script>
</apex:page>
メモ: この例は、ケース上のカスタムリンクをクリックすると実行されるように設定されています。詳細
は、Salesforce オンラインヘルプの「カスタムボタンとリンクの定義」を参照してください。
応答
このメソッドは、オブジェクトの応答をコールバックメソッドで返します。応答オブジェクトには次の項目が
含まれます。
名前
型
説明
success
boolean
更新に成功した場合は true、更新に失敗した場合は false。
サンプルコード API バージョン 25.0 以降 – Visualforce
<apex:page standardController="Case">
<A HREF="#" onClick="testSetTabUnsavedChanges();return false">
Click here to indicate this tab has unsaved changes</A>
<apex:includeScript value="/support/console/25.0/integration.js"/>
<script type="text/javascript">
function testSetTabUnsavedChanges() {
sforce.console.getFocusedSubtabId(setTabDirty);
};
function setTabDirty(result) {
sforce.console.setTabUnsavedChanges(true, displayResult, result.id);
};
function displayResult(result) {
if (result.success) {
60
主タブとサブタブ用のメソッド
setTabIcon()
alert('Tab status has been successfully updated');
} else {
alert('Tab status couldn’t be updated');
}
};
</script>
</apex:page>
メモ: この例は、Visualforceページがアプリケーションレベルのカスタムコンポーネント内にある場合にの
み実行されるように設定されています。詳細は、「アプリケーションレベルのカスタムコンソールコン
ポーネント用のメソッド」 (ページ 89)を参照してください。
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
フォーカスされたサブタブ ID が正常に返された場合は true、フォー
カスされたサブタブ ID が正常に返されなかった場合は false。
setTabIcon()
指定されたタブにアイコンを設定します。タブが指定されていない場合、アイコンは囲んでいるタブに設定さ
れます。このメソッドを使って、タブのアイコンをカスタマイズします。このメソッドは、APIバージョン 28.0
以降でのみ使用できます。
構文
sforce.console.setTabIcon(iconUrl:String, tabID:String, (optional)callback:Function)
引数
名前
型
説明
iconUrl
string
タブのアイコンとして使用される画像を指し示す URL。null または未
定義の場合、タブのデフォルトアイコンが使用されます。
tabId
string
アイコンを設定するタブの ID。null または未定義の場合、囲んでい
るタブの ID が使用されます。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
61
主タブとサブタブ用のメソッド
setTabLink()
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testSetTabIcon();return false">
Click here to change the enclosing tab’s icon</A> <BR/>
<A HREF="#" onClick="testResetTabIcon(); return false;">
Click here to reset the enclosing tab’s icon</A>
<apex:includeScript value="/support/console/28.0/integration.js"/>
<script type="text/javascript">
function checkResult(result) {
if (result.success) {
alert('Tab icon set successfully!');
} else {
alert('Tab icon cannot be set!');
}
}
function testSetTabIcon() {
sforce.console.setTabIcon('http://host/path/to/your/icon.png', null,
checkResult);
}
function testResetTabIcon() {
sforce.console.setTabIcon(null, null, checkResult);
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
タブのアイコンの設定に成功した場合は true、タブのアイコンの
設定に失敗した場合は false。
メモ: タブ ID を渡さずにこのメソッドをコールすると、Visualforce ページを囲んでいるタブが使用されま
す。囲んでいるタブがない場合、ブラウザの開発者コンソールに Cannot get a workspace or view
tab from the given ID (指定された ID で [ワークスペース] タブまたは [ビュー] タブを取得でき
ません) というエラーメッセージが表示されます。
setTabLink()
コンソールタブの URL 属性をタブのコンテンツの場所に設定します。ユーザが Salesforce ドメインの外にあるコ
ンテンツを表示したタブに移動するときは、このメソッドを使用して安全なコンソール URL を生成します。こ
のメソッドは、API バージョン 28.0 以降でのみ使用できます。
62
主タブとサブタブ用のメソッド
setTabStyle()
構文
sforce.console.setTabLink((optional)callback:Function)
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page standardController="Account">
<apex: detail />
<apex:includeScript value="/support/console/28.0/integration.js"/>
<script type="text/javascript">
window.onload = function() {
sforce.console.setTabLink();
};
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
リンクの設定に成功した場合は true、リンクの設定に失敗した場
合は false。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
setTabStyle()
指定のタブにカスケードスタイルシート (CSS) を設定します。タブが指定されていない場合、CSS は囲んでいる
タブに設定されます。このメソッドを使って、タブのデザインをカスタマイズします。このメソッドは、API
バージョン 28.0 以降でのみ使用できます。
構文
sforce.console.setTabStyle(style:String, tabId:String, (optional)callback:Function)
63
主タブとサブタブ用のメソッド
setTabStyle()
引数
名前
型
説明
style
string
タブのスタイルの設定に使用される CSS 指定文字列。null または未定
義の場合、タブのデフォルトスタイルが使用されます。
tabId
string
スタイルを設定するタブの ID。null または未定義の場合、囲んでい
るタブの ID が使用されます。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testSetTabStyle();return false">
Click here to change the enclosing tab’s background color to red</A> <BR/>
<A HREF="#" onClick="testResetTabStyle(); return false;">
Click here to reset the enclosing tab’s style</A>
<apex:includeScript value="/support/console/28.0/integration.js"/>
<script type="text/javascript">
function checkResult(result) {
if (result.success) {
alert('Tab style set successfully!');
} else {
alert('Tab style cannot be set!');
}
}
function testSetTabStyle() {
sforce.console.setTabStyle('background:red;', null, checkResult);
}
function testResetTabStyle() {
sforce.console.setTabStyle(null, null, checkResult);
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
タブのスタイルの設定に成功した場合は true、タブのスタイルの
設定に失敗した場合は false。
64
主タブとサブタブ用のメソッド
setTabTextStyle()
メモ: タブ ID を渡さずにこのメソッドをコールすると、Visualforce ページを囲んでいるタブが使用されま
す。囲んでいるタブがない場合、ブラウザの開発者コンソールに Cannot get a workspace or view
tab from the given ID (指定された ID で [ワークスペース] タブまたは [ビュー] タブを取得でき
ません) というエラーメッセージが表示されます。
setTabTextStyle()
指定されたタブのテキストにカスケードスタイルシート (CSS) を設定します。タブが指定されていない場合、
CSS は囲んでいるタブのテキストに設定されます。このメソッドを使って、タブのテキストスタイルをカスタ
マイズします。このメソッドは、API バージョン 28.0 以降でのみ使用できます。
構文
sforce.console. setTabTextStyle(style:String, tabID:String, (optional)callback:Function))
引数
名前
型
説明
style
string
タブのテキストスタイルの設定に使用される CSS 指定文字列。null ま
たは未定義の場合、タブのデフォルトテキストスタイルが使用され
ます。
tabId
string
テキストスタイルを設定するタブの ID。null または未定義の場合、
囲んでいるタブの ID が使用されます。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testSetTabTextStyle();return false">
Click here to change the enclosing tab’s text style</A> <BR/>
<A HREF="#" onClick="testResetTabTextStyle(); return false;">
Click here to reset the enclosing tab’s text style</A>
<apex:includeScript value="/support/console/28.0/integration.js"/>
<script type="text/javascript">
function checkResult(result) {
if (result.success) {
alert('Tab text style set successfully!');
} else {
alert('Tab text style cannot be set!');
}
}
function testSetTabTextStyle() {
65
主タブとサブタブ用のメソッド
setTabTitle()
sforce.console.setTabTextStyle('color:blue;font-style:italic;', null,
checkResult);
}
function testResetTabTextStyle() {
sforce.console.setTabTextStyle(null, null, checkResult);
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
タブのテキストスタイルの設定に成功した場合は true、タブのテ
キストスタイルの設定に失敗した場合は false。
メモ: タブ ID を渡さずにこのメソッドをコールすると、Visualforce ページを囲んでいるタブが使用されま
す。囲んでいるタブがない場合、ブラウザの開発者コンソールに Cannot get a workspace or view
tab from the given ID (指定された ID で [ワークスペース] タブまたは [ビュー] タブを取得でき
ません) というエラーメッセージが表示されます。
setTabTitle()
主タブまたはサブタブのタイトルを設定します。このメソッドは、API バージョン 20.0 以降でのみ使用できま
す。
構文
sforce.console.setTabTitle(tabTitle:String, (optional)tabID:String)
引数
名前
型
説明
tabTitle
string
主タブまたはサブタブのタイトル。
tabId
string
タイトルを設定するタブの ID。
この引数は、API バージョン 25.0 以降でのみ使用できます。
66
主タブとサブタブ用のメソッド
setTabTitle()
サンプルコード – Visualforce API バージョン 20.0 以降
<apex:page standardController="Case">
<A HREF="#" onClick="testSetTabTitle();return false">
Click here to change this tab's title</A>
<apex:includeScript value="/support/console/20.0/integration.js"/>
<script type="text/javascript">
function testSetTabTitle() {
//Set the current tab's title
sforce.console.setTabTitle('My New Title');
}
</script>
</apex:page>
メモ: この例は、ケース上のカスタムリンクをクリックすると実行されるように設定されています。詳細
は、Salesforce オンラインヘルプの「カスタムボタンとリンクの定義」を参照してください。
応答
なし
サンプルコード – Visualforce API バージョン 25.0 以降
<apex:page>
<A HREF="#" onClick="testSetTabTitle();return false">
Click here to change the title of the focused primary tab</A>
<apex:includeScript value="/support/console/25.0/integration.js"/>
<script type="text/javascript">
sforce.console.getFocusedPrimaryTabId(function(result){
sforce.console.setTabTitle('My New Title', result.id);
});
</script>
</apex:page>
メモ: この例は、Visualforceページがアプリケーションレベルのカスタムコンポーネント内にある場合にの
み実行されるように設定されています。詳細は、「アプリケーションレベルのカスタムコンソールコン
ポーネント用のメソッド」 (ページ 89)を参照してください。
応答
なし
67
第4章
ナビゲーションタブのメソッド
Salesforce コンソールにはナビゲーションタブが表示され、ユーザはそこからオブジェクトを選択してリストや
ホームページを参照できます。ユーザがナビゲーションタブからアクセスできるオブジェクトは、システム管
理者が選択します。詳細は、オンラインヘルプの「Salesforce コンソールのナビゲーションタブ」および「Salesforce
コンソールアプリケーションの作成」を参照してください。
このセクションの内容:
focusNavigationTab()
ブラウザのナビゲーションタブにフォーカスを移動します。このメソッドは、API バージョン 31.0 以降での
み使用できます。
getNavigationTabs()
ナビゲーションタブ内のすべてのオブジェクトを返します。このメソッドは、API バージョン 31.0 以降での
み使用できます。
getSelectedNavigationTab()
ナビゲーションタブ内の選択されたオブジェクトを返します。このメソッドは、API バージョン 31.0 以降で
のみ使用できます。
refreshNavigationTab()
選択されたナビゲーションタブを更新します。このメソッドは、API バージョン 31.0 以降でのみ使用できま
す。
setSelectedNavigationTab()
特定の ID または URL を持つナビゲーションタブを設定します。このメソッドは、API バージョン 31.0 以降で
のみ使用できます。
focusNavigationTab()
ブラウザのナビゲーションタブにフォーカスを移動します。このメソッドは、API バージョン 31.0 以降でのみ
使用できます。
構文
sforce.console.focusNavigationTab((optional)callback:Function)
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
68
ナビゲーションタブのメソッド
getNavigationTabs()
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/31.0/integration.js"/>
<script type="text/javascript">
var callback = function (result) {}
if(result.success){
alert('success');
}
else{
alert('Something is wrong.');
}
};
sforce.console.focusNavigationTab(callback);
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
オブジェクト ID が正常に返された場合は true、それ以外の場合は
false。
getNavigationTabs()
ナビゲーションタブ内のすべてのオブジェクトを返します。このメソッドは、API バージョン 31.0 以降でのみ
使用できます。
構文
sforce.console.getNavigationTabs((optional)callback:Function)
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
69
ナビゲーションタブのメソッド
getSelectedNavigationTab()
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/31.0/integration.js"/>
<script type="text/javascript">
var callback = function (result) {
var id;
if (result.success) {
var tempItem = JSON.parse(result.items);
for (var i = 0, len = tempItem.length; i < len; i++) {
alert('Label:'+tempItem[i].label+'listViewURl:'+tempItem[i].listViewUrl+'navTabid:'
+tempItem[i].navigationTabId+'Selected ' +tempItem[i].selected);
}
} else {
alert('something is wrong!');
}
};
sforce.console.getNavigationTabs(callback);
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
menuItems
object
ナビゲーションタブ内のオブジェクトの ID。
success
boolean
ナビゲーションタブ内のオブジェクトの ID が正常に返された場合は
true、それ以外の場合は false。
getSelectedNavigationTab()
ナビゲーションタブ内の選択されたオブジェクトを返します。このメソッドは、API バージョン 31.0 以降での
み使用できます。
構文
sforce.console.getSelectedNavigationTab((optional)callback:Function)
70
ナビゲーションタブのメソッド
refreshNavigationTab()
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/31.0/integration.js"/>
<script type="text/javascript">
var callback = function (result) {}
if (result.success) {
alert('the navigation tab id is ' + result.navigationTabId + ' and navigation
url is ' + result.listViewUrl);
} else {
alert('something is wrong!');
}
};
sforce.console.getSelectedNavigationTab(callback);
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
navigationTabId
string
選択されたオブジェクトのオブジェクト ID。
listViewUrl
object
選択されたオブジェクトのリストビュー URL。
label
object
選択されたオブジェクトの表示ラベル。
selected
boolean
オブジェクトの選択された項目が正常に返された場合は true、そ
れ以外の場合は false。
success
boolean
オブジェクト ID が正常に返された場合は true、それ以外の場合は
false。
refreshNavigationTab()
選択されたナビゲーションタブを更新します。このメソッドは、APIバージョン 31.0 以降でのみ使用できます。
71
ナビゲーションタブのメソッド
setSelectedNavigationTab()
構文
sforce.console.refreshNavigationTab((optional)callback:Function)
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/31.0/integration.js"/>
<script type="text/javascript">
var callback = function (result) {}
if(result.success){
alert('success');
}
else{
alert('Something is wrong.');
}
};
sforce.console.refreshNavigationTab(callback);
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
ナビゲーションタブが正常に更新された場合は true、それ以外の
場合は false。
setSelectedNavigationTab()
特定の ID または URL を持つナビゲーションタブを設定します。このメソッドは、API バージョン 31.0 以降での
み使用できます。
72
ナビゲーションタブのメソッド
setSelectedNavigationTab()
構文
sforce.console.setSelectedNavigationTab((optional)callback, navigatorTabId:(optional)string,
url:(optional)string)
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
navigatorTabId
string
選択するナビゲーションタブの ID。
url
string
選択するナビゲーションタブの URL。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/31.0/integration.js"/>
<script type="text/javascript">
var callback = function (result) {}
if (result.success) {
alert('Successful');
} else {
alert('something is wrong!');
}
};
sforce.console.setSelectedNavigationTab(callback,'nav-tab-4');
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
特定の ID または URL のナビゲーションタブが正常に設定された場合
は true、それ以外の場合は false。
73
第5章
コンピュータテレフォニーインテグレー
ション (CTI) のメソッド
Salesforce コールセンターは、Salesforce とコンピュータテレフォニーインテグレーションシステムをシームレス
に統合します。開発者が Open CTI と CTI Toolkit のどちらを使用して CTI システムを作成しても、コンソールユー
ザは、ソフトフォン (コンソールのフッターに表示される通話制御ツール) でテレフォニー機能にアクセスでき
ます。詳細は、Salesforce ヘルプの「Salesforce Open CTI の概要」および「コールセンターの概要」を参照してく
ださい。
このセクションの内容:
fireOnCallBegin()
コールが開始したことを通知するイベントを起動します。相互関係ログとカスタムコンソールコンポーネ
ント間で情報を送受信するために使用されます。このメソッドは、API バージョン 31.0 以降でのみ使用でき
ます。
fireOnCallEnd()
コールが終了したことを通知するイベントを起動します。相互関係ログとカスタムコンソールコンポーネ
ント間で情報を送受信するために使用されます。このメソッドは、API バージョン 31.0 以降でのみ使用でき
ます。
fireOnCallLogSaved()
onCallLogSaved() に登録された eventHandler をコールします。相互関係ログとカスタムコンソール
コンポーネント間で情報を送受信するために使用されます。このメソッドは、API バージョン 31.0 以降での
み使用できます。
getCallAttachedData()
コールオブジェクト ID、または有効なコールがない場合は null によって表されるコールの添付データを返
します。このデータは、JSON 形式で返されます。このメソッドは、コンピュータテレフォニーインテグレー
ション (CTI) 用です。これは、API バージョン 24.0 以降でのみ使用できます。
getCallObjectIds()
有効なコールオブジェクト ID を到着順に返すか、有効なコールがない場合は null を返します。このメソッ
ドは、コンピュータテレフォニーインテグレーション (CTI) 用です。これは、API バージョン 24.0 以降でのみ
使用できます。
onCallBegin()
コールが開始 (着信) するとコールされる関数を登録します。このメソッドは、コンピュータテレフォニー
インテグレーション (CTI) 用です。これは、API バージョン 24.0 以降でのみ使用できます。
onCallEnd()
コールが終了するとコールされる関数を登録します。このメソッドは、コンピュータテレフォニーインテ
グレーション (CTI) 用です。これは、API バージョン 24.0 以降でのみ使用できます。
onCallLogSaved()
相互関係ログが活動ログを保存すると起動される関数を登録します。相互関係ログとカスタムコンソール
コンポーネント間で情報を送受信するために使用されます。このメソッドは、API バージョン 31.0 以降での
み使用できます。
74
コンピュータテレフォニーインテグレーション (CTI) の
メソッド
fireOnCallBegin()
onSendCTIMessage()
メッセージが sendCTIMessage() で送信されると起動される関数を登録します。相互関係ログとカスタム
コンソールコンポーネント間で情報を送受信するために使用されます。このメソッドは、API バージョン
31.0 以降でのみ使用できます。
sendCTIMessage()
メッセージを CTI アダプタまたは Open CTI に送信します。このメソッドは、コンピュータテレフォニーイン
テグレーション (CTI) 用です。これは、API バージョン 24.0 以降でのみ使用できます。
setCallAttachedData()
コールオブジェクト ID に関連付けられたコールデータを設定します。相互関係ログとカスタムコンソール
コンポーネント間で情報を送受信するために使用されます。このメソッドは、API バージョン 31.0 以降での
み使用できます。
setCallObjectIds()
コールオブジェクト ID を到着の昇順で設定します。このメソッドは、API バージョン 31.0 以降でのみ使用で
きます。
fireOnCallBegin()
コールが開始したことを通知するイベントを起動します。相互関係ログとカスタムコンソールコンポーネント
間で情報を送受信するために使用されます。このメソッドは、API バージョン 31.0 以降でのみ使用できます。
構文
sforce.console.cti.fireOnCallBegin( callObjectId:String, callType:String, callLabel:String,
(optional)callback:Function )
引数
名前
型
説明
callObjectId
string
通話のオブジェクト ID。
callType
string
通話種別を指定する文字列。internal、inbound、outbound のい
ずれかである必要があります。
callLabel
string
[Attach Call (通話を添付)] ドロップダウンボタンに表示されるときの
通話を指定する文字列。たとえば、Call Label — Inbound Call
12:52:31 PM などです。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
75
コンピュータテレフォニーインテグレーション (CTI) の
メソッド
fireOnCallEnd()
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testFireOnCallBegin();return false">
Click here to start a call</A>
<apex:includeScript value="/support/console/31.0/integration.js"/>
<script type="text/javascript">
function testFireOnCallBegin() {
sforce.console.cti.fireOnCallBegin('call.794937' , 'outbound' , 'label 1');
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
イベントが正常に起動された場合は true、それ以外の場合は
false。
fireOnCallEnd()
コールが終了したことを通知するイベントを起動します。相互関係ログとカスタムコンソールコンポーネント
間で情報を送受信するために使用されます。このメソッドは、API バージョン 31.0 以降でのみ使用できます。
構文
sforce.console.cti.fireOnCallEnd( callObjectId:String, callDuration:Number,
callDisposition:String, (optional)callback:Function )
引数
名前
型
説明
callObjectId
string
通話のオブジェクト ID。
callDuration
number
通話の所要時間を指定する数値。
callDisposition
string
通話の結果を表す文字列 (通話成功、ボイスメールを録音、切断な
ど)。
76
コンピュータテレフォニーインテグレーション (CTI) の
メソッド
fireOnCallLogSaved()
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testFireOnCallEnd();return false">
Click here to end a call</A>
<apex:includeScript value="/support/console/31.0/integration.js"/>
<script type="text/javascript">
function testFireOnCallEnd() {
//Here, 'call.1' refers to a call that is in progress.
sforce.console.cti.fireOnCallEnd('call.1', 60, 'Set Appointment');
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
イベントが正常に起動された場合は true、それ以外の場合は
false。
fireOnCallLogSaved()
onCallLogSaved() に登録された eventHandler をコールします。相互関係ログとカスタムコンソールコン
ポーネント間で情報を送受信するために使用されます。このメソッドは、API バージョン 31.0 以降でのみ使用
できます。
構文
sforce.console.cti.fireOnCallLogSaved( id:String, (optional)callback:Function )
77
コンピュータテレフォニーインテグレーション (CTI) の
メソッド
fireOnCallLogSaved()
引数
名前
型
説明
id
string
保存された活動ログのオブジェクト ID。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/31.0/integration.js"/>
<script type="text/javascript">
var MyCallback = function (result) {
alert('fireOnCallLogSaved was thrown: ' + result.success);
};
function testFireOnCallLogSaved() {
// Simulates that a call log was saved by passing the task object Id as input.
sforce.console.cti.fireOnCallLogSaved('00Txx000003qf8u', myCallback);
}
var callback = function (result) {
alert('Call Log was saved! Object Id saved is : ' + result.id);
};
sforce.console.cti.onCallLogSaved(callback);
</script>
<a href="#" onClick="testFireOnCallLogSaved();return false">
Test fireOnCallLogSaved API!</a>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
イベントが正常に起動された場合は true、それ以外の場合は
false。
78
コンピュータテレフォニーインテグレーション (CTI) の
メソッド
getCallAttachedData()
getCallAttachedData()
コールオブジェクト ID、または有効なコールがない場合は null によって表されるコールの添付データを返しま
す。このデータは、JSON 形式で返されます。このメソッドは、コンピュータテレフォニーインテグレーショ
ン (CTI) 用です。これは、API バージョン 24.0 以降でのみ使用できます。
構文
sforce.console.cti.getCallAttachedData( callObjectId, getCallType, (optional)
callback:Function )
引数
名前
型
説明
callObjectId
string
添付データを取得するコールのコールオブジェクト ID。
getCallType
boolean
コールの種別が「INTERNAL」、「INBOUND」、「OUTBOUND」のいず
れかで返された場合は true、それ以外の場合は false。この項目
は、API バージョン 29.0 以降でのみ使用できます。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/29.0/integration.js"/>
<script type="text/javascript">
/* Note: Open CTI needs to set call type to before getting it, and call type is
INTERNAL/INBOUND/OUTBOUND.
*/
var callback2 = function (result) {
alert('Call attached data is ' + result.data + '\n Call Type is ' +
result.type);
};
/* Retrieving call ID of first call that came in and
* calling getCallAttachedData() to retrieve call data.
*/
var callback1 = function (result) {
if (result.ids && result.ids.length > 0) {
sforce.console.cti.getCallAttachedData(result.ids[0], callback2,
{getCallType:true});
}
};
79
コンピュータテレフォニーインテグレーション (CTI) の
メソッド
getCallObjectIds()
//Note that we are using the CTI submodule here
function testGetCallAttachedData() {
sforce.console.cti.getCallObjectIds(callback1);
};
</script>
<h1>CTI</h1>
<button onclick="testGetCallAttachedData()">getAttachedData</button>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
data
string
JSON 形式のコールの添付データ。
success
boolean
添付データが正常に返された場合は true、添付データが正常に返
されなかった場合は false。
type
string
コールの種別。使用可能な値には、「INTERNAL」、「INBOUND」、
「OUTBOUND」があります。
getCallObjectIds()
有効なコールオブジェクト ID を到着順に返すか、有効なコールがない場合は null を返します。このメソッド
は、コンピュータテレフォニーインテグレーション (CTI) 用です。これは、API バージョン 24.0 以降でのみ使用
できます。
構文
sforce.console.cti.getCallObjectIds( (optional) callback:Function )
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
80
コンピュータテレフォニーインテグレーション (CTI) の
メソッド
onCallBegin()
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/24.0/integration.js"/>
<script type="text/javascript">
var callback = function (result) {
alert('Active call object ids: ' + result.ids);
};
//Note that we are using the CTI submodule here
sforce.console.cti.getCallObjectIds(callback);
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
ids
string
有効なコールのコールオブジェクト ID、または有効なコールがない
場合は null。
success
boolean
有効なコールオブジェクト ID が正常に返された場合は true、有効
なコールオブジェクト ID が正常に返されなかった場合は false。
onCallBegin()
コールが開始 (着信) するとコールされる関数を登録します。このメソッドは、コンピュータテレフォニーイン
テグレーション (CTI) 用です。これは、API バージョン 24.0 以降でのみ使用できます。
構文
sforce.console.cti.onCallBegin( eventHandler:Function )
引数
名前
型
説明
eventHandler
function
コールが開始するとコールされる JavaScript メソッド。
81
コンピュータテレフォニーインテグレーション (CTI) の
メソッド
onCallEnd()
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/24.0/integration.js"/>
<script type="text/javascript">
var callback = function (result) {
alert('Call ' + result.id + 'Just came in!');
};
//Note that we are using the CTI submodule here
sforce.console.cti.onCallBegin(callback);
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
id
string
開始したコールのコールオブジェクト ID。
onCallEnd()
コールが終了するとコールされる関数を登録します。このメソッドは、コンピュータテレフォニーインテグ
レーション (CTI) 用です。これは、API バージョン 24.0 以降でのみ使用できます。
構文
sforce.console.cti.onCallEnd( eventHandler:Function )
引数
名前
型
説明
eventHandler
function
コールが終了するとコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/24.0/integration.js"/>
<script type="text/javascript">
82
コンピュータテレフォニーインテグレーション (CTI) の
メソッド
onCallLogSaved()
var callback = function (result) {
var str = 'Call ' + result.id + ' ended! ';
str += 'Call duration is ' + result.duration + '. ';
str += 'Call disposition is ' + result.disposition;
alert(str);
};
//Note that we are using the CTI submodule here
sforce.console.cti.onCallEnd(callback);
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
id
string
終了したコールのコールオブジェクト ID。
duration
string
コールの所要時間。
disposition
string
コールの配置。
onCallLogSaved()
相互関係ログが活動ログを保存すると起動される関数を登録します。相互関係ログとカスタムコンソールコン
ポーネント間で情報を送受信するために使用されます。このメソッドは、API バージョン 31.0 以降でのみ使用
できます。
構文
sforce.console.cti.onCallLogSaved( eventHandler:Function )
引数
名前
型
説明
eventHandler
function
標準相互関係ログの場合、eventHandler は活動ログの保存時に実
行される関数です。カスタム相互関係ログの場合、eventHandler
は Visualforce ページで fireOnCallLogSaved API のコール時に実行
される関数です。
83
コンピュータテレフォニーインテグレーション (CTI) の
メソッド
onSendCTIMessage()
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/31.0/integration.js"/>
<script type="text/javascript">
var callback = function (result) {
alert('Call Log was saved! Object Id saved is : ' + result.id);
};
sforce.console.cti.onCallLogSaved(callback);
</script>
<p>Registered onCallLogSaved listener...</p>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
id
string
保存された活動ログのオブジェクト ID。
onSendCTIMessage()
メッセージが sendCTIMessage() で送信されると起動される関数を登録します。相互関係ログとカスタムコ
ンソールコンポーネント間で情報を送受信するために使用されます。このメソッドは、API バージョン 31.0 以
降でのみ使用できます。
構文
sforce.console.cti.onSendCTIMessage( eventHandler:Function )
引数
名前
型
説明
eventHandler
function
sendCTIMessage() メソッドによるメッセージの送信時にコールさ
れる JavaScript メソッド。
84
コンピュータテレフォニーインテグレーション (CTI) の
メソッド
sendCTIMessage()
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/31.0/integration.js"/>
<script type="text/javascript">
var callback = function (result) {
alert('sendCTIMessage API sent the following message: ' + result.message);
};
sforce.console.cti.onSendCTIMessage(callback);
function sendCTIMessage() {
sforce.console.cti.sendCTIMessage('sending a message to CTI');
}
</script>
<a href="#" onClick="sendCTIMessage();return false">
Send a message to see your listener receiving it!</a>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
message
string
sendCTIMessage() メソッドで送信されたメッセージ。
sendCTIMessage()
メッセージを CTI アダプタまたは Open CTI に送信します。このメソッドは、コンピュータテレフォニーインテ
グレーション (CTI) 用です。これは、API バージョン 24.0 以降でのみ使用できます。
構文
sforce.console.cti.sendCTIMessage( msg, (optional) callback:Function )
引数
名前
型
説明
msg
string
アダプタに送信するメッセージ。
callback
function
メッセージの送信時にコールされる JavaScript メソッド。
85
コンピュータテレフォニーインテグレーション (CTI) の
メソッド
setCallAttachedData()
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/24.0/integration.js"/>
<script type="text/javascript">
var callback = function (result) {
if (result.success) {
alert('CTI message was sent successfully!');
} else {
alert('CTI message was not sent successfully.');
}
};
//Note that we are using the CTI submodule here
sforce.console.cti.sendCTIMessage('/ANSWER?LINE_NUMBER=1', callback);
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
メッセージの送信に成功した場合は true、メッセージの送信に失
敗した場合は false。
setCallAttachedData()
コールオブジェクト ID に関連付けられたコールデータを設定します。相互関係ログとカスタムコンソールコ
ンポーネント間で情報を送受信するために使用されます。このメソッドは、API バージョン 31.0 以降でのみ使
用できます。
構文
sforce.console.cti.setCallAttachedData( callObjectId:String, callData:JSON string
callType:String, (optional)callback:Functional)
引数
名前
型
説明
callObjectId
string
通話のオブジェクト ID。
86
コンピュータテレフォニーインテグレーション (CTI) の
メソッド
setCallObjectIds()
名前
型
説明
callData
string
通話に添付されるデータを指定する JSON 文字列。
callType
string
通話種別を指定する文字列 (internal、inbound、outbound な
ど)。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testSetCallAttachedData();return false">
Click here to set call attached data </A>
<apex:includeScript value="/support/console/31.0/integration.js"/>
<script type="text/javascript">
function testSetCallAttachedData() {
//callData must be a JSON string. We assume that your browser has
//access to a JSON library.
var callData = JSON.stringify({"ANI":"4155551212", "DNIS":"8005551212"});
//Set the call attached data associated to call id 'call.1'
sforce.console.cti.setCallAttachedData('call.1', callData, 'outbound');
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
イベントが正常に起動された場合は true、それ以外の場合は
false。
setCallObjectIds()
コールオブジェクト ID を到着の昇順で設定します。このメソッドは、API バージョン 31.0 以降でのみ使用でき
ます。
87
コンピュータテレフォニーインテグレーション (CTI) の
メソッド
setCallObjectIds()
構文
sforce.console.cti.setCallObjectIds( callObjectIds:Array, callback:Function )
引数
名前
型
説明
callObjectId
array
設定する通話を指定する文字列 ID の配列。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testSetCallObjectIds();return false">
Click here to set call object Ids</A>
<apex:includeScript value="/support/console/31.0/integration.js"/>
<script type="text/javascript">
function checkResult(result) {
if (result.success) {
alert('Call object ids set successfully!');
} else {
alert('Call object ids cannot be set!');
}
}
function testSetCallObjectIds() {
sforce.console.cti.setCallObjectIds(['call.1', 'call.2', 'call.3'],
checkResult);
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
オブジェクト ID が正常に設定された場合は true、それ以外の場合
は false。
88
第6章
アプリケーションレベルのカスタムコ
ンソールコンポーネント用のメソッド
カスタムコンソールコンポーネントを使用すると、Visualforce、キャンバスアプリケーション、参照項目、また
は関連リストを使用してSalesforce コンソールのフッター、サイドバー、強調表示パネル、および相互関係ログ
をカスタマイズ、拡張、または統合することができます。システム管理者は、次のいずれかにコンポーネント
を追加できます。
• 特定のページにコンテンツを表示するページレイアウト
• すべてのページとタブにコンテンツを表示する Salesforce コンソールアプリケーション
詳細は、Salesforce ヘルプの「カスタムコンソールコンポーネントの概要」を参照してください。
このセクションの内容:
addToBrowserTitleQueue()
3 秒ごとに回転するタイトルリストにブラウザタブタイトルを追加します。このメソッドは、API バージョ
ン 28.0 以降でのみ使用できます。
blinkCustomConsoleComponentButtonText()
ページ上のアプリケーションレベルのカスタムコンソールコンポーネントでボタンのテキストを点滅させ
ます。このメソッドは、API バージョン 25.0 以降でのみ使用できます。
isCustomConsoleComponentPoppedOut()
カスタムコンソールコンポーネントがブラウザでポップアウトしているかどうかを判別します。このメソッ
ドを使用するには、マルチモニターコンポーネントが有効になっている必要があります。詳細は、オンラ
インヘルプの「Salesforce コンソールのマルチモニターコンポーネントの設定」を参照してください。この
メソッドは、API バージョン 30.0 以降でのみ使用できます。
isCustomConsoleComponentWindowHidden()
アプリケーションレベルのカスタムコンソールコンポーネントのウィンドウが非表示かどうかを判断しま
す。このメソッドは、API バージョン 25.0 から 31.0 で使用できます。
isCustomConsoleComponentHidden()
アプリケーションレベルのカスタムコンソールコンポーネントのウィンドウが非表示かどうかを判断しま
す。このメソッドは API バージョン 32.0 以降で使用できます。API バージョン 31.0 以前では、このメソッド
は isCustomConsoleComponentWindowHidden() という名前でした。
isInCustomConsoleComponent()
ページがアプリケーションレベルのカスタムコンソールコンポーネントにあるかどうかを判断します。こ
のメソッドは、API バージョン 25.0 以降でのみ使用できます。
onCustomConsoleComponentButtonClicked()
アプリケーションレベルのカスタムコンソールコンポーネントでボタンをクリックするとコールされる関
数を登録します。このメソッドは、API バージョン 25.0 以降でのみ使用できます。
onFocusedPrimaryTab()
ブラウザのフォーカスが異なる主タブに変更されるとコールされる関数を登録します。このメソッドは、
API バージョン 25.0 以降でのみ使用できます。
89
アプリケーションレベルのカスタムコンソールコンポー
ネント用のメソッド
addToBrowserTitleQueue()
removeFromBrowserTitleQueue()
3 秒ごとに回転するタイトルのリストからブラウザタブタイトルを削除します。このメソッドは、API バー
ジョン 28.0 以降でのみ使用できます。
scrollCustomConsoleComponentButtonText()
ページに表示されるアプリケーションレベルのカスタムコンソールコンポーネントで、ボタンのテキスト
をスクロールします。このメソッドは、API バージョン 25.0 以降でのみ使用できます。
setCustomConsoleComponentButtonIconUrl()
ページに表示されるアプリケーションレベルのカスタムコンソールコンポーネントの、ボタンアイコン URL
を設定します。このメソッドは、API バージョン 25.0 以降でのみ使用できます。
setCustomConsoleComponentButtonStyle()
ページに表示されるアプリケーションレベルのカスタムコンソールコンポーネントを起動するために使用
する、ボタンのスタイルを設定します。このメソッドは、API バージョン 25.0 以降でのみ使用できます。
setCustomConsoleComponentButtonText()
ページに表示されるアプリケーションレベルのカスタムコンソールコンポーネントを起動するために使用
する、ボタンのテキストを設定します。このメソッドは、API バージョン 25.0 以降でのみ使用できます。
setCustomConsoleComponentHeight()
ページに表示されるアプリケーションレベルのカスタムコンソールコンポーネントのウィンドウの高さを
設定します。このメソッドは API バージョン 32.0 以降で使用できます。
setCustomConsoleComponentVisible()
ページに表示されるアプリケーションレベルのカスタムコンソールコンポーネントのウィンドウ表示を設
定します。このメソッドは API バージョン 32.0 以降で使用できます。API バージョン 31.0 以前では、このメ
ソッドは setCustomConsoleComponentWindowVisible() という名前でした。
setCustomConsoleComponentWidth()
ページに表示されるアプリケーションレベルのカスタムコンソールコンポーネントのウィンドウの幅を設
定します。このメソッドは API バージョン 32.0 以降で使用できます。
setCustomConsoleComponentPopoutable()
カスタムコンソールコンポーネントがブラウザでポップアウトまたはポップインするように設定します。
このメソッドを使用するには、マルチモニターコンポーネントが有効になっている必要があります。詳細
は、オンラインヘルプの「Salesforce コンソールのマルチモニターコンポーネントの設定」を参照してくだ
さい。このメソッドは、API バージョン 30.0 以降でのみ使用できます。
setCustomConsoleComponentWindowVisible()
ページに表示されるアプリケーションレベルのカスタムコンソールコンポーネントのウィンドウ表示を設
定します。このメソッドは、API バージョン 25.0 から 31.0 で使用できます。
setSidebarVisible()
tabId と領域に基づいてコンソールのサイドバーを表示または非表示にします。このメソッドは API バー
ジョン 33.0 以降で使用できます。
addToBrowserTitleQueue()
3 秒ごとに回転するタイトルリストにブラウザタブタイトルを追加します。このメソッドは、API バージョン
28.0 以降でのみ使用できます。
90
アプリケーションレベルのカスタムコンソールコンポー
ネント用のメソッド
blinkCustomConsoleComponentButtonText()
構文
sforce.console.addToBrowserTitleQueue( title:String, callback:Function )
引数
名前
型
説明
title
string
表示されるブラウザタブのタイトル。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page >
<A HREF="#" onClick="testAddToBrowserTitleQueue();return false">
Click here to enqueue a browser title</A>
<apex:includeScript value="/support/console/28.0/integration.js"/>
<script type="text/javascript">
function testAddToBrowserTitleQueue() {
var title = 'TestTitle';
sforce.console.addToBrowserTitleQueue(title);
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
タイトルがブラウザタイトルキューに正常に追加された場合は
true。タイトルがブラウザタイトルキューに追加されなかった場合
は false。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
blinkCustomConsoleComponentButtonText()
ページ上のアプリケーションレベルのカスタムコンソールコンポーネントでボタンのテキストを点滅させま
す。このメソッドは、API バージョン 25.0 以降でのみ使用できます。
91
アプリケーションレベルのカスタムコンソールコンポー
ネント用のメソッド
blinkCustomConsoleComponentButtonText()
構文
sforce.console.blinkCustomConsoleComponentButtonText(alternateText:String, interval:number,
(optional)callback:Function)
引数
名前
型
説明
alternateText
string
ボタンテキストが点滅するときに表示する代替テキスト。
interval
number
テキストの点滅間隔 (ミリ秒) を制御します。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testBlinkCustomConsoleComponentButtonText();return false">
Click here to blink the button text on a custom console component</A>
<apex:includeScript value="/support/console/25.0/integration.js"/>
<script type="text/javascript">
function testBlinkCustomConsoleComponentButtonText() {
//Blink the custom console component button text
sforce.console.blinkCustomConsoleComponentButtonText('Hello World', 10,
function(result){
if (result.success) {
alert('The text blinking starts!');
} else {
alert('Could not initiate the text blinking!');
}
});
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
ボタンテキストが正常に点滅した場合は true、ボタンテキストが
正常に点滅しなかった場合は false。
92
アプリケーションレベルのカスタムコンソールコンポー
ネント用のメソッド
isCustomConsoleComponentPoppedOut()
isCustomConsoleComponentPoppedOut()
カスタムコンソールコンポーネントがブラウザでポップアウトしているかどうかを判別します。このメソッド
を使用するには、マルチモニターコンポーネントが有効になっている必要があります。詳細は、オンラインヘ
ルプの「Salesforce コンソールのマルチモニターコンポーネントの設定」を参照してください。このメソッド
は、API バージョン 30.0 以降でのみ使用できます。
構文
sforce.console.isCustomConsoleComponentPoppedOut (callback:Function)
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="checkPoppedOut(); return false;">
Is this component popped out?</A> <BR/>
<apex:includeScript value="/support/console/30.0/integration.js"/>
<script type="text/javascript">
function checkResult(result) {
if (result.success) {
alert('Is this component popped out: ' + result.poppedOut);
} else {
alert('Error invoking this method. Check the browser developer console for
more information.');
}
}
function checkPoppedOut() {
sforce.console.isCustomConsoleComponentPoppedOut(checkResult);
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
93
アプリケーションレベルのカスタムコンソールコンポー
ネント用のメソッド
isCustomConsoleComponentWindowHidden()
名前
型
説明
success
boolean
コンポーネントのポップアウト状況が正常に取得された場合は
true、それ以外の場合は false。
poppedOut
boolean
コンポーネントがポップアウトしている場合は true、それ以外の
場合は false。
isCustomConsoleComponentWindowHidden()
アプリケーションレベルのカスタムコンソールコンポーネントのウィンドウが非表示かどうかを判断します。
このメソッドは、API バージョン 25.0 から 31.0 で使用できます。
メモ: このメソッドが、マルチモニターコンポーネントが有効になっている Salesforce コンソールでポップ
アウトしたコンポーネントからコールされた場合は、何も行われません。詳細は、オンラインヘルプの
「Salesforce コンソールのマルチモニターコンポーネントの設定」を参照してください。API バージョン 32.0
以降、このメソッドは使用できなくなり、isCustomConsoleComponentHidden() に置き換わります。
詳細は、「isCustomConsoleComponentHidden()」を参照してください。
構文
sforce.console.isCustomConsoleComponentWindowHidden((optional) callback:Function)
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testIsCustomConsoleComponentWindowHidden();return false">
Click here to check if the custom console component window is hidden</A>
<apex:includeScript value="/support/console/25.0/integration.js"/>
<script type="text/javascript">
function testIsCustomConsoleComponentWindowHidden() {
sforce.console.isCustomConsoleComponentWindowHidden(checkWindowVisibility);
}
var checkWindowVisibility = function checkWindowVisibility(result) {
//Display the window visibility
if (result.success) {
94
アプリケーションレベルのカスタムコンソールコンポー
ネント用のメソッド
isCustomConsoleComponentHidden()
alert('Is window hidden: ' + result.hidden);
} else {
alert('Error!');
}
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
hidden
boolean
カスタムコンソールコンポーネントのウィンドウが非表示の場合は
true、カスタムコンソールコンポーネントのウィンドウが表示され
ている場合は false。
success
boolean
カスタムコンソールコンポーネントウィンドウの表示が正常に返さ
れた場合は true、カスタムコンソールコンポーネントウィンドウ
の表示が正常に返されなかった場合は false。
isCustomConsoleComponentHidden()
アプリケーションレベルのカスタムコンソールコンポーネントのウィンドウが非表示かどうかを判断します。
このメソッドは API バージョン 32.0 以降で使用できます。API バージョン 31.0 以前では、このメソッドは
isCustomConsoleComponentWindowHidden() という名前でした。
構文
sforce.console.isCustomConsoleComponentHidden((optional) callback:Function)
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
95
アプリケーションレベルのカスタムコンソールコンポー
ネント用のメソッド
isInCustomConsoleComponent()
<A HREF="#" onClick="testIsCustomConsoleComponentHidden();return false">
Click here to check if the custom console component window is hidden</A>
<apex:includeScript value="/support/console/32.0/integration.js"/>
<script type="text/javascript">
function testIsCustomConsoleComponentHidden() {
sforce.console.isCustomConsoleComponentHidden(checkWindowVisibility);
}
var checkWindowVisibility = function checkWindowVisibility(result) {
//Display the window visibility
if (result.success) {
alert('Is window hidden: ' + result.hidden);
} else {
alert('Error!');
}
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
hidden
boolean
カスタムコンソールコンポーネントのウィンドウが非表示の場合は
true、カスタムコンソールコンポーネントのウィンドウが表示され
ている場合は false。
success
boolean
isCustomConsoleComponentHidden() コールが成功した場合は
true、isCustomConsoleComponentHidden() コールが失敗した
場合は false。
isInCustomConsoleComponent()
ページがアプリケーションレベルのカスタムコンソールコンポーネントにあるかどうかを判断します。このメ
ソッドは、API バージョン 25.0 以降でのみ使用できます。
構文
sforce.console.isInCustomConsoleComponent((optional) callback:Function)
96
アプリケーションレベルのカスタムコンソールコンポー
ネント用のメソッド
onCustomConsoleComponentButtonClicked()
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testIsInCustomConsoleComponent();return false">
Click here to check if the page is in an app-level custom console component</A>
<apex:includeScript value="/support/console/25.0/integration.js"/>
<script type="text/javascript">
function testIsInCustomConsoleComponent() {
sforce.console.isInCustomConsoleComponent(checkInComponent);
}
var checkInComponent = function checkInComponent(result) {
//Check if in component
alert('Is in custom console component: ' + result.inCustomConsoleComponent);
};
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
inCustomConsoleComponent boolean
success
boolean
説明
ページがカスタムコンソールコンポーネントにある場合は true、
ページがカスタムコンソールコンポーネントにない場合は false。
ページ状況が正常に返された場合は trueで、ページ状況が正常に
返されなかった場合は false。
onCustomConsoleComponentButtonClicked()
アプリケーションレベルのカスタムコンソールコンポーネントでボタンをクリックするとコールされる関数を
登録します。このメソッドは、API バージョン 25.0 以降でのみ使用できます。
97
アプリケーションレベルのカスタムコンソールコンポー
ネント用のメソッド
onFocusedPrimaryTab()
構文
sforce.console.onCustomConsoleComponentButtonClicked(eventHandler:Function)
引数
名前
型
説明
callback
function
JavaScript メソッドは、カスタムコンソールコンポーネントでボタン
をクリックするとコールされます。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/25.0/integration.js"/>
<script type="text/javascript">
var eventHandler = function (result) {
alert('The Custom Console Component button is clicked. The component ID
is: ' + result.id +
' and the component window is: ' + (result.windowHidden ? 'hidden' :
'visible'));
};
sforce.console.onCustomConsoleComponentButtonClicked(eventHandler);
</script>
</apex:page>
イベントハンドラの応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
id
string
ページを含むカスタムコンソールコンポーネントの ID。
windowHidden
boolean
ボタンのクリック後にカスタムコンソールコンポーネントウィンド
ウが非表示の場合は true、表示される場合は false。
onFocusedPrimaryTab()
ブラウザのフォーカスが異なる主タブに変更されるとコールされる関数を登録します。このメソッドは、API
バージョン 25.0 以降でのみ使用できます。
98
アプリケーションレベルのカスタムコンソールコンポー
ネント用のメソッド
removeFromBrowserTitleQueue()
構文
sforce.console.onFocusedPrimaryTab(eventHandler:Function)
引数
名前
型
説明
eventHandler
function
JavaScript メソッドは、ブラウザのフォーカスが異なる主タブに変更
されるとコールされます。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/25.0/integration.js"/>
<script type="text/javascript">
var eventHandler = function (result) {
alert('Focus changed to a different primary tab. The primary tab ID is:'
+ result.id + 'and the object Id is:' + result.objectId);
};
sforce.console.onFocusedPrimaryTab(eventHandler);
</script>
</apex:page>
イベントハンドラの応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
id
string
ブラウザがフォーカスされている主タブの ID。
objectId
string
ブラウザのフォーカスがある主タブのオブジェクト ID、オブジェク
トが存在しない場合は null。
removeFromBrowserTitleQueue()
3 秒ごとに回転するタイトルのリストからブラウザタブタイトルを削除します。このメソッドは、APIバージョ
ン 28.0 以降でのみ使用できます。
99
アプリケーションレベルのカスタムコンソールコンポー
ネント用のメソッド
removeFromBrowserTitleQueue()
構文
sforce.console.removeFromBrowserTitleQueue( title:String, callback:Function )
引数
名前
型
説明
title
string
削除するブラウザタブタイトル。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/28.0/integration.js"/>
<script type="text/javascript">
<A HREF="#" onClick="testAddToBrowserTitleQueue();return false"> {
Click here to enqueue a browser title</A>
<A HREF="#" onClick="testRemoveFromBrowserTitleQueue();return false">
Click here to remove browser title</A>
var title = 'TestTitle';
function testAddToBrowserTitleQueue() {
sforce.console.addToBrowserTitleQueue(title);
}
function testRemoveFromBrowserTitleQueue() {
sforce.console.removeFromBrowserTitleQueue(title);
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
タイトルがブラウザタイトルキューから正常に削除された場合は
true。タイトルがブラウザタイトルキューから削除されなかった場
合は false。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
100
アプリケーションレベルのカスタムコンソールコンポー
ネント用のメソッド
scrollCustomConsoleComponentButtonText()
scrollCustomConsoleComponentButtonText()
ページに表示されるアプリケーションレベルのカスタムコンソールコンポーネントで、ボタンのテキストをス
クロールします。このメソッドは、API バージョン 25.0 以降でのみ使用できます。
構文
sforce.console.scrollCustomConsoleComponentButtonText(interval:number, pixelsToScroll:number,
isLeftScrolling:boolean, (optional)callback:Function)
引数
名前
型
説明
interval
number
ボタンテキストのスクロール頻度 (ミリ秒) を制御します。
pixelsToScroll
number
ボタンテキストのスクロールのピクセル数を制御します。
isLeftScrolling
boolean
テキストが左にスクロールする場合は true。テキストが右にスク
ロールする場合は false。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testScrollCustomConsoleComponentButtonText();return false">
Click here to scroll the button text on a custom console component</A>
<apex:includeScript value="/support/console/25.0/integration.js"/>
<script type="text/javascript">
function testScrollCustomConsoleComponentButtonText() {
//Scroll the custom console component button text from right to left
sforce.console.scrollCustomConsoleComponentButtonText(500, 10, true,
function(result){
if (result.success) {
alert('The text scrolling starts!');
} else {
alert('Could not initiate the text scrolling!');
}
});
}
</script>
</apex:page>
101
アプリケーションレベルのカスタムコンソールコンポー
ネント用のメソッド
setCustomConsoleComponentButtonIconUrl()
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
ボタンテキストのスクロールに成功した場合は true、ボタンテキ
ストのスクロールに失敗した場合は false。
setCustomConsoleComponentButtonIconUrl()
ページに表示されるアプリケーションレベルのカスタムコンソールコンポーネントの、ボタンアイコン URL を
設定します。このメソッドは、API バージョン 25.0 以降でのみ使用できます。
構文
sforce.console.setCustomConsoleComponentButtonIconUrl(iconURL:String,
(optional)callback:Function)
引数
名前
型
説明
iconUrl
string
カスタムコンソールコンポーネントを起動するボタンとして使用さ
れる画像を指し示す URL。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testSetCustomConsoleComponentButtonIconUrl();return false">
Click here to set the custom console component button icon</A>
<apex:includeScript value="/support/console/25.0/integration.js"/>
<script type="text/javascript">
function testSetCustomConsoleComponentButtonIconUrl() {
sforce.console.setCustomConsoleComponentButtonIconUrl('http://imageserver/img.png');
}
</script>
</apex:page>
102
アプリケーションレベルのカスタムコンソールコンポー
ネント用のメソッド
setCustomConsoleComponentButtonStyle()
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
ボタンアイコン URL の設定に成功した場合は true、ボタンアイコン
URL の設定に失敗した場合は false。
setCustomConsoleComponentButtonStyle()
ページに表示されるアプリケーションレベルのカスタムコンソールコンポーネントを起動するために使用す
る、ボタンのスタイルを設定します。このメソッドは、API バージョン 25.0 以降でのみ使用できます。
構文
sforce.console.setCustomConsoleComponentButtonStyle(style:String, (optional)callback:
Function)
引数
名前
型
説明
style
string
カスタムコンソールコンポーネントの起動に使用されるボタンのス
タイル。サポートされるスタイルには、フォント、フォントの色、
背景色などがあります。フォントとフォントの色は Internet Explorer®
7 では指定できません。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testSetCustomConsoleComponentButtonStyle();return false">
Click here to set the style of a button used to launch a custom console
component</A>
<apex:includeScript value="/support/console/25.0/integration.js"/>
<script type="text/javascript">
function testSetCustomConsoleComponentButtonStyle() {
sforce.console.setCustomConsoleComponentButtonStyle('background:red;');
}
103
アプリケーションレベルのカスタムコンソールコンポー
ネント用のメソッド
setCustomConsoleComponentButtonText()
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
ボタンスタイルの設定に成功した場合は true、ボタンスタイルの
設定に失敗した場合は false。
setCustomConsoleComponentButtonText()
ページに表示されるアプリケーションレベルのカスタムコンソールコンポーネントを起動するために使用す
る、ボタンのテキストを設定します。このメソッドは、API バージョン 25.0 以降でのみ使用できます。
構文
sforce.console.setCustomConsoleComponentButtonText(text:String, (optional)callback:Function)
引数
名前
型
説明
text
string
カスタムコンソールコンポーネントの起動に使用されるボタンに表
示されるテキスト。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testSetCustomConsoleComponentButtonText();return false">
Click here to set the text on a button used to launch a custom console component</A>
<apex:includeScript value="/support/console/25.0/integration.js"/>
<script type="text/javascript">
function testSetCustomConsoleComponentButtonText() {
//Change the custom console component button text to 'Hello World'
sforce.console.setCustomConsoleComponentButtonText('Hello World');
104
アプリケーションレベルのカスタムコンソールコンポー
ネント用のメソッド
setCustomConsoleComponentHeight()
}
</script>
</apex:page>
応答
名前
型
説明
success
boolean
ボタンテキストの設定に成功した場合は true、ボタンテキストの
設定に失敗した場合は false。
setCustomConsoleComponentHeight()
ページに表示されるアプリケーションレベルのカスタムコンソールコンポーネントのウィンドウの高さを設定
します。このメソッドは API バージョン 32.0 以降で使用できます。
メモ: このメソッドが、マルチモニターコンポーネントが有効になっている Salesforce コンソールでポップ
アウトしたコンポーネントからコールされた場合は、何も行われません。詳細は、Salesforce ヘルプの
「Salesforce コンソールのマルチモニターコンポーネントの設定」を参照してください。
構文
sforce.console.setCustomConsoleComponentHeight( height:number, (optional)callback:Function)
引数
名前
型
説明
height
number
新しい高さ (ピクセル単位)。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testSetCustomConsoleComponentHeight();return false">
Click here to set the custom console component height to 100px</A>
<apex:includeScript value="/support/console/32.0/integration.js"/>
<script type="text/javascript">
function testSetCustomConsoleComponentHeight() {
// Set the custom console component height
sforce.console.setCustomConsoleComponentHeight(100);
105
アプリケーションレベルのカスタムコンソールコンポー
ネント用のメソッド
setCustomConsoleComponentVisible()
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
メソッドコールが成功した場合は true、それ以外の場合は false。
setCustomConsoleComponentVisible()
ページに表示されるアプリケーションレベルのカスタムコンソールコンポーネントのウィンドウ表示を設定し
ます。このメソッドは API バージョン 32.0 以降で使用できます。API バージョン 31.0 以前では、このメソッドは
setCustomConsoleComponentWindowVisible() という名前でした。
構文
sforce.console.setCustomConsoleComponentVisible(visible:Boolean,
(optional)callback:Function)
引数
名前
型
説明
visible
boolean
カスタムコンソールコンポーネントウィンドウが表示される場合は
true、非表示になる場合は false。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testSetCustomConsoleComponentVisible();return false">
Click here to make the custom console component window visible</A>
<apex:includeScript value="/support/console/32.0/integration.js"/>
<script type="text/javascript">
function testSetCustomConsoleComponentVisible() {
// Make the custom console component window visible
106
アプリケーションレベルのカスタムコンソールコンポー
ネント用のメソッド
setCustomConsoleComponentWidth()
sforce.console.setCustomConsoleComponentVisible(true);
}
</script>
</apex:page>
応答
名前
型
説明
success
boolean
ボタンウィンドウの表示設定に成功した場合は true、ボタンウィ
ンドウの表示設定に失敗した場合は false。
setCustomConsoleComponentWidth()
ページに表示されるアプリケーションレベルのカスタムコンソールコンポーネントのウィンドウの幅を設定し
ます。このメソッドは API バージョン 32.0 以降で使用できます。
メモ: このメソッドが、マルチモニターコンポーネントが有効になっている Salesforce コンソールでポップ
アウトしたコンポーネントからコールされた場合は、何も行われません。詳細は、Salesforce ヘルプの
「Salesforce コンソールのマルチモニターコンポーネントの設定」を参照してください。
構文
sforce.console.setCustomConsoleComponentWidth( width:number, callback:Function)
引数
名前
型
説明
width
number
新しい幅 (ピクセル単位)。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testSetCustomConsoleComponentWidth();return false">
Click here to set the custom console component width to 100px</A>
<apex:includeScript value="/support/console/32.0/integration.js"/>
<script type="text/javascript">
function testSetCustomConsoleComponentWidth() {
// Set the custom console component width
107
アプリケーションレベルのカスタムコンソールコンポー
ネント用のメソッド
setCustomConsoleComponentPopoutable()
sforce.console.setCustomConsoleComponentWidth(100);
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
メソッドコールが成功した場合は true、それ以外の場合は false。
setCustomConsoleComponentPopoutable()
カスタムコンソールコンポーネントがブラウザでポップアウトまたはポップインするように設定します。この
メソッドを使用するには、マルチモニターコンポーネントが有効になっている必要があります。詳細は、オン
ラインヘルプの「Salesforce コンソールのマルチモニターコンポーネントの設定」を参照してください。このメ
ソッドは、API バージョン 30.0 以降でのみ使用できます。
構文
sforce.console.setCustomConsoleComponentPopoutable(popoutable:Boolean,
(optional)callback:Function)
引数
名前
型
説明
popoutable
boolean
true の場合、コンポーネントはブラウザでポップアウトまたはポッ
プインできます。false の場合、コンポーネントはブラウザでの
ポップアウトやポップインができません。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="enablePopout(); return false;">
Click here to enable pop out or pop in functionality</A> <BR/>
<A HREF="#" onClick="disablePopout(); return false;">
Click here to disable pop out or pop in functionality</A>
108
アプリケーションレベルのカスタムコンソールコンポー
ネント用のメソッド
setCustomConsoleComponentWindowVisible()
<apex:includeScript value="/support/console/30.0/integration.js"/>
<script type="text/javascript">
function checkResult(result) {
if (result.success) {
alert('The method was successfully invoked.');
} else {
alert('Error while invoking this method. Check the browser developer console
for more information.');
}
}
function enablePopout() {
sforce.console.setCustomConsoleComponentPopoutable(true, checkResult);
}
function disablePopout() {
sforce.console.setCustomConsoleComponentPopoutable(false, checkResult);
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
コンポーネントのポップアウトまたポップイン機能の有効化が成功
した場合は true、それ以外の場合は false。
setCustomConsoleComponentWindowVisible()
ページに表示されるアプリケーションレベルのカスタムコンソールコンポーネントのウィンドウ表示を設定し
ます。このメソッドは、API バージョン 25.0 から 31.0 で使用できます。
メモ: このメソッドが、マルチモニターコンポーネントが有効になっている Salesforce コンソールでポップ
アウトしたコンポーネントからコールされた場合は、何も行われません。詳細は、Salesforce ヘルプの
「Salesforce コンソールのマルチモニターコンポーネントの設定」を参照してください。API バージョン 32.0
以降、このメソッドは使用できなくなり、setCustomConsoleComponentVisible() に置き換わりま
す。詳細は、「setCustomConsoleComponentVisible()」を参照してください。
構文
sforce.console.setCustomConsoleComponentWindowVisible(visible:Boolean,
(optional)callback:Function)
109
アプリケーションレベルのカスタムコンソールコンポー
ネント用のメソッド
setSidebarVisible()
引数
名前
型
説明
visible
boolean
カスタムコンソールコンポーネントウィンドウが表示される場合は
true、非表示になる場合は false。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<A HREF="#" onClick="testSetCustomConsoleComponentWindowVisible();return false">
Click here to make the custom console component window visible</A>
<apex:includeScript value="/support/console/25.0/integration.js"/>
<script type="text/javascript">
function testSetCustomConsoleComponentWindowVisible() {
//Make the custom console component window visible
sforce.console.setCustomConsoleComponentWindowVisible(true);
}
</script>
</apex:page>
応答
名前
型
説明
success
boolean
ボタンウィンドウの表示設定に成功した場合は true、ボタンウィ
ンドウの表示設定に失敗した場合は false。
setSidebarVisible()
tabId と領域に基づいてコンソールのサイドバーを表示または非表示にします。このメソッドは API バージョ
ン 33.0 以降で使用できます。
構文
sforce.console.setSidebarVisible( visible:Boolean, (optional)tabId:String,
(optional)region:String, (optional)callback:Function)
110
アプリケーションレベルのカスタムコンソールコンポー
ネント用のメソッド
setSidebarVisible()
引数
名前
データ型
説明
visible
boolean
true はサイドバーを表示し、false はサイドバーを非表示にしま
す。
tabId
string
サイドバーを表示するか非表示にするタブの ID。
region
string
サイドバーの位置を示すコンソール上の範囲 (左、右、上、下など)。
範囲は次のように表されます。
• sforce.console.Region.LEFT
• sforce.console.Region.RIGHT
• sforce.console.Region.TOP
• sforce.console.Region.BOTTOM
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/33.0/integration.js"/>
<script type="text/javascript">
var callback = function (result) {
if (result.success) {
alert('Congratulations!');
}else {
alert('something is wrong!');
}
};
function setSidebarVisible() {
sforce.console.setSidebarVisible(true,'scc-st-1',sforce.console.Region.LEFT,callback);
}
</script>
<A HREF="#" onClick="setSidebarVisible(); return false">SetSidebarToExpand</A>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
メソッドコールが成功した場合は true、それ以外の場合は false。
111
第7章
転送通知用のメソッド
転送通知とは、Salesforce コンソールのリストおよび詳細ページにあるビジュアルインジケータであり、ユーザ
のセッション中にレコードまたは項目が変更されると表示されます。たとえば、2 つのサポートエージェント
が同じケースで作業している場合に一方のエージェントが [優先度] を変更すると、もう一方のエージェント
に転送通知が表示されるため、そのエージェントは変更を認識でき、同じ作業を行わなくてすみます。
システム管理者は、Salesforce コンソールを設定するときに、転送通知が表示されるタイミング、および転送通
知機能をトリガするオブジェクトと項目を選択します。開発者は、転送通知メソッドを使用して、Salesforceで
提供されるデフォルトのビジュアルインジケータの範囲を超えて転送通知をカスタマイズできます。たとえ
ば、開発者は以下で示すメソッドを使用して、特定のコンソールユーザがアクセスできるオブジェクトに関す
るカスタムの通知を作成できるため、メール通知を排除できます。詳細は、Salesforce ヘルプの「Salesforce コン
ソールでの転送通知の設定」を参照してください。
転送通知メソッドを使用するときは、次の点を考慮してください。
• 転送通知のリスナー応答は、コンソールの転送通知をトリガするために選択されたオブジェクトと項目に
のみ使用できます。
• addPushNotificationListener() メソッドで追加されたリスナーが Visualforce ページに含まれている場
合は、ページで通知を受信します。リスナーは、コンソールの転送通知をトリガするために選択されたオ
ブジェクトをユーザが更新し、変更後のレコードに現在のユーザがアクセスできる場合に通知を受信しま
す。この機能は、Salesforce ユーザインターフェースで設定される転送通知と次の点で異なります。
– リスナーは、すべてのユーザが加えた変更について更新通知を受信します。
– リスナーは、オブジェクトの項目が転送通知をトリガするために選択されていなくても更新または作成
され、さらに、変更内容の詳細が通知に含まれていない場合に通知を受信します。たとえば、Case オブ
ジェクトの Status が転送通知をトリガするよう設定されていても、Case オブジェクトで Priority が
変更された場合、リスナーはケースが変更されたことを示す通知 (詳細は含まれない) を受信します。
– リスナーは、Salesforce コンソールの [リストの更新方法を選択] および [詳細ページの更新方法を選択] 転
送通知の設定には従いません。
– 通知の受信停止は、removePushNotificationListener() メソッドを使用してリスナーを削除する
ことによってのみ可能です。
このセクションの内容:
addPushNotificationListener()
転送通知用のリスナーを追加します。ユーザがリスナーを登録できるのは 1 回のみです。ただし、ユーザ
がリスナーを削除するか、別のユーザによってリスナーが削除されると、再びリスナーを登録できます。
このメソッドは、API バージョン 26.0 以降でのみ使用できます。
removePushNotificationListener()
転送通知用に追加されたリスナーを削除します。このメソッドは、API バージョン 26.0 以降でのみ使用でき
ます。
112
転送通知用のメソッド
addPushNotificationListener()
addPushNotificationListener()
転送通知用のリスナーを追加します。ユーザがリスナーを登録できるのは 1 回のみです。ただし、ユーザがリ
スナーを削除するか、別のユーザによってリスナーが削除されると、再びリスナーを登録できます。このメ
ソッドは、API バージョン 26.0 以降でのみ使用できます。
転送通知についての詳細は、「転送通知用のメソッド」 (ページ 112)を参照してください。
構文
sforce.console.addPushNotificationListener( objects: array, eventHandler:Function )
引数
名前
型
説明
objects
array
通知を受信するように設定されたオブジェクト。
eventHandler
function
転送通知があるとコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/26.0/integration.js"/>
<script type="text/javascript">
var eventHandler = function (result) {
alert('There is a push notification of object: ' + result.Id);
};
//Add a push notification listener for Case and Account
sforce.console.addPushNotificationListener(['Case', 'Account'], eventHandler);
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。
名前
型
説明
id
string
転送通知のオブジェクト ID。
entityType
string
転送通知に含まれるオブジェクトの種別。たとえば、Account や Contact
などです。
転送通知に使用できるオブジェクトは、Salesforce コンソールを設定
したシステム管理者が決定します。詳細は、Salesforce オンラインヘ
113
転送通知用のメソッド
名前
removePushNotificationListener()
型
説明
ルプの「Salesforce コンソールでの転送通知の設定」を参照してくだ
さい。
string
Type
転送通知に含まれるオブジェクトの項目。たとえば、Account の [取
引先名] 項目などです。通知は、項目が更新または作成されると発
生します。
転送通知に使用できるオブジェクトの項目は、Salesforce コンソール
を設定したシステム管理者が決定します。詳細は、Salesforce オンラ
インヘルプの「Salesforce コンソールでの転送通知の設定」を参照し
てください。
LastModifiedById
string
転送通知内のオブジェクトを最後に変更したユーザのユーザ ID。
removePushNotificationListener()
転送通知用に追加されたリスナーを削除します。このメソッドは、API バージョン 26.0 以降でのみ使用できま
す。
転送通知についての詳細は、「転送通知用のメソッド」 (ページ 112)を参照してください。
構文
sforce.console.removePushNotificationListener((optional) callback:Function )
引数
名前
型
説明
callback
function
転送通知リスナーの削除が完了したときにコールされる関数。
サンプルコード – Visualforce
<apex:page standardController="Case">
<A HREF="#" onClick="testRemovePushNotification();return false">
Click here to remove push notification</A>
<apex:includeScript value="/support/console/26.0/integration.js"/>
<script type="text/javascript">
function testRemovePushNotification() {
sforce.console.removePushNotificationListener(removeSuccess);
114
転送通知用のメソッド
removePushNotificationListener()
}
var removeSuccess = function removeSuccess(result) {
//Report whether removing the push notification listener is successful
if (result.success == true) {
alert('Removing push notification was successful');
} else {
alert('Removing push notification wasn't successful');
}
};
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。
名前
型
説明
success
boolean
転送通知リスナーが正常に削除された場合は true、転送通知リス
ナーが正常に削除されなかった場合は false。
115
第8章
コンソールイベントのメソッド
コンソールで特定のタイプのイベント (ユーザがタブを閉じた場合など) が発生したときに、JavaScript を実行で
きます。次の標準イベントがサポートされます。
イベント
説明
ペイロード
sforce.console.ConsoleEvent.OPEN_TAB 主タブまたはサブタブが開かれると
• id — 開かれたタブの ID。
起動します。API バージョン 30.0 以降
• objectId — 開かれたタブのオブ
で使用できます。
ジェクト ID (使用可能な場合)。
sforce.console.ConsoleEvent.CLOSE_TAB additionalParams 引数に指定され •
id — 閉じられたタブの ID。
た ID を持つ主タブまたはサブタブが
• objectID — 閉じられたタブのオ
閉じられたときに起動します。また
ブジェクト ID (使用可能な場合)。
は、指定された ID を持たない主タブ
またはサブタブが閉じられたときに
起動します。API バージョン 30.0 以降
で使用できます。
sforce.console.ConsoleEvent.CONSOLE_LOGOUT ユーザが [ログアウト] をクリックし
たときにコンソールのログアウトの
実行を遅延します。[ログアウト]をク
リックすると、次の処理が実行され
ます。
1. フロート表示が開き、ユーザにロ
グアウトの処理中であることを伝
えます。
2. sforce.console.ConsoleEvent.CONSOLE_LOGOUT
を使用して登録されているコール
バックが実行されます。
3. コンソールログアウトロジックが
実行されます。
コールバックに同期ブロックコード
が含まれている場合、コンソールロ
グアウトコードは、ブロックコード
が実行されるまで実行されません。
ベストプラクティスとして、同期ブ
ロックコードまたはログアウト時の
長時間のコード実行は避けてくださ
い。
116
なし
コンソールイベントのメソッド
addEventListener()
イベント
説明
ペイロード
API バージョン 31.0 以降で使用できま
す。
このセクションの内容:
addEventListener()
イベントが起動されると、カスタムイベントタイプまたは標準イベントタイプのリスナーを追加します。
このメソッドは、API バージョン 25.0 以降ではカスタムイベントタイプのリスナーを追加し、API バージョ
ン 30.0 以降では標準イベントタイプのリスナーを追加します。
fireEvent()
カスタムイベントを起動します。このメソッドは、API バージョン 25.0 以降でのみ使用できます。
removeEventListener()
カスタムイベントタイプまたは標準イベントタイプのリスナーを削除します。このメソッドは、API バー
ジョン 25.0 以降ではカスタムイベントタイプのリスナーを削除し、API バージョン 30.0 以降では標準イベン
トタイプのリスナーを削除します。
addEventListener()
イベントが起動されると、カスタムイベントタイプまたは標準イベントタイプのリスナーを追加します。この
メソッドは、API バージョン 25.0 以降ではカスタムイベントタイプのリスナーを追加し、API バージョン 30.0 以
降では標準イベントタイプのリスナーを追加します。
標準イベントのリストは、「コンソールイベントのメソッド」 (ページ 116)を参照してください。
構文
sforce.console.addEventListener( eventType: String, eventListener:Function,
(optional)additionalParams:Object )
引数
名前
型
説明
eventType
string
eventListener がリスンするカスタムイベントタイプ。
eventListener
function
eventType が起動されるとコールされる JavaScript メソッド。
additionalParams
object
このメソッドによって受け入れられる省略可能なパラメータ。この
オブジェクトでサポートされるプロパティは、tabId (指定されたイ
ベントをリスンするためのタブの ID) です。
この引数は、API バージョン 30.0 以降でのみ使用できます。
117
コンソールイベントのメソッド
addEventListener()
サンプルコード API バージョン 25.0 以降 – Visualforce
<apex:page>
<apex:includeScript value="/support/console/25.0/integration.js"/>
<script type="text/javascript">
var listener = function (result) {
alert('Message received from event: ' + result.message);
};
//Add a listener for the 'SampleEvent' event type
sforce.console.addEventListener('SampleEvent', listener);
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
message
string
起動されたイベントと一緒に送信されるメッセージ。
応答がカスタムキーボードショートカットからの場合、message に
は、ブラウザでフォーカスされた次の情報が次の順序で含まれま
す。
1. 主タブのオブジェクト ID
2. 主タブの ID
3. サブタブのオブジェクト ID
4. サブタブの ID
詳細は、オンラインヘルプの「Salesforce コンソールのキーボード
ショートカットのカスタマイズ」を参照してください。
サンプルコード API バージョン 30.0 以降 – Visualforce
<apex:page>
<apex:includeScript value="/support/console/30.0/integration.js"/>
<script type="text/javascript">
var onEnclosingPrimaryTabClose = function (result) {
alert('The enclosing primary tab is about to be closed. Tab ID: ' + result.id
+ ', Object ID: ' + (result.objectId ? result.objectId : 'not available'));
};
//Add a listener to handle the closing of the enclosing primary tab
sforce.console.getEnclosingPrimaryTabId(function (result) {
if (result.id) {
118
コンソールイベントのメソッド
fireEvent()
sforce.console.addEventListener(sforce.console.ConsoleEvent.CLOSE_TAB,
onEnclosingPrimaryTabClose, { tabId : result.id });
} else {
alert('Could not find an enclosing primary TAB!');
}
});
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
message
string
起動されたイベントと一緒に送信されるメッセージ。
応答がコンソールイベントからのものである場合、message には、
「コンソールイベントのメソッド」 (ページ116)で説明されているペ
イロードの詳細が含まれます。
応答がカスタムキーボードショートカットからの場合、message に
は、ブラウザでフォーカスされた次の情報が次の順序で含まれま
す。
1. 主タブのオブジェクト ID
2. 主タブの ID
3. サブタブのオブジェクト ID
4. サブタブの ID
詳細は、オンラインヘルプの「Salesforce コンソールのキーボード
ショートカットのカスタマイズ」を参照してください。
fireEvent()
カスタムイベントを起動します。このメソッドは、API バージョン 25.0 以降でのみ使用できます。
構文
sforce.console.fireEvent( eventType:String, message:String, (optional)callback:Function
)
119
コンソールイベントのメソッド
fireEvent()
引数
名前
型
説明
eventType
string
起動するカスタムイベントのタイプ。
message
string
起動されたイベントと一緒に送信されるメッセージ。
callback
function
カスタムイベントが起動されるとコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/25.0/integration.js"/>
<script type="text/javascript">
<A HREF="#" onClick="testFireEvent(); return false;">
Click here to fire an event of type 'SampleEvent'</A>
var callback = function(result) {
if (result.success) {
alert('The custom event is fired!');
} else {
alert('The custom event could not be fired!');
}
};
function testFireEvent() {
//Fire an event of type 'SampleEvent'
sforce.console.fireEvent('SampleEvent', 'EventMessage', callback);
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
success
boolean
イベントが正常に起動された場合は true、イベントが正常に起動
されなかった場合は false。
120
コンソールイベントのメソッド
removeEventListener()
removeEventListener()
カスタムイベントタイプまたは標準イベントタイプのリスナーを削除します。このメソッドは、API バージョ
ン 25.0 以降ではカスタムイベントタイプのリスナーを削除し、API バージョン 30.0 以降では標準イベントタイ
プのリスナーを削除します。
標準イベントのリストは、「コンソールイベントのメソッド」 (ページ 116)を参照してください。
構文
sforce.console.removeEventListener( eventType: String, eventListener:Function,
(optional)additionalParams:Object )
引数
名前
型
説明
eventType
string
eventListener が削除されるイベントタイプ。
eventListener
function
削除するイベントリスナー。
additionalParams
object
このメソッドによって受け入れられる省略可能なパラメータ。この
オブジェクトでサポートされるプロパティは、tabId (指定されたイ
ベントのリスナーを削除するためのタブの ID) です。
この引数は、API バージョン 30.0 以降でのみ使用できます。
サンプルコード API バージョン 25.0 以降 – Visualforce
<apex:page>
<apex:includeScript value="/support/console/25.0/integration.js"/>
<A HREF="#" onClick="testRemoveEventListener(); return false;">
Click here to remove an event listener for the 'SampleEvent' event type</A>
<script type="text/javascript">
var listener = function (result) {
alert('Message received from event: ' + result.message);
};
//Add a listener for the 'SampleEvent' event type
sforce.console.addEventListener('SampleEvent', listener);
function testRemoveEventListener() {
sforce.console.removeEventListener('SampleEvent', listener);
}
</script>
</apex:page>
121
コンソールイベントのメソッド
removeEventListener()
応答
なし
サンプルコード API バージョン 30.0 以降 – Visualforce
<apex:page>
<apex:includeScript value="/support/console/30.0/integration.js"/>
<A HREF="#" onClick="testRemoveEventListener(); return false;">
Click here to remove an event listener for the console 'CLOSE_TAB' event
type</A>
<script type="text/javascript">
var tabId;
var onEnclosingPrimaryTabClose = function (result) {
alert('The enclosing primary tab is about to be closed. Tab ID: ' + result.id
+ ',
Object ID: ' + (result.objectId ? result.objectId : 'not available'));
};
//Add a listener to handle the closing of the enclosing primary tab
sforce.console.getEnclosingPrimaryTabId(function (result) {
if (result.id) {
tabId = result.id;
sforce.console.addEventListener(sforce.console.ConsoleEvent.CLOSE_TAB,
onEnclosingPrimaryTabClose, { tabId : tabId });
} else {
alert('Could not find an enclosing primary TAB!');
}
});
function testRemoveEventListener() {
sforce.console.removeEventListener(sforce.console.ConsoleEvent.CLOSE_TAB,
onEnclosingPrimaryTabClose, { tabId : tabId });
}
</script>
</apex:page>
応答
なし
122
第9章
Live Agent のメソッド
Live Agent により、Web ベースのチャットを使用して顧客または Web サイトの訪問者とリアルタイムに接続でき
ます。詳細は、Salesforce ヘルプの「Salesforce コンソールへの Live Agent の追加」を参照してください。
このセクションの内容:
acceptChat()
チャット要求を受け入れます。API バージョン 29.0 以降で使用できます。
cancelFileTransferByAgent()
ファイル転送要求がエージェントによってキャンセルされたことを示します。API バージョン 31.0 以降で使
用できます。
declineChat()
チャット要求を却下します。API バージョン 29.0 以降で使用できます。
endChat()
エージェントが現在参加しているチャットを終了します。API バージョン 29.0 以降で使用できます。
getAgentInput()
特定のチャットキーを持つチャットのチャットログにある、エージェントのテキスト入力領域に現在ある
テキストの文字列を返します。API バージョン 29.0 以降で使用できます。
getAgentState()
オンライン、退席中、またはオフラインなど、エージェントの現在の Live Agent 状況を返します。API バー
ジョン 29.0 以降で使用できます。
getChatLog()
特定のチャットキーに関連付けられたチャットのチャットログを返します。API バージョン 29.0 以降で使用
できます。
getChatRequests()
エージェントに割り当てられたチャット要求のチャットキーを返します。API バージョン 29.0 以降で使用で
きます。
getDetailsByChatKey()
特定のチャットキーに関連付けられたチャットの詳細を返します。API バージョン 29.0 以降で使用できま
す。
getDetailsByPrimaryTabId()
特定の主タブ ID に関連付けられたチャットの詳細を返します。API バージョン 29.0 以降で使用できます。
getEngagedChats()
エージェントが現在参加しているチャットのチャットキーを返します。API バージョン 29.0 以降で使用でき
ます。
getMaxCapacity()
エージェントの割り当て済みエージェント設定に指定されているとおりに、現在のエージェントの最大可
能チャット数を返します。API バージョン 29.0 以降で使用できます。
123
Live Agent のメソッド
initFileTransfer()
顧客からエージェントにファイルを転送するプロセスを開始します。API バージョン 31.0 以降で使用できま
す。
onAgentSend()
エージェントが Salesforce コンソールでチャットメッセージを送信するとコールされる関数を登録します。
このメソッドにより、メッセージが受信されます。また、このメソッドはメッセージがチャット訪問者に
送信される前に発生します。API バージョン 29.0 以降で使用できます。
onAgentStateChanged()
オンラインから退席中への変更など、エージェントが Live Agent 状況を変更するとコールされる関数を登録
します。API バージョン 29.0 以降で使用できます。
onChatCanceled()
チャット訪問者がチャット要求をキャンセルするとコールされる関数を登録します。API バージョン 29.0 以
降で使用できます。
onChatCriticalWaitState()
チャットへの応答が不可欠になるか、待機中のチャットが応答されるとコールされる関数を登録します。
API バージョン 29.0 以降で使用できます。
onChatDeclined()
エージェントがチャット要求を却下するとコールされる関数を登録します。API バージョン 29.0 以降で使用
できます。
onChatEnded()
参加していたチャットが終了するとコールされる関数を登録します。API バージョン 29.0 以降で使用できま
す。
onChatRequested()
エージェントがチャット要求を受け取るとコールされる関数を登録します。API バージョン 29.0 以降で使用
できます。
onChatStarted()
エージェントが顧客と新しいチャットを開始するとコールされる関数を登録します。API バージョン 29.0 以
降で使用できます。
onChatTransferredOut()
参加していたチャットが別のエージェントに転送されるとコールされる関数を登録します。API バージョン
29.0 以降で使用できます。
onCurrentCapacityChanged()
エージェントが受け入れ可能なチャット数が変わるとコールされる関数を登録します。たとえば、エージェ
ントが新しいチャットを受け入れて現在参加しているチャットを終了したり、割り当てられているチャッ
トの数が変わったり、チャット要求がチャットキューに入れられたりする場合です。API バージョン 29.0 以
降で使用できます。
onCustomEvent()
チャット中にカスタムイベントが実行されるとコールされる関数を登録します。API バージョン 29.0 以降で
使用できます。
124
Live Agent のメソッド
acceptChat()
onFileTransferCompleted()
顧客からエージェントにファイルが転送されるとコールされる関数を登録します。API バージョン 31.0 以降
で使用できます。
onNewMessage()
顧客、エージェント、またはスーパーバイザから新しいメッセージが送信されるとコールされる関数を登
録します。API バージョン 29.0 以降で使用できます。
onTypingUpdate()
チャットウィンドウの顧客のテキストが変更されるとコールされる関数を登録します。プレビューが有効
になっている場合、この関数は、顧客がチャットウィンドウのテキストを編集するたびにコールされます。
プレビューが有効になっていない場合、この関数は、顧客がチャットウィンドウで入力を開始または停止
するたびにコールされます。API バージョン 29.0 以降で使用できます。
sendCustomEvent()
特定のチャットキーを持つチャットのクライアント側のチャットウィンドウにカスタムイベントを送信し
ます。API バージョン 29.0 以降で使用できます。
sendMessage()
特定のチャットキーを持つチャットに、エージェントから新しいチャットメッセージを送信します。API
バージョン 29.0 以降で使用できます。
setAgentInput()
特定のチャットキーを持つチャットのチャットログにある、エージェントのテキスト入力領域にあるテキ
ストの文字列を設定します。API バージョン 29.0 以降で使用できます。
setAgentState()
オンライン、退席中、またはオフラインなど、エージェントの Live Agent 状況を設定します。API バージョ
ン 29.0 以降で使用できます。
Live Agent チャット訪問者のメソッド
カスタム Visualforce チャットウィンドウで、Live Agent のチャット訪問者の操作性をカスタマイズするために
使用できるメソッドがいくつかあります。
acceptChat()
チャット要求を受け入れます。API バージョン 29.0 以降で使用できます。
構文
sforce.console.chat.acceptChat(chatKey:String, (optional)callback:Function)
引数
名前
型
説明
chatKey
String
受け入れるチャット要求のチャットキー。
125
Live Agent のメソッド
cancelFileTransferByAgent()
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/29.0/integration.js"/>
<a href="#" onClick="testAcceptChat();return false;">Accept Chat</a>
<script type="text/javascript">
function testAcceptChat() {
//Get the value for 'myChatKey'from the getChatRequests() or onChatRequested()
methods.
//These values are for example purposes only
var chatKey = 'myChatKey';
sforce.console.chat.acceptChat(chatKey, acceptSuccess);
}
function acceptSuccess(result) {
//Report whether accepting the chat was succesful
if (result.success == true) {
alert('Accepting the chat was successful');
} else {
alert('Accepting the chat was not successful');
}
};
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
success
Boolean
チャットが正常に受け入れられた場合は true、チャットの受け入
れに失敗した場合は false。
cancelFileTransferByAgent()
ファイル転送要求がエージェントによってキャンセルされたことを示します。API バージョン 31.0 以降で使用
できます。
126
Live Agent のメソッド
cancelFileTransferByAgent()
構文
sforce.console.chat.cancelFileTransferByAgent(chatKey:String, (optional)callback:Function)
引数
名前
型
説明
chatKey
String
エージェントがファイル転送要求をキャンセルしたチャットのチャッ
トキー。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/31.0/integration.js"/>
<a href="#" onClick="testCancelFileTransfer();return false;">Cancel file transfer</a>
<script type="text/javascript">
function testCancelFileTransfer() {
//Gets the value for 'myChatKey'from the getChatRequests() or onChatRequested()
methods.
//These values are for example purposes only.
var chatKey = 'myChatKey';
sforce.console.chat.cancelFileTransferByAgent(chatKey, fileSuccess);
}
function fileSuccess(result) {
//Report whether canceling was successful
if (result.success == true) {
alert('Canceling file transfer was successful.');
} else {
alert('Canceling file transfer was not successful.');
}
};
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
127
Live Agent のメソッド
declineChat()
名前
型
説明
success
Boolean
ファイル転送要求が正常にキャンセルされた場合は true、ファイ
ル転送要求が正常にキャンセルされなかった場合は false。
declineChat()
チャット要求を却下します。API バージョン 29.0 以降で使用できます。
構文
sforce.console.chat.declineChat(chatKey:String, (optional)callback:Function)
引数
名前
型
説明
chatKey
String
却下する要求のチャットキー。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/29.0/integration.js"/>
<a href="#" onClick="testDeclineChat();return false;">Decline Chat</a>
<script type="text/javascript">
function testDeclineChat() {
//Get the value for 'myChatKey'from the getChatRequests() or onChatRequested()
methods.
//These values are for example purposes only
var chatKey = 'myChatKey';
sforce.console.chat.declineChat(chatKey, declineSuccess);
}
function declineSuccess(result) {
//Report whether declining the chat was succesful
if (result.success == true) {
alert('Declining the chat was successful');
} else {
alert('Declining the chat was not successful');
}
};
</script>
</apex:page>
128
Live Agent のメソッド
endChat()
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
success
Boolean
イベントが正常に却下された場合は true、イベントが正常に却下
されなかった場合は false。
endChat()
エージェントが現在参加しているチャットを終了します。API バージョン 29.0 以降で使用できます。
構文
sforce.console.chat.endChat(chatKey:String, (optional)callback:Function)
引数
名前
型
説明
chatKey
String
終了する参加中のチャットのチャットキー。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/29.0/integration.js"/>
<a href="#" onClick="testEndChat();return false;">End Chat</a>
<script type="text/javascript">
function testEndChat() {
//Get the value for 'myChatKey'from the getEngagedChats() or onChatStarted()
methods.
//These values are for example purposes only
var chatKey = 'myChatKey';
sforce.console.chat.endChat(chatKey, endSuccess);
}
function endSuccess(result) {
//Report whether ending the chat was succesful
if (result.success == true) {
alert('Ending the chat was successful');
} else {
129
Live Agent のメソッド
getAgentInput()
alert('Ending the chat was not successful');
}
};
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
success
Boolean
チャットが正常に終了された場合は true、チャットが正常に終了
されなかった場合は false。
getAgentInput()
特定のチャットキーを持つチャットのチャットログにある、エージェントのテキスト入力領域に現在あるテキ
ストの文字列を返します。API バージョン 29.0 以降で使用できます。
構文
sforce.console.chat.getAgentInput(chatKey:String, callback:Function)
引数
名前
型
説明
chatKey
String
エージェントの入力テキストを取得するチャットに関連付けられた
chatKey。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page >
<apex:includeScript value="/support/console/29.0/integration.js"/>
<a href="#" onClick="testGetAgentInput();">Get Agent Input</a>
<script type="text/javascript">
function testGetAgentInput() {
//Get the value for 'myChatKey'from the
130
Live Agent のメソッド
getAgentState()
sforce.console.chat.getDetailsByPrimaryTabId() or other chat methods.
//These values are for example purposes only
var chatKey = 'myChatKey';
sforce.console.chat.getAgentInput(chatKey, getAgentInputSuccess);
}
function getAgentInputSuccess(result) {
//Report whether getting the agent's input was successful
if (result.success == true) {
agentInput = result.text;
alert('The text in the agent input is: ' + agentInput);
} else {
alert('Getting the agent input was not successful');
}
};
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
text
String
エージェントのテキスト入力領域に現在あるテキスト。
success
Boolean
エージェントの入力が正常に取得された場合は true、エージェン
トの入力が正常に取得されなかった場合は false。
getAgentState()
オンライン、退席中、またはオフラインなど、エージェントの現在の Live Agent 状況を返します。API バージョ
ン 29.0 以降で使用できます。
構文
sforce.console.chat.getAgentState(callback:Function)
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
131
Live Agent のメソッド
getChatLog()
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/29.0/integration.js"/>
<a href="#" onClick="testGetAgentState();return false;">Get Agent State</a>
<script type="text/javascript">
function testGetAgentState() {
sforce.console.chat.getAgentState(function(result) {
if (result.success) {
alert('Agent State:' + result.state);
} else {
alert('getAgentState has failed');
}
});
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
state
String
オンライン、退席中、またはオフラインなど、エージェントの現在
の状況を表す文字列。
success
Boolean
エージェントのLive Agent状況が正常に取得された場合は true、エー
ジェントの Live Agent 状況が正常に取得されなかった場合は false。
getChatLog()
特定のチャットキーに関連付けられたチャットのチャットログを返します。API バージョン 29.0 以降で使用で
きます。
構文
sforce.console.chat.getChatLog(chatKey:String, callback:Function)
引数
名前
型
説明
chatKey
String
チャットログを取得するチャットに関連付けられた chatKey。
132
Live Agent のメソッド
getChatLog()
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page >
<apex:includeScript value="/support/console/29.0/integration.js"/>
<a href="#" onClick="testGetChatLog();">Get Chat Log</a>
<script type="text/javascript">
function testGetChatLog() {
//Get the value for 'myChatKey'from the
sforce.console.chat.getDetailsByPrimaryTabId() or other chat methods.
//These values are for example purposes only
var chatKey = 'myChatKey';
sforce.console.chat.getChatLog(chatKey, getChatLogSuccess);
}
function getChatLogSuccess(result) {
//Report whether getting the chat log was succesful
if (result.success == true) {
chatLogMessage = result.messages[0].content;
alert('The first message in this chatLog is: ' + chatLogMessage);
} else {
alert('Getting the chat log was not successful');
}
};
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次の項目が含まれます。
名前
型
説明
customEvents
customEvent チャット中に発生したカスタムイベントを表すカスタムイベントオ
オブジェクト ブジェクトの配列。
の配列
messages
message オ
チャットログのすべてのチャットメッセージを含むチャットメッ
ブジェクトの セージオブジェクトの配列。
配列
133
Live Agent のメソッド
getChatRequests()
名前
型
説明
success
Boolean
チャットログが正常に取得された場合は true、チャットログが正
常に取得されなかった場合は false。
customEvent
customEvent オブジェクトには、チャットログの単一のイベントと次のプロパティが含まれます。
プロパティ
型
説明
source
String
カスタムイベントを開始したユーザ (チャット訪問者またはエージェ
ント)。
type
String
発生したカスタムイベントのタイプ。
data
String
チャットに送信されたカスタムイベントのデータ。チャットウィン
ドウからこのイベントを送信するために使用された
liveagent.chasitor.sendCustomEvent() メソッドの data 引
数に対応します。
timestamp
Date/Time
カスタムイベントの受信日時。
message
message オブジェクトには、チャットログの単一のチャットメッセージと次のプロパティが含まれます。
プロパティ
型
説明
content
String
チャットログのメッセージのテキストコンテンツ。
name
String
チャットログのメッセージを送信したユーザの名前。これは、チャッ
トログとまったく同じように表示されます。
type
String
受信メッセージの種別 (エージェントや訪問者など)。
timestamp
Date/Time
チャットメッセージの受信日時。
getChatRequests()
エージェントに割り当てられたチャット要求のチャットキーを返します。API バージョン 29.0 以降で使用でき
ます。
構文
sforce.console.chat.getChatRequests(callback:Function)
134
Live Agent のメソッド
getDetailsByChatKey()
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/29.0/integration.js"/>
<a href="#" onClick="testGetChatRequests();return false;">Get Chat Requests</a>
<script type="text/javascript">
function testGetChatRequests() {
sforce.console.chat.getChatRequests(function(result) {
if (result.success) {
alert('Number of Chat Requests ' + result.chatKey.length);
} else {
alert('getChatRequests has failed');
}
});
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
chatKey
Array
chatKey 値 (現在のチャット要求ごとに 1 つ) の配列。
success
Boolean
チャット要求が正常に取得された場合は true、チャット要求が正
常に取得されなかった場合は false。
getDetailsByChatKey()
特定のチャットキーに関連付けられたチャットの詳細を返します。API バージョン 29.0 以降で使用できます。
構文
sforce.console.chat.getDetailsByChatKey(chatKey:String, callback:Function)
135
Live Agent のメソッド
getDetailsByChatKey()
引数
名前
型
説明
chatKey
String
詳細を取得するチャットに関連付けられた chatKey。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page >
<apex:includeScript value="/support/console/29.0/integration.js"/>
<a href="#" onClick="testGetDetailsByChatKey();">Get Chat Details</a>
<script type="text/javascript">
function testGetDetailsByChatKey() {
//Get the value for 'myChatKey' from the
sforce.console.chat.getDetailsByPrimaryTabId() or other chat methods.
//These values are for example purposes only
var chatKey = 'myChatKey';
sforce.console.chat.getDetailsByChatKey(chatKey, getDetailsSuccess);
}
function getDetailsSuccess(result) {
//Report whether accepting the chat was succesful
if (result.success == true) {
ipAddress = result.details.ipAddress;
alert('The Visitor IP Address for this chat is: ' + ipAddress);
} else {
alert('Getting the details was not successful');
}
};
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
primaryTabId
String
チャットに関連付けられた主タブの ID。
details
Object
特定の主タブに関連付けられたチャットのすべての詳細を含むオブ
ジェクト。
136
Live Agent のメソッド
getDetailsByChatKey()
名前
型
説明
success
Boolean
詳細が正常に取得された場合は true、詳細が正常に取得されなかっ
た場合は false。
details
details オブジェクトには次のプロパティがあります。
プロパティ
型
説明
acceptTime
Date/Time
エージェントがチャット要求を受け入れた日時。
breadcrumbs
breadcrumb オ
チャット前およびチャット中に訪問者が訪れた Web ページのリ
ストを表す breadcrumb オブジェクトの配列。
ブジェクトの配
列
chatKey
String
チャットに関連付けられたチャットキー。
customDetails
customDetail
リリース API または事前チャットフォーム API でこのチャットに
渡されたカスタム詳細を表す customDetail オブジェクトの配
列。
オブジェクトの
配列
geoLocation
Object
チャット訪問者の IP アドレスの geoIP ルックアップによって取得
された、チャット訪問者の場所の詳細を表すオブジェクト。
ipAddress
String
チャット訪問者の IP アドレス (ドット付き 10 進数形式)。
isEnded
Boolean
チャットが終了したか (true)、否か (false) を示します。
isEngaged
Boolean
現在参加しているチャットか (true)、否か (false) を示します。
isPushRequest
Boolean
プッシュベースの転送方法 ([最も利用されていない] や [最も利用
されている] など) でチャットがエージェントに転送されたか
(true)、否か (false) を示します。
isTransferringOut
Boolean
チャットが現在別のエージェントに転送中か (true)、否か (false)
を示します。
liveChatButtonId
String
チャット要求が行われたチャットボタンの 15 桁のレコード ID。
liveChatDeploymentId String
チャット要求が行われたリリースの 15 桁のレコード ID。
name
String
チャット訪問者の名前。
requestTime
Date/Time
チャットの要求日時。
visitorInfo
Object
訪問者の Web ブラウザに関する情報を含むオブジェクト。
137
Live Agent のメソッド
getDetailsByChatKey()
breadcrumb
ブレッドクラムは、チャット訪問者が参照した Web ページを表します。breadcrumb オブジェクトには次の
プロパティがあります。
プロパティ
型
説明
location
String
チャット訪問者が参照した Web ページの URL。
time
Date/Time
チャット訪問者が特定のブレッドクラムの URL を訪れた日時。
customDetail
カスタム詳細は、リリース API または事前チャットフォーム API でチャットに渡された詳細です。customDetail
オブジェクトには次のプロパティがあります。
プロパティ
型
説明
label
String
リリース API または事前チャットフォーム API で指定されたカスタム
詳細の名前。
value
String
リリース API または事前チャットフォーム API で指定されたカスタム
詳細の値。
transcriptFields
String の配列
チャットトランスクリプトの顧客の詳細が保存される項目の名前。
entityMaps
entityMap
カスタム詳細情報の対応付けに使用される、事前に作成されたレ
オブジェクト コードの配列。
の配列
entityMap
エンティティは、顧客がエージェントとチャットを開始するときに作成されるレコードです。API を使用して、
これらのレコードに顧客の詳細を自動入力できます。entityMap オブジェクトには次のプロパティがありま
す。
プロパティ
型
説明
entityName
String
検索または作成するレコード。
fieldName
String
詳細に関連付けられた項目の名前。
isFastFillable
Boolean
エージェントがレコードを作成または編集するときに値を使用して
項目を入力できるか (true)、否か (false) を示します (Live Agent コン
ソールのみ)。
138
Live Agent のメソッド
getDetailsByChatKey()
プロパティ
型
説明
isAutoQueryable
Boolean
Live Agent コンソールを使用している場合、値を含む fieldName が
あるレコードを検索するために (Live Agent コンソールで) SOSL クエリ
を実行するか (true)、否か (false) を示します。
Salesforce コンソールを使用している場合、値を含む fieldName が
あるレコードを検索するために (Salesforce コンソールで) SOQL クエリ
を実行するか (true)、否か (false) を示します。
isExactMatchable
Boolean
項目 fieldName に完全一致する項目があるレコードのみを検索す
るか (true)、否か (false) を示します。
geoLocation
geoLocation オブジェクトは、チャット訪問者の場所の詳細を表します。次のプロパティが含まれています。
プロパティ
型
説明
city
String
チャット訪問者の市区郡の名前。
countryCode
String
チャット訪問者の国に対応する 2 桁の ISO-3166 国コード。
countryName
String
チャット訪問者の国の名前。
latitude
String
チャット訪問者のおおよその緯度。
longitude
String
チャット訪問者のおおよその経度。
organization
String
チャット訪問者のインターネットサービスプロバイダの組織名。
region
String
チャット訪問者の地域 (都道府県など)。
visitorInfo
visitorInfo オブジェクトは、訪問者の Web ブラウザに関する情報を表します。次のプロパティが含まれて
います。
プロパティ
型
説明
browserName
String
チャット訪問者の Web ブラウザの名前およびバージョン。
language
String
チャット訪問者の Web ブラウザの言語。
originalReferrer
String
チャット訪問者がチャットを要求した Web ページの元の URL。
screenResolution
String
チャット訪問者のブラウザから渡される、チャット訪問者のコン
ピュータの画面解像度。
139
Live Agent のメソッド
getDetailsByPrimaryTabId()
プロパティ
型
説明
sessionKey
String
最終的にこの Live Chat の訪問者の一意の参照として LiveChatVisitor レ
コードに保存される訪問者のセッションキー。
getDetailsByPrimaryTabId()
特定の主タブ ID に関連付けられたチャットの詳細を返します。API バージョン 29.0 以降で使用できます。
構文
sforce.console.chat.getDetailsByPrimaryTabId(primaryTabId:String, callback:Function)
引数
名前
型
説明
primaryTabId
String
詳細を取得するチャットに関連付けられた主タブの ID。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page >
<apex:includeScript value="/support/console/29.0/integration.js"/>
<a href="#" onClick="testGetDetailsByPrimaryTabId();">Get Chat Details</a>
<script type="text/javascript">
function testGetDetailsByPrimaryTabId() {
//Get the value for 'myPrimaryTabId'from the getPrimaryTabIds() or
getEnclosingPrimaryTabId() methods.
//These values are for example purposes only
var primaryTabId = 'myPrimaryTabId';
sforce.console.chat.getDetailsByPrimaryTabId(primaryTabId, getDetailsSuccess);
}
function getDetailsSuccess(result) {
//Report whether accepting the chat was succesful
if (result.success == true) {
console.log(result);
chatKey = result.details.chatKey;
alert('The chatKey for this chat is: ' + chatKey);
} else {
alert('Getting the details was not Succesful');
}
140
Live Agent のメソッド
getDetailsByPrimaryTabId()
};
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
primaryTabId
String
チャットに関連付けられた主タブの ID。
details
オブジェクト 特定の主タブに関連付けられたチャットのすべての詳細を含むオブ
ジェクト。
success
Boolean
詳細が正常に取得された場合は true、詳細が正常に取得されなかっ
た場合は false。
details
details オブジェクトには次のプロパティがあります。
プロパティ
型
説明
acceptTime
Date/Time
エージェントがチャット要求を受け入れた日時。
breadcrumbs
breadcrumb オ
チャット前およびチャット中に訪問者が訪れた Web ページのリ
ストを表す breadcrumb オブジェクトの配列。
ブジェクトの配
列
chatKey
String
チャットに関連付けられたチャットキー。
customDetails
customDetail
リリース API または事前チャットフォーム API でこのチャットに
渡されたカスタム詳細を表す customDetail オブジェクトの配
列。
オブジェクトの
配列
geoLocation
Object
チャット訪問者の IP アドレスの geoIP ルックアップによって取得
された、チャット訪問者の場所の詳細を表すオブジェクト。
ipAddress
String
チャット訪問者の IP アドレス (ドット付き 10 進数形式)。
isEnded
Boolean
チャットが終了したか (true)、否か (false) を示します。
isEngaged
Boolean
現在参加しているチャットか (true)、否か (false) を示します。
isPushRequest
Boolean
プッシュベースの転送方法 ([最も利用されていない] や [最も利用
されている] など) でチャットがエージェントに転送されたか
(true)、否か (false) を示します。
141
Live Agent のメソッド
getDetailsByPrimaryTabId()
プロパティ
型
説明
isTransferringOut
Boolean
チャットが現在別のエージェントに転送中か (true)、否か (false)
を示します。
liveChatButtonId
String
チャット要求が行われたチャットボタンの 15 桁のレコード ID。
liveChatDeploymentId String
チャット要求が行われたリリースの 15 桁のレコード ID。
name
String
チャット訪問者の名前。
requestTime
Date/Time
チャットの要求日時。
visitorInfo
Object
訪問者の Web ブラウザに関する情報を含むオブジェクト。
breadcrumb
ブレッドクラムは、チャット訪問者が参照した Web ページを表します。breadcrumb オブジェクトには次の
プロパティがあります。
プロパティ
型
説明
location
String
チャット訪問者が参照した Web ページの URL。
time
Date/Time
チャット訪問者が特定のブレッドクラムの URL を訪れた日時。
customDetail
カスタム詳細は、リリース API または事前チャットフォーム API を使用してチャットに渡された詳細です。
customDetail オブジェクトには次のプロパティがあります。
プロパティ
型
説明
label
String
リリース API または事前チャットフォーム API で指定されたカスタム
詳細の名前。
value
String
リリース API または事前チャットフォーム API で指定されたカスタム
詳細の値。
transcriptFields
String の配列
チャットトランスクリプトの顧客の詳細が保存される項目の名前。
entityMaps
entityMap
カスタム詳細情報の対応付けに使用される、事前に作成されたレ
オブジェクト コードの配列。
の配列
142
Live Agent のメソッド
getDetailsByPrimaryTabId()
entityMap
エンティティは、顧客がエージェントとチャットを開始するときに作成されるレコードです。API を使用して、
これらのレコードに顧客の詳細を自動入力できます。entityMap オブジェクトには次のプロパティがありま
す。
プロパティ
型
説明
entityName
String
検索または作成するレコード。
fieldName
String
詳細に関連付けられた項目の名前。
isFastFillable
Boolean
エージェントがレコードを作成または編集するときに値を使用して
項目を入力できるか (true)、否か (false) を示します (Live Agent コン
ソールのみ)。
isAutoQueryable
Boolean
Live Agent コンソールを使用している場合、値を含む fieldName が
あるレコードを検索するために (Live Agent コンソールで) SOSL クエリ
を実行するか (true)、否か (false) を示します。
Salesforce コンソールを使用している場合、値を含む fieldName が
あるレコードを検索するために (Salesforce コンソールで) SOQL クエリ
を実行するか (true)、否か (false) を示します。
isExactMatchable
Boolean
項目 fieldName に完全一致する項目があるレコードのみを検索す
るか (true)、否か (false) を示します。
geoLocation
geoLocation オブジェクトは、チャット訪問者の場所の詳細を表します。次のプロパティが含まれています。
プロパティ
型
説明
city
String
チャット訪問者の市区郡の名前。
countryCode
String
チャット訪問者の国に対応する 2 桁の ISO-3166 国コード。
countryName
String
チャット訪問者の国の名前。
latitude
String
チャット訪問者のおおよその緯度。
longitude
String
チャット訪問者のおおよその経度。
organization
String
チャット訪問者のインターネットサービスプロバイダの組織名。
region
String
チャット訪問者の地域 (都道府県など)。
143
Live Agent のメソッド
getEngagedChats()
visitorInfo
visitorInfo オブジェクトは、訪問者の Web ブラウザに関する情報を表します。次のプロパティが含まれて
います。
プロパティ
型
説明
browserName
String
チャット訪問者の Web ブラウザの名前およびバージョン。
language
String
チャット訪問者の Web ブラウザの言語。
originalReferrer
String
チャット訪問者がチャットを要求した Web ページの元の URL。
screenResolution
String
チャット訪問者のブラウザから渡される、チャット訪問者のコン
ピュータの画面解像度。
sessionKey
String
最終的にこの Live Chat の訪問者の一意の参照として LiveChatVisitor レ
コードに保存される訪問者のセッションキー。
getEngagedChats()
エージェントが現在参加しているチャットのチャットキーを返します。API バージョン 29.0 以降で使用できま
す。
構文
sforce.console.chat.getEngagedChats(callback:Function)
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/29.0/integration.js"/>
<a href="#" onClick="testGetEngagedChats();return false;">Get Engaged Chats</a>
<script type="text/javascript">
function testGetEngagedChats() {
sforce.console.chat.getEngagedChats(function(result) {
if (result.success) {
alert('Number Engaged Chats: ' + result.chatKey.length);
} else {
144
Live Agent のメソッド
getMaxCapacity()
alert('getEngagedChats has failed');
}
});
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
chatKey
array
chatKey 値 (現在参加しているチャットごとに 1 つ) の配列。
success
boolean
参加しているチャットが正常に取得された場合は true、参加して
いるチャットが正常に取得されなかった場合は false。
getMaxCapacity()
エージェントの割り当て済みエージェント設定に指定されているとおりに、現在のエージェントの最大可能
チャット数を返します。API バージョン 29.0 以降で使用できます。
構文
sforce.console.chat.getMaxCapacity(callback:Function)
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/29.0/integration.js"/>
<a href="#" onClick="testGetMaxCapacity();return false;">Get Max Capacity</a>
<script type="text/javascript">
function testGetMaxCapacity() {
sforce.console.chat.getMaxCapacity(function(result) {
if (result.success) {
alert('max capacity '+result.count);
145
Live Agent のメソッド
initFileTransfer()
} else {
alert('getMaxCapacity failed, agent my not be online');
}
});
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
count
integer
エージェントの現在の最大可能チャット数。
success
boolean
エージェントの受け入れ可能なチャット数が正常に取得された場合
は true、エージェントの受け入れ可能なチャット数が正常に取得
されなかった場合は false。
initFileTransfer()
顧客からエージェントにファイルを転送するプロセスを開始します。API バージョン 31.0 以降で使用できます。
構文
sforce.console.chat.initFileTransfer(chatKey:String, entityId:String,
(optional)callback:Function)
引数
名前
型
説明
chatKey
String
ファイルの転送元のチャットのチャットキー。
entityId
String
転送されたファイルが添付されるトランスクリプトオブジェクトの
ID。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/31.0/integration.js"/>
146
Live Agent のメソッド
onAgentSend()
<a href="#" onClick="testInitFileTransfer();return false;">Init file transfer</a>
<script type="text/javascript">
function testInitFileTransfer() {
//Gets the value for 'myChatKey'from the getChatRequests() or onChatRequested()
methods.
//These values are for example purposes only.
var chatKey = 'myChatKey'; var entityId = 'myEntityId';
sforce.console.chat.initFileTransfer(chatKey, entityId, fileSuccess);
}
function fileSuccess(result) {
//Reports whether initiating the file transfer was successful.
if (result.success == true) {
alert('Initiating file transfer was successful.');
} else {
alert('Initiating file transfer was not successful.');
}
};
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
success
Boolean
ファイル転送要求が正常に送信された場合は true、ファイル転送
要求が正常に送信されなかった場合は false。
メモ: 値が true でも、ファイルがエージェントに正常に転送
されたとは限りません。これは、ファイル転送を開始する要
求が正常に送信されたことを示します。
onAgentSend()
エージェントがSalesforce コンソールでチャットメッセージを送信するとコールされる関数を登録します。この
メソッドにより、メッセージが受信されます。また、このメソッドはメッセージがチャット訪問者に送信され
る前に発生します。API バージョン 29.0 以降で使用できます。
メモ: このメソッドは、エージェントがチャットウィンドウインターフェースでメッセージを送信した場
合にのみコールされます。このメソッドは、API で sendMessage() メソッドがコールされる場合には適
用されません。
147
Live Agent のメソッド
onAgentSend()
構文
sforce.console.chat.onAgentSend(chatKey:String, callback:Function)
引数
名前
型
説明
chatKey
String
チャットでエージェントがメッセージを送信すると関数をコールす
る場合に、そのチャットに関連付けられた chatKey。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page >
<apex:includeScript value="/support/console/29.0/integration.js"/>
<script type="text/javascript">
var eventHandler = function (result) {
var theMessage = result.content;
alert('The agent is attempting to send the following message: ' +
result.content);
sforce.console.chat.sendMessage(chatKey, theMessage)
alert('The following message has been sent: ' + theMessage);
}
//Get the value for 'myChatKey' from the
sforce.console.chat.getDetailsByPrimaryTabId() or other chat methods.
//These values are for example purposes only
var chatKey = 'myChatKey';
sforce.console.chat.onAgentSend(chatKey, eventHandler);
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
content
String
エージェントのメッセージのテキスト。
name
String
メッセージの送信を試みているエージェントの、チャットログに表
示される名前。
type
String
受信されたメッセージの種別 (エージェントなど)。
timestamp
Date/Time
エージェントがチャットメッセージの送信を試みた日時。
148
Live Agent のメソッド
onAgentStateChanged()
名前
型
説明
success
Boolean
イベントが正常に起動された場合は true、イベントが正常に起動
されなかった場合は false。
onAgentStateChanged()
オンラインから退席中への変更など、エージェントが Live Agent 状況を変更するとコールされる関数を登録し
ます。API バージョン 29.0 以降で使用できます。
構文
sforce.console.chat.onAgentStateChanged(eventHandler:Function)
引数
名前
型
説明
eventHandler
function
エージェントの Live Agent 状況が変化するとコールされる JavaScript メ
ソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/29.0/integration.js"/>
<script type="text/javascript">
var eventHandler = function (result) {
alert("Agent's State has Changed to: " + result.state);
};
sforce.console.chat.onAgentStateChanged(eventHandler);
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
state
String
オンライン、退席中、オフラインなど、エージェントの現在の Live
Agent 状況を表す文字列。
149
Live Agent のメソッド
onChatCanceled()
名前
型
説明
success
Boolean
イベントが正常に起動された場合は true、イベントが正常に起動
されなかった場合は false。
onChatCanceled()
チャット訪問者がチャット要求をキャンセルするとコールされる関数を登録します。API バージョン 29.0 以降
で使用できます。
構文
sforce.console.chat.onChatCanceled(callback:Function)
引数
名前
型
説明
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page >
<apex:includeScript value="/support/console/29.0/integration.js"/>
<script type="text/javascript">
var eventHandler = function (result) {
alert('The chat request has been canceled for this chatKey: ' + result.chatKey);
}
sforce.console.chat.onChatCanceled(eventHandler);
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
chatKey
string
キャンセルされたチャット要求のチャットキー。
150
Live Agent のメソッド
onChatCriticalWaitState()
onChatCriticalWaitState()
チャットへの応答が不可欠になるか、待機中のチャットが応答されるとコールされる関数を登録します。API
バージョン 29.0 以降で使用できます。
構文
sforce.console.chat.onChatCanceled(chatKey:String, callback:Function)
引数
名前
型
説明
chatKey
String
待機時間経過状態が変更されたチャットに関連付けられた chatKey。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page >
<apex:includeScript value="/support/console/29.0/integration.js"/>
<script type="text/javascript">
var eventHandler = function (result) {
alert('This chat has reached a critical wait');
}
//Get the value for 'myChatKey' from the
sforce.console.chat.getDetailsByPrimaryTabId() or other chat methods.
//These values are for example purposes only
var chatKey = 'myChatKey';
sforce.console.chat.onChatCriticalWaitState(chatKey, eventHandler);
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
state
Boolean
チャットが待機時間経過状態にあるか (true)、否か (false) を示し
ます。
151
Live Agent のメソッド
onChatDeclined()
onChatDeclined()
エージェントがチャット要求を却下するとコールされる関数を登録します。API バージョン 29.0 以降で使用で
きます。
構文
sforce.console.chat.onChatDeclined(eventHandler:Function)
引数
名前
型
説明
eventHandler
function
チャット要求が拒否されるとコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page >
<apex:includeScript value="/support/console/29.0/integration.js"/>
<script type="text/javascript">
var eventHandler = function (result) {
alert('A chat request with this chatKey has been declined: ' + result.chatKey);
}
sforce.console.chat.onChatDeclined(eventHandler);
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
chatKey
String
拒否されたチャット要求のチャットキー。
success
Boolean
イベントが正常に起動された場合は true、イベントが正常に起動
されなかった場合は false。
onChatEnded()
参加していたチャットが終了するとコールされる関数を登録します。API バージョン 29.0 以降で使用できます。
152
Live Agent のメソッド
onChatRequested()
構文
sforce.console.chat.onChatEnded(eventHandler:Function)
引数
名前
型
説明
eventHandler
function
参加しているチャットが終了するとコールされる JavaScript メソッ
ド。
サンプルコード – Visualforce
<apex:page >
<apex:includeScript value="/support/console/29.0/integration.js"/>
<script type="text/javascript">
var eventHandler = function (result) {
alert('A chat with this chatKey has ended: ' + result.chatKey);
}
sforce.console.chat.onChatEnded(eventHandler);
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
chatKey
String
参加していたが終了したチャットのチャットキー。
success
Boolean
イベントが正常に起動された場合は true、イベントが正常に起動
されなかった場合は false。
onChatRequested()
エージェントがチャット要求を受け取るとコールされる関数を登録します。API バージョン 29.0 以降で使用で
きます。
構文
sforce.console.chat.onChatRequested(eventHandler:Function)
153
Live Agent のメソッド
onChatStarted()
引数
名前
型
説明
eventHandler
function
チャット要求がエージェントに割り当てられるとコールされる
JavaScript メソッド。
サンプルコード – Visualforce
<apex:page >
<apex:includeScript value="/support/console/29.0/integration.js"/>
<script type="text/javascript">
var eventHandler = function (result) {
alert('There is a new incoming chat request with this chatKey: ' +
result.chatKey);
}
sforce.console.chat.onChatRequested(eventHandler);
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
chatKey
String
受信チャット要求のチャットキー。
success
Boolean
イベントが正常に起動された場合は true、イベントが正常に起動
されなかった場合は false。
onChatStarted()
エージェントが顧客と新しいチャットを開始するとコールされる関数を登録します。API バージョン 29.0 以降
で使用できます。
使用方法
構文
sforce.console.chat.onChatStarted(eventHandler:Function)
154
Live Agent のメソッド
onChatTransferredOut()
引数
名前
型
説明
eventHandler
function
チャット要求が受け入れられて、参加中のチャットになるとコール
される JavaScript メソッド。
サンプルコード – Visualforce
<apex:page >
<apex:includeScript value="/support/console/29.0/integration.js"/>
<script type="text/javascript">
var eventHandler = function (result) {
alert('A new engaged chat has started for this chatKey: ' + result.chatKey);
}
sforce.console.chat.onChatStarted(eventHandler);
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
chatKey
String
参加中のチャットになったチャット要求のチャットキー。
success
Boolean
イベントが正常に起動された場合は true、イベントが正常に起動
されなかった場合は false。
onChatTransferredOut()
参加していたチャットが別のエージェントに転送されるとコールされる関数を登録します。API バージョン 29.0
以降で使用できます。
構文
sforce.console.chat.onChatTransferredOut(eventHandler:Function)
155
Live Agent のメソッド
onCurrentCapacityChanged()
引数
名前
型
説明
eventHandler
function
チャットが別のエージェントに正常に転送されるとコールされる
JavaScript メソッド。
サンプルコード – Visualforce
<apex:page >
<apex:includeScript value="/support/console/29.0/integration.js"/>
<script type="text/javascript">
var eventHandler = function (result) {
alert('A chat with this chatKey has been transferred out: ' + result.chatKey);
}
sforce.console.chat.onChatTransferredOut(eventHandler);
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
chatKey
String
転送されたチャットのチャットキー。
success
Boolean
イベントが正常に起動された場合は true、イベントが正常に起動
されなかった場合は false。
onCurrentCapacityChanged()
エージェントが受け入れ可能なチャット数が変わるとコールされる関数を登録します。たとえば、エージェン
トが新しいチャットを受け入れて現在参加しているチャットを終了したり、割り当てられているチャットの数
が変わったり、チャット要求がチャットキューに入れられたりする場合です。API バージョン 29.0 以降で使用
できます。
構文
sforce.console.chat.onCurrentCapacityChanged(eventHandler:Function)
156
Live Agent のメソッド
onCustomEvent()
引数
名前
型
説明
eventHandler
function
エージェントの受け入れ可能なチャット数が変更されるとコールさ
れる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/29.0/integration.js"/>
<script type="text/javascript">
var eventHandler = function (result) {
alert('Capacity Changed. Current Requests + Engaged Chats is now: ' +
result.count);
}
sforce.console.chat.onCurrentCapacityChanged(eventHandler);
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
count
integer
エージェントが現在参加しているチャットおよびエージェントに現
在割り当てられているチャット要求の合計数。
success
Boolean
イベントが正常に起動された場合は true、イベントが正常に起動
されなかった場合は false。
onCustomEvent()
チャット中にカスタムイベントが実行されるとコールされる関数を登録します。API バージョン 29.0 以降で使
用できます。
構文
sforce.console.chat.onCustomEvent(chatKey:String, type:String, callback:Function)
157
Live Agent のメソッド
onCustomEvent()
引数
名前
型
説明
chatKey
String
カスタムイベントが実行されると関数をコールするチャットに関連
付けられた chatKey。
type
String
リスンするカスタムイベントの名前。これは、チャットウィンドウ
から送信されたカスタムイベントの名前と一致します。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page >
<apex:includeScript value="/support/console/29.0/integration.js"/>
<script type="text/javascript">
var eventHandler = function (result) {
alert('A new custom event has been received of type ' + result.type + ' and
with data: ' + result.data );
}
//Get the value for 'myChatKey' from the
sforce.console.chat.getDetailsByPrimaryTabId() or other chat methods.
//These values are for example purposes only
var chatKey = 'myChatKey';
var type = 'myCustomEventType';
sforce.console.chat.onCustomEvent(chatKey, type, eventHandler);
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
type
String
このチャットに送信されたカスタムイベントのタイプ。チャット
ウィンドウからこのイベントを送信するために使用された
liveagent.chasitor.sendCustomEvent() メソッドの type 引
数に対応します。
data
String
このチャットに送信されたカスタムイベントのデータ。チャット
ウィンドウからこのイベントを送信するために使用された
liveagent.chasitor.sendCustomEvent() メソッドの data 引
数に対応します。
158
Live Agent のメソッド
onFileTransferCompleted()
名前
型
説明
source
String
このチャットに送信されたカスタムイベントのソース。カスタムイ
ベントをトリガしたエージェントまたはチャット訪問者に対応しま
す。
timestamp
Date/Time
イベントの受信日時。
success
Boolean
イベントが正常に起動された場合は true、イベントが正常に起動
されなかった場合は false。
onFileTransferCompleted()
顧客からエージェントにファイルが転送されるとコールされる関数を登録します。API バージョン 31.0 以降で
使用できます。
構文
sforce.console.chat.onFileTransferCompleted(chatKey:String, callback:Function)
引数
名前
型
説明
chatKey
String
ファイルの転送元のチャットのチャットキー。
callback
function
メッセージの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/31.0/integration.js"/>
<a href="#" onClick="testOnFileComplete();return false;">test on file transfer
complete</a>
<script type="text/javascript">
function testOnFileComplete() {
//Gets the value for 'myChatKey'from the getChatRequests() or onChatRequested()
methods.
//These values are for example purposes only.
var chatKey = 'myChatKey';
sforce.console.chat.onFileTransferCompleted(chatKey, fileSuccess);
}
function fileSuccess(result) {
//Reports status of the file transfer.
159
Live Agent のメソッド
onNewMessage()
if (result.success == true) {
alert('File transfer was successful.');
} else {
alert('File transfer was not successful.');
}
};
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
attachmentId
String
転送されたファイルのために作成されるオブジェクトの ID。
success
Boolean
イベントが正常に起動された場合は true、イベントが正常に起動
されなかった場合は false。
onNewMessage()
顧客、エージェント、またはスーパーバイザから新しいメッセージが送信されるとコールされる関数を登録し
ます。API バージョン 29.0 以降で使用できます。
構文
sforce.console.chat.onNewMessage(chatKey:String, callback:Function)
引数
名前
型
説明
chatKey
string
新しい顧客メッセージを受信すると関数をコールするチャットに関
連付けられた chatKey。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page >
<apex:includeScript value="/support/console/29.0/integration.js"/>
<script type="text/javascript">
var eventHandler = function (result) {
160
Live Agent のメソッド
onTypingUpdate()
alert('There is a new message in this chat: ' + result.content);
}
//Get the value for 'myChatKey'from the
sforce.console.chat.getDetailsByPrimaryTabId() or other chat methods.
//These values are for example purposes only
var chatKey = 'myChatKey';
sforce.console.chat.onNewMessage(chatKey, eventHandler);
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
content
String
チャットログのメッセージのテキスト。
name
String
メッセージを送信したユーザの名前。これは、チャットログとまっ
たく同じように表示されます。
type
String
受信メッセージの種別 (エージェントメッセージや訪問者メッセー
ジなど)。
timestamp
Date/Time
メッセージの受信日時。
success
Boolean
イベントが正常に起動された場合は true、イベントが正常に起動
されなかった場合は false。
onTypingUpdate()
チャットウィンドウの顧客のテキストが変更されるとコールされる関数を登録します。プレビューが有効に
なっている場合、この関数は、顧客がチャットウィンドウのテキストを編集するたびにコールされます。プレ
ビューが有効になっていない場合、この関数は、顧客がチャットウィンドウで入力を開始または停止するたび
にコールされます。API バージョン 29.0 以降で使用できます。
構文
sforce.console.chat.onTypingUpdate(chatKey:String, callback:Function)
161
Live Agent のメソッド
sendCustomEvent()
引数
名前
型
説明
chatKey
String
顧客がエージェントに新しいメッセージを入力し始めると関数を
コールするチャットに関連付けられた chatKey。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page >
<apex:includeScript value="/support/console/29.0/integration.js"/>
<script type="text/javascript">
var eventHandler = function (result) {
alert('There is a new typing update in this chat');
}
//Get the value for 'myChatKey'from the
sforce.console.chat.getDetailsByPrimaryTabId() or other chat methods.
//These values are for example purposes only
var chatKey = 'myChatKey';
sforce.console.chat.onTypingUpdate(chatKey, eventHandler);
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
isTyping
Boolean
チャット訪問者が入力しているのか (true)、否か (false) を示しま
す。
sneakPeek
String
チャット訪問者がチャットウィンドウの入力ボックスに現在入力し
ているテキスト。これは、エージェントでプレビューが有効になっ
ている場合にのみ表示されます。
success
Boolean
イベントが正常に起動された場合は true、イベントが正常に起動
されなかった場合は false。
sendCustomEvent()
特定のチャットキーを持つチャットのクライアント側のチャットウィンドウにカスタムイベントを送信しま
す。API バージョン 29.0 以降で使用できます。
162
Live Agent のメソッド
sendCustomEvent()
構文
sforce.console.chat.sendCustomEvent(chatKey:String, type:String, data:String,
callback:Function)
引数
名前
型
説明
chatKey
String
カスタムイベントを送信するチャットに関連付けられた chatKey。
type
String
チャットウィンドウに送信するカスタムイベントの名前。
data
String
カスタムイベントと共にチャットウィンドウに送信する追加デー
タ。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page >
<apex:includeScript value="/support/console/29.0/integration.js"/>
<a href="#" onClick="testSendCustomEvent();">Send Custom Event</a>
<script type="text/javascript">
function testSendCustomEvent() {
//Get the value for 'myChatKey'from the
sforce.console.chat.getDetailsByPrimaryTabId() or other chat methods.
//These values are for example purposes only
var chatKey = 'myChatKey';
var type = 'myCustomEventType'
var data = 'myCustomEventData'
sforce.console.chat.sendCustomEvent(chatKey, type, data, sendCustomEventSuccess);
}
function sendCustomEventSuccess(result) {
//Report whether sending the custom event was successful
if (result.success == true) {
alert('The customEvent has been sent');
} else {
alert('Sending the customEvent was not successful');
}
};
</script>
</apex:page>
163
Live Agent のメソッド
sendMessage()
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
success
Boolean
カスタムイベントが正常に送信された場合は true、カスタムイベ
ントが正常に送信されなかった場合は false。
sendMessage()
特定のチャットキーを持つチャットに、エージェントから新しいチャットメッセージを送信します。API バー
ジョン 29.0 以降で使用できます。
構文
sforce.console.chat.sendMessage(chatKey:String, message:String, callback:Function)
引数
名前
型
説明
chatKey
String
エージェントのメッセージが送信されるチャットの chatKey。
message
String
チャットでエージェントから顧客に送信するメッセージ。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page >
<apex:includeScript value="/support/console/29.0/integration.js"/>
<a href="#" onClick="testSendMessage();">Send Message</a>
<script type="text/javascript">
function testSendMessage() {
//Get the value for 'myChatKey'from the
sforce.console.chat.getDetailsByPrimaryTabId() or other chat methods.
//These values are for example purposes only
var chatKey = 'myChatKey';
var text ='This is sample text to send as a message';
sforce.console.chat.sendMessage(chatKey, text, sendMessageSuccess);
}
164
Live Agent のメソッド
setAgentInput()
function sendMessageSuccess(result) {
//Report whether getting the chat log was successful
if (result.success == true) {
alert('Message Sent');
} else {
alert('Sending the message was not successful');
}
};
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
success
Boolean
メッセージの送信に成功した場合は true、メッセージの送信に失
敗した場合は false。
setAgentInput()
特定のチャットキーを持つチャットのチャットログにある、エージェントのテキスト入力領域にあるテキスト
の文字列を設定します。API バージョン 29.0 以降で使用できます。
構文
sforce.console.chat.setAgentInput(chatKey:String, text:String, callback:Function)
引数
名前
型
説明
chatKey
String
エージェントの入力テキストを設定するチャットに関連付けられた
chatKey。
text
String
エージェントの入力に設定するテキストの文字列。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
165
Live Agent のメソッド
setAgentState()
サンプルコード – Visualforce
<apex:page >
<apex:includeScript value="/support/console/29.0/integration.js"/>
<a href="#" onClick="testSetAgentInput();">Set Agent Input</a>
<script type="text/javascript">
function testSetAgentInput() {
//Get the value for 'myChatKey'from the
sforce.console.chat.getDetailsByPrimaryTabId() or other chat methods.
//These values are for example purposes only
var chatKey = 'myChatKey';
var text = 'This is example text to set the agent input'
sforce.console.chat.setAgentInput(chatKey, text, setAgentInputSuccess);
}
function setAgentInputSuccess(result) {
//Report whether setting the agent's input was succesful
if (result.success == true) {
alert('The text in the agent input has been updated');
} else {
alert('Setting the agent input was not Succesful');
}
};
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
success
Boolean
エージェントの入力が正常に設定された場合は true、エージェン
トの入力が正常に設定されなかった場合は false。
setAgentState()
オンライン、退席中、またはオフラインなど、エージェントの Live Agent 状況を設定します。API バージョン
29.0 以降で使用できます。
構文
sforce.console.chat.setAgentState(state:String, (optional)callback:Function)
166
Live Agent のメソッド
Live Agent チャット訪問者のメソッド
引数
名前
型
説明
state
String
エージェントに設定する Live Agent 状況 (オンライン、退席中、また
はオフラインなど)。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/29.0/integration.js"/>
<a href="#" onClick="testSetAgentState('Online');return false;">Set Agent Status to
Online</a>
<script type="text/javascript">
function testSetAgentState(state) {
sforce.console.chat.setAgentState(state, function(result) {
if (result.success) {
alert('Agent State Set to Online');
} else {
alert('setAgentState has failed');
}
});
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
success
Boolean
エージェントのLive Agent状況が正常に設定された場合は true、エー
ジェントの Live Agent 状況が正常に設定されなかった場合は false。
Live Agent チャット訪問者のメソッド
カスタム Visualforce チャットウィンドウで、Live Agent のチャット訪問者の操作性をカスタマイズするために使
用できるメソッドがいくつかあります。
167
Live Agent のメソッド
chasitor.addCustomEventListener()
このセクションの内容:
chasitor.addCustomEventListener()
チャットウィンドウにカスタムイベントが取得されるとコールされる関数を登録します。API バージョン
29.0 以降で使用できます。
chasitor.getCustomEvents()
このチャットセッション中にこのチャットウィンドウで受信されたカスタムイベントのリストを取得しま
す。API バージョン 29.0 以降で使用できます。
chasitor.sendCustomEvent()
顧客と現在チャットしているエージェントのエージェントコンソールにカスタムイベントを送信します。
API バージョン 29.0 以降で使用できます。
chasitor.addCustomEventListener()
チャットウィンドウにカスタムイベントが取得されるとコールされる関数を登録します。API バージョン 29.0
以降で使用できます。
構文
liveagent.chasitor.addCustomEventListener(type:String, callback:Function)
引数
名前
型
説明
type
string
リスンするカスタムイベントのタイプ。
callback
function
メソッドの完了時にコールされる JavaScript メソッド。
サンプルコード – Visualforce
<script type="text/javascript">
function testAddCustomEventListener() {
//These values are for example purposes only
var type = 'myCustomEventType'
liveagent.chasitor.addCustomEventListener(type, customEventReceived)
}
function customEventReceived(result) {
eventType = result.getType();
eventData = result.getData();
alert('A custom event of type: ' + eventType + ' has been received with the
following data: ' + eventData);
};
testAddCustomEventListener();
</script>
168
Live Agent のメソッド
chasitor.getCustomEvents()
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のメソッドが含まれます。
名前
型
説明
getType
method
このチャットウィンドウに送信されたカスタムイベントのタイプに
アクセスします。このイベントの送信に使用される
sforce.console.chat.sendCustomEvent() メソッドの type
引数を返します。
getData
method
このチャットウィンドウに送信されたカスタムイベントのデータに
アクセスします。このイベントの送信に使用される
sforce.console.chat.sendCustomEvent() メソッドの data
引数を返します。
getSource
method
このチャットウィンドウに送信されたカスタムイベントのソース
(エージェントまたはチャット訪問者など) にアクセスします。
getDate
method
このチャットウィンドウに送信されたカスタムイベントの日付にア
クセスします。イベントが受信された日時を返します。
chasitor.getCustomEvents()
このチャットセッション中にこのチャットウィンドウで受信されたカスタムイベントのリストを取得します。
API バージョン 29.0 以降で使用できます。
構文
liveagent.chasitor.getCustomEvents()
サンプルコード – Visualforce
<a href="#" onClick="testGetCustomEvents();">Get Custom Events</a>
<script type="text/javascript">
function testGetCustomEvents() {
events = liveagent.chasitor.getCustomEvents();
eventsCount = events.length;
alert('The following number of custom events have occurred: ' + eventsCount);
};
</script>
169
Live Agent のメソッド
chasitor.sendCustomEvent()
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のメソッドとプロパティが含まれます。
名前
型
events
event オブ
説明
event オブジェクトの配列。各オブジェクトは、このチャットで発
ジェクトの配 生したカスタムイベントを表します。各メッセージオブジェクトの
列
データには、次のメソッドによりアクセスできます。
• getType()
• getData()
• getSource()
• getDate()
getType
method
このチャットウィンドウに送信されたカスタムイベントのタイプに
アクセスします。このイベントの送信に使用される
sforce.console.chat.sendCustomEvent() メソッドの type
引数を返します。
getData
method
このチャットウィンドウに送信されたカスタムイベントのデータに
アクセスします。このイベントの送信に使用される
sforce.console.chat.sendCustomEvent() メソッドの data
引数を返します。
getSource
method
このチャットウィンドウに送信されたカスタムイベントのソース
(エージェントまたはチャット訪問者など) にアクセスします。
getDate
method
このチャットウィンドウに送信されたカスタムイベントの日付にア
クセスします。イベントが受信された日時を返します。
chasitor.sendCustomEvent()
顧客と現在チャットしているエージェントのエージェントコンソールにカスタムイベントを送信します。API
バージョン 29.0 以降で使用できます。
構文
liveagent.chasitor.sendCustomEvent(type:String, data:String)
引数
名前
型
説明
type
string
エージェントコンソールに送信するカスタムイベントの名前。
170
Live Agent のメソッド
chasitor.sendCustomEvent()
名前
型
説明
data
string
カスタムイベントと共にエージェントコンソールに送信する追加
データ。
サンプルコード – Visualforce
<a href="#" onClick="testSendCustomEvent();">Send Custom Event</a>
<script type="text/javascript">
function testSendCustomEvent() {
type = 'myCustomEventType';
data = 'myCustomEventData';
liveagent.chasitor.sendCustomEvent(type, data);
alert('The custom event has been sent');
};
</script>
応答
このメソッドは応答を返しません。
171
第 10 章
オムニチャネルのメソッド
オムニチャネルは、コールセンターでケース、チャット、電話、リードなどの任意の種類の新しい作業項目を
組織の最も適格で対応可能なエージェントに転送できる包括的なカスタマーサービスソリューションです。オ
ムニチャネルでは、Salesforce コンソールにシームレスに統合されるカスタマイズ可能なカスタマーサービスソ
リューションが提供され、顧客やサポートエージェントはその利点を活用できます。
オムニチャネルについての詳細は、「オムニチャネルの設定」を参照してください。
このセクションの内容:
acceptAgentWork
エージェントに割り当てられた作業項目を受け入れます。API バージョン 32.0 以降で使用できます。
closeAgentWork
作業項目の状況を「完了」に変更し、オムニチャネルウィジェットの作業項目リストから削除します。API
バージョン 32.0 以降で使用できます。
declineAgentWork
エージェントに割り当てられた作業項目を却下します。API バージョン 32.0 以降で使用できます。
getAgentWorks
現在エージェントに割り当てられ、エージェントのワークスペースで開いている作業項目のリストを返し
ます。API バージョン 32.0 以降で使用できます。
getServicePresenceStatusChannels
オムニチャネルユーザのプレゼンス状況に関連付けられたサービスチャネルを取得します。API バージョン
32.0 以降で使用できます。
getServicePresenceStatusId
エージェントの現在のプレゼンス状況を取得します。API バージョン 32.0 以降で使用できます。
login
エージェントが特定のプレゼンス状況でオムニチャネルにログインします。API バージョン 32.0 以降で使用
できます。
logout
エージェントがオムニチャネルからログアウトします。API バージョン 32.0 以降で使用できます。
setServicePresenceStatus
エージェントのプレゼンス状況を特定の ID を持つ状況に設定します。API バージョン 32.0 以降で使用できま
す。
オムニチャネルコンソールイベントのメソッド
コンソールで特定のタイプのイベント (ユーザがタブを閉じた場合など) が発生したときに、JavaScript を実
行できます。コンソールイベントの標準メソッドに加え、オムニチャネルに固有のイベントもいくつかあ
ります。
172
オムニチャネルのメソッド
acceptAgentWork
acceptAgentWork
エージェントに割り当てられた作業項目を受け入れます。API バージョン 32.0 以降で使用できます。
構文
sforce.console.presence.acceptAgentWork(workId:String, (optional) callback:function)
引数
名前
型
説明
workId
String
エージェントが受け入れる作業項目の ID。
callback
function
workId に関連付けられた作業項目をエージェントが受け入れたと
きにコールする JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/32.0/integration.js"/>
<a href="#" onClick="testAcceptWork('0Bzxx00000000001');return false;">Accept Assigned
Work Item</a>
<script type="text/javascript">
function testAcceptWork(workId) {
//These values are for example purposes only.
sforce.console.presence.getAgentWorks(function(result) {
if (result.success) {
var id = result.works[0].workId;
//Assume the work item has been assigned, but hasn’t yet been opened.
sforce.console.presence.acceptAgentWork(id, function(result) {
if (result.success) {
alert('Accepted work successfully');
} else {
alert('Accept work failed');
}
});
}
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
173
オムニチャネルのメソッド
closeAgentWork
名前
型
説明
success
Boolean
作業項目が正常に受け入れられた場合は true、作業項目の受け入
れに失敗した場合は false。
closeAgentWork
作業項目の状況を「完了」に変更し、オムニチャネルウィジェットの作業項目リストから削除します。API バー
ジョン 32.0 以降で使用できます。
構文
sforce.console.presence.closeAgentWork(workId:String, (optional) callback:function)
引数
名前
型
説明
workId
String
完了した作業項目の ID。
callback
function
workId に関連付けられた作業項目が完了したときにコールする
JavaScript メソッド。
サンプルコード – Visualforce
"<apex:page>
<apex:includeScript value=""/support/console/32.0/integration.js""/>
<a href=""#"" onClick=""testCloseWork('0Bzxx00000000001');return false;"">Close Open
Work Items</a>
<script type=""text/javascript"">
function testCloseWork(workId) {
//These values are for example purposes only.
sforce.console.presence.getAgentWorks(function(result) {
if (result.success) {
var id = result.works[0].workId; //assume work is assigned and opened
sforce.console.presence.closeAgentWork(id, function(result) {
if (result.success) {
alert('Closed work successfully');
} else {
alert('Close work failed');
}
});
}
}
174
オムニチャネルのメソッド
declineAgentWork
</script>
</apex:page>"
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
success
Boolean
作業項目が正常に完了した場合は true、作業項目が正常に完了し
なかった場合は false。
declineAgentWork
エージェントに割り当てられた作業項目を却下します。API バージョン 32.0 以降で使用できます。
構文
sforce.console.presence.declineAgentWork(workId:String, (optional) callback:function)
引数
名前
型
説明
workId
String
エージェントが却下する作業項目の ID。
callback
function
workId に関連付けられた作業項目をエージェントが却下するとき
にコールする JavaScript メソッド。
サンプルコード – Visualforce
"<apex:page>
<apex:includeScript value=""/support/console/32.0/integration.js""/>
<a href=""#"" onClick=""testDeclineWork('0Bzxx00000000001');return false;"">Decline
Assigned Work Item</a>
<script type=""text/javascript"">
function testDeclineWork(workId) {
//These values are for example purposes only.
sforce.console.presence.getAgentWorks(function(result) {
if (result.success) {
var id = result.works[0].workId;
//Assume the work item has been assigned, but hasn’t yet been opened.
sforce.console.presence.declineAgentWork(id, function(result) {
175
オムニチャネルのメソッド
getAgentWorks
if (result.success) {
alert('Declined work successfully');
} else {
alert('Decline work failed');
}
});
}
}
</script>
</apex:page>"
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
success
Boolean
作業項目が正常に却下された場合は true、作業項目が正常に却下
されなかった場合は false。
getAgentWorks
現在エージェントに割り当てられ、エージェントのワークスペースで開いている作業項目のリストを返しま
す。API バージョン 32.0 以降で使用できます。
構文
sforce.console.presence.getAgentWorks((optional) callback:function)
引数
名前
型
説明
callback
function
エージェントの作業項目のリストが取得されたときにコールする
JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/32.0/integration.js"/>
<a href="#" onClick="testGetWorks();return false;">Get Agent’s Current Work Items</a>
176
オムニチャネルのメソッド
getAgentWorks
<script type="text/javascript">
function testGetWorks() {
//These values are for example purposes only.
sforce.console.presence.getAgentWorks(function(result) {
if (result.success) {
alert('Get work items successful');
alert('Assigned Entity Id of the AgentWork is: ' +
result.works[0].workItemId);
alert('First AgentWork Developer Name is: ' +
result.works[0].workItemId);
} else {
alert('Get work items failed');
}
});
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
success
Boolean
エージェントの作業項目が正常に取得された場合は true、エージェ
ントの作業項目が正常に取得されなかった場合は false。
works
work オブ
エージェントに割り当てられ、エージェントのワークスペースで開
ジェクトの配 いている作業項目を表す work オブジェクトの配列。
列
work
work オブジェクトには次のプロパティがあります。
名前
型
説明
workItemId
String
オムニチャネル経由で転送されたオブジェクトの ID。このオブジェ
クトは、エージェントに割り当てられるときに、workId を使用し
た割り当て作業となります。
workId
String
エージェントに転送された割り当て作業の ID。
isEngaged
Boolean
作業項目を割り当てられたエージェントが、作業項目で現在作業中
であるか (true)、否か (false) を示します。
177
オムニチャネルのメソッド
getServicePresenceStatusChannels
getServicePresenceStatusChannels
オムニチャネルユーザのプレゼンス状況に関連付けられたサービスチャネルを取得します。API バージョン 32.0
以降で使用できます。
構文
sforce.console.presence.getServicePresenceStatusChannels((optional) callback:function)
引数
名前
型
説明
callback
function
プレゼンス状況に関連付けられたチャネルが取得されたときにコー
ルする JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/32.0/integration.js"/>
<a href="#" onClick="testGetChannels();return false;">
Get Channels Associated with a Presence Status</a>
<script type="text/javascript">
function testGetChannels() {
//These values are for example purposes only.
sforce.console.presence.getServicePresenceStatusChannels(function(result) {
if (result.success) {
alert('Retrieved channels successfully');
var channels = JSON.parse(result.channels);
//just to retrieve the first channel for example
alert('First channel ID is: ' + channels[0].id);
alert('First channel developer name is:
' + channels[0].developerName);
} else {
alert('Get channels failed');
}
});
}
</script>
</apex:page>
178
オムニチャネルのメソッド
getServicePresenceStatusId
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
success
Boolean
チャネルが正常に取得された場合は true、チャネルが正常に取得
されなかった場合は false。
channels
channel オ
プレゼンス状況に関連付けられたチャネルの ID と API 参照名を返し
ブジェクトの ます。
JSON 文字列
getServicePresenceStatusId
エージェントの現在のプレゼンス状況を取得します。API バージョン 32.0 以降で使用できます。
構文
sforce.console.presence.getServicePresenceStatusId((optional) callback:function)
引数
名前
型
説明
callback
function
エージェントのプレゼンス状況が取得されたときにコールする
JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/32.0/integration.js"/>
<a href="#" onClick="testGetStatusId();return false;">Get Omni-Channel Status ID</a>
<script type="text/javascript">
function testGetStatusId() {
//These values are for example purposes only.
sforce.console.presence.getServicePrsenceStatusId(function(result) {
if (result.success) {
alert('Get statusId successful');
alert('StatusId is: ' + result.statusId);
} else {
alert('Get statusId failed');
179
オムニチャネルのメソッド
login
}
});
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
success
Boolean
プレゼンス状況 ID が正常に取得された場合は true、プレゼンス状
況 ID が正常に取得されなかった場合は false。
statusId
String
エージェントの現在のプレゼンス状況の ID。
login
エージェントが特定のプレゼンス状況でオムニチャネルにログインします。API バージョン 32.0 以降で使用で
きます。
構文
sforce.console.presence.login(statusId:String, (optional) callback:function)
引数
名前
型
説明
statusId
String
プレゼンス状況の ID。関連するプロファイルまたは権限セットを使
用して、このプレゼンス状況へのアクセス権をエージェントに付与
する必要があります。
callback
function
statusId に関連付けられたプレゼンス状況でエージェントがログ
インしたときにコールする JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/32.0/integration.js"/>
<a href="#" onClick="testLogin('0N5xx00000000081');return false;">Log In to
Omni-Channel</a>
180
オムニチャネルのメソッド
logout
<script type="text/javascript">
function testLogin(statusId) {
//Gets the Salesforce ID of the presence status entity which the current user
has been assigned through their permission set or profile.
//These values are for example purposes only.
sforce.console.presence.login(statusId, function(result) {
if (result.success) {
alert('Login successful');
} else {
alert('Login failed');
}
});
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
success
Boolean
ログインが成功した場合は true、ログインが失敗した場合は
false。
logout
エージェントがオムニチャネルからログアウトします。API バージョン 32.0 以降で使用できます。
構文
sforce.console.presence.logout((optional) callback:function)
引数
名前
型
説明
callback
function
エージェントがオムニチャネルからログアウトしたときにコールす
る JavaScript メソッド。
181
オムニチャネルのメソッド
setServicePresenceStatus
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/32.0/integration.js"/>
<a href="#" onClick="testLogout();return false;">Log out of Omni-Channel</a>
<script type="text/javascript">
function testLogout() {
sforce.console.presence.logout(function(result) {
if (result.success) {
alert('Logout successfully');
} else {
alert('Logout failed');
}
});
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
success
Boolean
ログアウトが成功した場合は true、ログアウトが失敗した場合は
false。
setServicePresenceStatus
エージェントのプレゼンス状況を特定の ID を持つ状況に設定します。API バージョン 32.0 以降で使用できます。
構文
sforce.console.presence.setServicePresenceStatus(statusId:String,
(optional) callback:function)
引数
名前
型
説明
statusId
String
エージェントに設定するプレゼンス状況の ID。関連するプロファイ
ルまたは権限セットを使用して、このプレゼンス状況へのアクセス
権をエージェントに付与する必要があります。
182
オムニチャネルのメソッド
setServicePresenceStatus
名前
型
説明
callback
function
statusId に関連付けられたプレゼンス状況にエージェントの状況
を変更したときにコールする JavaScript メソッド。
サンプルコード – Visualforce
<apex:page>
<apex:includeScript value="/support/console/32.0/integration.js"/>
<a href="#" onClick="testSetStatus('0N5xx00000000081');return false;">Set Presence
Status</a>
<script type="text/javascript">
function testSetStatus(statusId) {
//Gets the Salesforce Id of the presence status that’s assigned to the current
user through permission set or profile.
//These values are for example purposes only
sforce.console.presence.setServicePresenceStatus(statusId, function(result) {
if (result.success) {
alert('Set status successful');
alert('Current statusId is: ' + result.statusId);
alert('Channel list attached to this status is: ' + result.channels);
//printout in console for lists
} else {
alert('Set status failed');
}
});
}
</script>
</apex:page>
応答
このメソッドは非同期であるため、コールバックメソッドのオブジェクトで応答を返します。応答オブジェク
トには次のプロパティが含まれます。
名前
型
説明
success
Boolean
エージェントの状況が正常に設定された場合は true、エージェン
トの状況が正常に設定されなかった場合は false。
statusId
String
エージェントの現在のプレゼンス状況の ID。
channels
channel オ
プレゼンス状況に関連付けられたチャネルの ID と API 参照名を返し
ブジェクトの ます。
JSON 文字列
183
オムニチャネルのメソッド
オムニチャネルコンソールイベントのメソッド
オムニチャネルコンソールイベントのメソッド
コンソールで特定のタイプのイベント (ユーザがタブを閉じた場合など) が発生したときに、JavaScript を実行で
きます。コンソールイベントの標準メソッドに加え、オムニチャネルに固有のイベントもいくつかあります。
オムニチャネルコンソールイベント
イベント
説明
ペイロード
sforce.console.ConsoleEvent. オムニチャネルユー
PRESENCE.LOGIN_SUCCESS
ザがオムニチャネル
に正常にログインす
ると起動します。
• statusId — エージェントの現在のプレゼンス
状況の ID
API バージョン 32.0 以
降で使用できます。
sforce.console.ConsoleEvent. ユーザが自分のプレ
PRESENCE.STATUS_CHANGED
ゼンス状況を変更す
ると起動します。
API バージョン 32.0 以
降で使用できます。
sforce.console.ConsoleEvent. ユーザが Salesforce か
PRESENCE.SFDC_LOGOUT
らログアウトすると
• statusId — エージェントの現在のプレゼンス
状況の ID
• channels — channel オブジェクト (ページ 185)
の配列
なし
起動します。
API バージョン 32.0 以
降で使用できます。
sforce.console.ConsoleEvent. ユーザに新しい作業
PRESENCE.WORK_ASSIGNED
項目が割り当てられ
• workItemId — オムニチャネル経由で転送され
たオブジェクトの ID。このオブジェクトは、エー
ると起動します。
ジェントに割り当てられるときに、workId を使
API バージョン 32.0 以
用した割り当て作業となります。
降で使用できます。 • workId — エージェントに転送された割り当て
作業の ID。
sforce.console.ConsoleEvent. ユーザが割り当て作
PRESENCE.WORK_ACCEPTED
業を受け入れるか、
割り当て作業が自動
的に受け入れられる
と起動します。
API バージョン 32.0 以
降で使用できます。
184
• workItemId — オムニチャネル経由で転送され
たオブジェクトの ID。このオブジェクトは、エー
ジェントに割り当てられるときに、workId を使
用した割り当て作業となります。
• workId — エージェントに転送された割り当て
作業の ID。
オムニチャネルのメソッド
オムニチャネルコンソールイベントのメソッド
イベント
説明
ペイロード
sforce.console.ConsoleEvent. ユーザが割り当て作
PRESENCE.WORK_DECLINED
業を却下すると起動
• workItemId — オムニチャネル経由で転送され
たオブジェクトの ID。このオブジェクトは、エー
します。
ジェントに割り当てられるときに、workId を使
API バージョン 32.0 以
用した割り当て作業となります。
降で使用できます。 • workId — エージェントに転送された割り当て
作業の ID。
sforce.console.ConsoleEvent. ユーザがコンソール
PRESENCE.WORK_CLOSED
で作業項目に関連付
けられているタブを
閉じると起動しま
す。その作業項目の
タブが閉じると、そ
れに関連付けられて
いるオムニチャネル
オブジェクトの状況
は自動的に「完了」
に変更されます。
• workItemId — オムニチャネル経由で転送され
たオブジェクトの ID。このオブジェクトは、エー
ジェントに割り当てられるときに、workId を使
用した割り当て作業となります。
• workId — エージェントに転送された割り当て
作業の ID。
API バージョン 32.0 以
降で使用できます。
channel
channel オブジェクトには次の関数があります。
名前
型
説明
channelId
function
プレゼンス状況に関連付けられているサービスチャネルの ID を取得
します。
getDeveloperName
function
channelId に関連付けられているサービスチャネルの開発者名を
取得します。
185
用語集
A |B |C |D |E |F |G |H |I |J |K |L |M |N |O |P |Q |R |S |T |U |V |W |X |Y |Z
A
管理者 (システム管理者)
アプリケーションの設定およびカスタマイズができる組織内の 1 人以上のユーザ。システム管理者プロファ
イルに割り当てられているユーザは、管理者権限があります。
アプリケーションプログラムインターフェース (API)
コンピュータシステム、ライブラリ、またはアプリケーションが、その他のコンピュータプログラムがサー
ビスを要求したりデータを交換したりできる機能を提供するインターフェースです。
非同期コール
操作に長い時間がかかるため、直ちに結果を返さないコールです。Metadata API と Bulk API のコールは非同期
です。
B
Boolean 演算子
Boolean 演算子をレポートプロファイルで使用して、2 つの値の間の論理関係を指定できます。たとえば、2
つの値の間で AND 演算子を使用すると、両方の値を含む検索結果が生成されます。同様に、2 つの値の間
で OR 演算子を使用すると、どちらかの値を含む検索結果が生成されます。
C
カスタムリンク
カスタムリンクとは管理者によって定義された URL。これを使用して、Salesforceデータを外部 Web サイトと
バックエンドのオフィスシステムと統合します。以前は Web リンクと呼ばれていました。
D
データベース
情報の編成されたコレクション。Force.com プラットフォームの基底となるアーキテクチャには、データが
格納されているデータベースが含まれています。
データベーステーブル
追跡する必要のある人物、物事、またはコンセプトに関する情報のリストで、行および列で表示されます。
「オブジェクト」も参照してください。
186
用語集
Salesforce 開発者
Salesforce 開発者 Web サイト (developer.salesforce.com) では、サンプルコード、ツールキット、オンライン開発
者コミュニティなど、プラットフォーム開発者向けの幅広いリソースを提供しています。開発向けのForce.com
プラットフォーム環境も、ここから入手できます。
E
F
項目
テキストまたは通貨の値など、情報の特定の部分を保持するオブジェクトの一部。
項目レベルセキュリティ
項目が、ユーザに非表示、表示、参照のみ、または編集可能であるかどうかを決定する設定です。Enterprise
Edition、Unlimited Edition、Performance Edition、Developer Edition でのみ使用できます。
Force.com
クラウドでアプリケーションを構築するための Salesforce プラットフォーム。Force.com は、強力なユーザイ
ンターフェース、オペレーティングシステムおよびデータベースを結合して、企業全体でアプリケーショ
ンをカスタマイズおよび展開できます。
G
Group Edition
ユーザ数が制限された小規模ビジネスやワークグループに設計された製品。
H
該当用語はありません。
I
ID
「Salesforce レコード ID」を参照してください。
インスタンス
組織のデータをホストし、アプリケーションを実行する単一の論理サーバとして示されるソフトウェアお
よびハードウェアのクラスタです。Force.comプラットフォームは複数のインスタンスで稼動しますが、1 つ
の組織のデータは常に 1 つのインスタンスに保存されています。
相互関係ログ
ボタンをクリックしたり、新しいタブを参照したり、[メモ & 添付ファイル] 関連リストまでスクロールした
りせずに、作業中の主たるレコードに関するメモをさっと書き込める Salesforce コンソール内の場所。相互
187
用語集
関係ログは、簡単に確認や修正ができるよう、活動履歴関連リストにアーカイブされます。システム管理
者は、相互関係ログをカスタマイズして、ToDo 項目を含めることができます。
J
該当用語はありません。
K
該当用語はありません。
L
ログインユーザ
SOAP APIコンテキストで、Salesforceにログインするために使用するユーザ名です。クライアントアプリケー
ションは、ログインユーザの権限および共有設定に基づいて動作します。また、インテグレーションユー
ザとも呼ばれます。
M
メタデータ
組織および組織のいずれかの部分の構造、外観、機能に関する情報。Force.com では、メタデータを記述す
るのに XML を使用します。
マルチテナンシー
すべてのユーザおよびアプリケーションが単一で共通のインフラストラクチャおよびコードベースを共有
するアプリケーションモデル。
N
移動タブ
Salesforce コンソールのドロップダウンボタンを持つタブ。オブジェクトのホームページを選択して表示で
きます。
O
オブジェクト
Salesforce 組織に情報を保存するために使用するオブジェクト。オブジェクトは、保存する情報の種類の全
体的な定義です。たとえば、Case オブジェクトを使用して、顧客からの問い合わせに関する情報を保存で
きます。各オブジェクトについて、組織は、そのデータ型の具体的なインスタンスに関する情報を保存す
る複数のレコードを保有します。たとえば、佐藤次郎さんから寄せられたトレーニングに関する問い合わ
188
用語集
せに関する情報を保存するケースレコードと、山田花子さんから寄せられたコンフィグレーションの問題
に関する情報を保存するケースレコードなどです。
組織
ライセンスユーザセットが定義された Salesforce のリリース。組織は、Salesforce の各お客様に提供される仮
想スペースです。組織には、すべてのデータおよびアプリケーションが含まれており、他のすべての組織
から独立しています。
P
Platform Edition
セールスやサービス & サポートなどの標準 Salesforce アプリケーションを含まない Enterprise Edition、Unlimited
Edition、または Performance Edition に基づいた Salesforce エディションです。
主タブ
取引先など、作業する主たる項目を表示する Salesforce コンソールのタブ。
本番組織
実際の本番データとそれらにアクセスするライブユーザを持っている Salesforce 組織です。
Q
該当用語はありません。
R
レコード
Salesforce オブジェクトの単一インスタンス。たとえば、「John Jones」は取引先責任者レコードの名前とな
ります。
S
Salesforce レコード ID
Salesforce の 1 つのレコードを識別する 15 文字または 18 文字の一意の英数字文字列です。
Sandbox
開発、テストおよびトレーニング用の、Salesforce 本番組織とほぼ同一のコピー。Sandbox のコンテンツとサ
イズは、Sandbox の種別および Sandbox に関連付けられた本番組織のエディションによって異なります。
Salesforce コンソール
Salesforce コンソールは、レコードの検索、更新、作成をすばやく行う必要のある、変化の速い環境にある
ユーザ向けに設計されています。レコードと関連項目をタブとして 1 つの画面に表示することによって、
[コンソール] タブのエージェントコンソールを改善したものです。
189
用語集
セッション ID
ユーザが Salesforce に正常にログインした場合に返される認証トークンです。セッション ID を使用すると、
ユーザが Salesforce で別のアクションを実行するときに毎回ログインする必要がなくなります。レコード ID
または Salesforce ID と異なり、Salesforce レコードの一意の ID を示す用語です。
セッションタイムアウト
ログインしてからユーザが自動的にログアウトするまでの時間です。セッションは、前もって決定された
非活動状態の期間の後、自動的に終了します。非活動状態の期間の長さは、[設定] の [セキュリティのコン
トロール] をクリックすることによって Salesforce で設定できます。デフォルト値は 120 分 (2 時間) です。ユー
ザが Web インターフェースでアクションを実行または API コールを実行すると、非活動状態タイマーが 0 に
リセットされます。
SOAP (Simple Object Access Protocol)
XML 符号化データを渡す一定の方法を定義するプロトコル。
標準オブジェクト
Force.com プラットフォームに含まれる組み込みオブジェクト。アプリケーション独自の情報を格納するカ
スタムオブジェクトを作成することもできます。
システムログ
開発者コンソールの一部。コードスニペットのデバッグに使用できる独立したウィンドウ。ウィンドウの
下部にテストするコードを入力して、[実行] をクリックします。システムログの本文には、実行する行の
長さや、作成されたデータベースコール数などのシステムリソース情報が表示されます。コードが完了し
なかった場合は、コンソールにデバッグ情報が表示されます。
T
テスト組織
Sandbox を参照してください。
トリガ
データベースの特定の種類のレコードが挿入、更新、または削除される前後で実行する Apex の一部です。
各トリガは、トリガが実行されるレコードへのアクセス権限を提供する一連のコンテキスト変数で実行し、
すべてのトリガは一括モードで実行します。つまり、一度に 1 つずつレコードと処理するのではなく、複
数のレコードを一度に処理します。
U
V
バージョン
項目のリリースを示す数値。バージョンを表示できる項目は、API オブジェクト、項目およびコール、Apex
クラスおよびトリガ、Visualforce ページおよびコンポーネントです。
Visualforce
開発者が、プラットフォームに作成されたアプリケーションのカスタムページおよびコンポーネントを容
易に定義できる、タグベースのシンプルなマークアップ言語です。各タグが、ページのセクション、関連
190
用語集
リスト、または項目など、大まかなコンポーネントときめの細かいコンポーネントのどちらにも対応して
います。コンポーネントは、標準の Salesforce ページと同じロジックを使用して制御することができます。
また、開発者が独自のロジックを Apex で記述されたコントローラと関連付けることもできます。
W
Web サービス
さまざまなプラットフォームで稼動していたり、さまざまな言語で作成されていたり、地理的に離れてた
場所にある場合であっても、2 つのアプリケーションがインターネットを経由してデータを容易に交換でき
るメカニズム。
Web サービス API
Salesforce組織の情報へのアクセスを提供する Web サービスアプリケーションプログラミングインターフェー
ス。「SOAP API」および「Bulk API」も参照してください。
ラッパークラス
ログイン、セッションの管理、レコードのクエリおよびバッチなど、一般的な機能を抽象化するクラス。
ラッパークラスを使用すると、インテグレーションでより容易にプログラムロジックを開発、保持、およ
び一か所に保存でき、コンポーネント間で容易に再利用できるようになります。Salesforce のラッパークラ
スの例として、Salesforce SOAP API の JavaScript ラッパーである AJAX Toolkit、Salesforce CRM Call Center の CTI Adapter
で使用される CCritical Section などのラッパークラス、または SOAP API を使用して Salesforce にアクセ
スするクライアントインテグレーションアプリケーションの一部として作成されたラッパークラスなどが
あります。
WSDL (Web Services Description Language) ファイル
Web サービスと送受信するメッセージの形式を説明する XML ファイル。開発環境の SOAP クライアントは、
Salesforce Enterprise WSDL または Partner WSDL を使用して、SOAP API で Salesforce と通信します。
X
該当用語はありません。
Y
該当用語はありません。
Z
該当用語はありません。
191