Salesforceのイベント


注意:この記事は、PureCloud for Salesforceに適用されます。

あなたは火に統合を設定するかのいずれかでイベントをリッスンすることができますSalesforce コンソールでSalesforceクラシックまたは(のpostMessage APIやライトニング・メッセージ・サービス付き)雷の経験のすべてのバージョンインチイベントの種類とそれらを起動またはリスンする方法は、使用するSalesforceユーザーインターフェースによって異なります。

注意:この記事は、Salesforceに精通している開発者を対象とした高度なカスタマイズのトピックです。

重要: Genesysでは、Lightning Experienceの新しい開発では、postMessage APIではなく、Lightning Message Service(LMS)を使用することをお勧めします。SalesforceはLMSをSummer ’20にリリースする予定です。Genesysは、postMessage Web APIの使用を最終的に廃止します。

Salesforce Console Integration Toolkitのイベントモデルを介して、統合は以下の項目に関連して発生するイベントを起動およびリッスンします。

  • ステータスの変更(利用可能、ビジー、退席中、不在、待機中など)
  • 通話アクティビティ(接続、切断、ACWが必要、ACWが完了)
  • インタラクション状態の変更(ピックアップ、切断、ミュート、ホールド、安全な一時停止)

開発者はこれらのイベントを使用するVisualforceページを作成できます。コード例については、 Salesforce Classicコンソールアプリ( GitHub )のイベント.

Salesforceコンソールについては、を参照してください。 Salesforceクラシックのカスタムコンポーネントでコンソールをカスタマイズする Salesforceドキュメントにあります。

イベントモデルの使用については、 Salesforce Salesforceクラシック用コンソール統合ツールキット Salesforceドキュメントにあります。

イベント

統合により、次のイベントを起動してSalesforce送信できます。

注意:これらのイベント名はで始まります inin.salesforce.constants.consoleevent.pc。の後にテーブル内の名前が続きます。次に例を示します。 inin.salesforce.constants.consoleevent.pc.UPDATE_STATUS。
イベント名 ボディ例 説明
UPDATE_STATUS {
" ;理由" ;:「status_updated」、
「 ステータス 」:「利用可能」、
「id」:「44560c74-5e84-4062-94b6-5680cdeb54d5」、
「sub_status」:「在宅勤務」
}
ステータスアップデート。セカンダリ ステータスを使用している場合、応答にはセカンダリ ステータスの情報が含まれます。
INTERACTION_CONNECTED {
" ;理由" ;:「接続」、
「interactionId」:“ 44560c74-5e84-4062-94b6-
5680cdeb54d5″
}
相互作用がつながった。
INTERACTION_DISCONNECTED {
" ;理由" ;:「切断」、
「interactionId」:“ 44560c74-5e84-4062-94b6-
5680cdeb54d5″
}
対話が切断されました。
LOGGED_OUT {
" ;理由" ;:「logged_out」
}
ユーザーがログアウトしました。
ACW_REQUIRED {
" ;理由" ;:「acw_required」、
「interactionId」:“ 44560c74-5e84-4062-94b6-
5680cdeb54d5″
}
ACWが必要です。
ACW_COMPLETED {
" ;理由" ;:「acw_completed」、
「interactionId」:“ 44560c74-5e84-4062-94b6-
5680cdeb54d5″
}
ACWが完了しました。
INTERACTION_EVENT {
" ;理由" ;:" ;インタラクション" ;、
" ;データ" ;:{
" ;カテゴリー" ;:“<interaction state change>”,
" ;データ" ;:{ }
}
}
相互作用状態の変更。

カテゴリの有効な値:変更、追加。

Sureforceの場合はPureCloudを使用したCommunicate

統合により、 ステータス変更およびエージェントのステータス変更に関する以下のアクションが公開されます。

注意:これらのタイプは inin.salesforce.constants.consoleevent.、その後にテーブル内の名前が続きます。たとえば、 inin.salesforce.constants.consoleevent.changestatus.
タイプ ボディ例 説明
ステータスを変更する <status> 状況が変わります。リクエストでステータス IDを送信します。

注意:プライマリ ステータスのみを使用する場合は、ステータス ID の代わりにハイレベル キーの値を送信できます。「AVAILABLE」、「AWAY」、「BUSY」、「OUT_OF_OFFICE」、「ON_QUEUE」、「BREAK」、「TRAINING」、「MEETING」、「MEAL」。

状態を変える {
" ;データ" ;:{
" ;アクション" ;:“<targeted state>”,
「id」:“<targeted interaction>”
}
}
対象となるインタラクションの状態とID。
カスタム属性の追加 {
" ;データ" ;:{
「id」:“<targeted interaction>”,
"属性": {
「鍵」: 「価値」
}
}
}
インタラクションにカスタム属性を追加します。

postMessageのWeb APIを介して、統合が発射できると周り提起されているイベントをリッスンステータス相互作用、通知、またはUserActionsイベントへの変更、相互作用の状態変化、およびサブスクリプション。

コード例については、 Salesforce Lightningアプリのイベント( GitHub ).

イベント

イベント名 説明
ハンドシェーク もし クライアントイベントを有効にする コールセンター設定でが選択されている場合、統合はクライアントがロードされるたびにハンドシェイクイベントを発生させます。ハンドシェイクイベントは、LightningコンポーネントがSalesforceクライアントに対してPureCloudにイベントを発生させることができる必要があるというコンテキストを提供します。
インタラクション

インタラクション状態の変更を起動します。

可能な値:追加、変更、接続、切断、acw、割り当て解除、callbackPlaced、callbackCallEnded、blindTransfer、consultTransfer、またはcompleteConsultTransfer。

詳細については、 サブスクリプションタイプごとのイベント(デベロッパーセンター) PureCloud Embeddable Frameworkドキュメントで。

通知

通知状態の変更を起動します。

可能な値:interactSelection、chatUpdate、interactionWindow。

詳細については、 サブスクリプションタイプごとのイベント(デベロッパーセンター) PureCloud Embeddable Frameworkドキュメントで。

UserAction

ユーザーアクション状態の変更を起動します。

可能な値:ログイン、ログアウト、 ステーション 、 ステータス 、モーダル、routingStatus、またはビュー。

詳細については、 サブスクリプションタイプごとのイベント(デベロッパーセンター) PureCloud Embeddable Frameworkドキュメントで。

注意:PureCloud埋め込みフレームワークのドキュメントに記載されているすべてのコールバックパラメータは、追加されたルートタイプとともにpostMessageデータペイロードで利用できます。下の表を参照 Sureforceの場合はPureCloudを使用したCommunicate

管理者は、統合が起動してイベントを待機するようにコールセンター設定を構成します。

統合を構成する

  1. コールセンターの設定で クライアントイベントメッセージタイプ、 選択する Window.postMessage API.

    この設定により、クライアントがロードするたびに統合によってハンドシェイクイベントが発生します。

  2. (オプション)下 クライアントイベントタイプ、サブスクライブする他のイベント(Interaction、Notification、およびUserAction)を選択します。クリック 矢印  下に追加します 選ばれた
  3. (オプション)選択 チャット通知を展開 チャット通知イベントの拡張ペイロードを受信します。
  4. 保存するをクリックします。
注意:LightningアプリケーションにUtility項目としてLightingコンポーネントを追加する場合は、必ず選択してください。 自動的に起動。詳細については、 照明アプリにユーティリティバーを追加する Salesforceドキュメントにあります。

詳細については、 コールセンターの設定

Sureforceの場合はPureCloudを使用したCommunicate

次の表は、Salesforceクライアント用のPureCloudクライアントがlistenする使用可能なタイプの一覧です。これらのタイプはpostMessage Web APIを通して発生します。

注意:これらのタイプはPureCloud始まり、その後にテーブルの名前が続きます。たとえば、 PureCloud.User.updateStatus.
タイプ ボディ例 説明
ユーザー更新ステータス {
"タイプ": 「PureCloud.User.updateStatus」、
" ;データ" ;:{
「id」:「<status ID>」
}
}
アップデートユーザー ステータス 。リクエストでステータス IDを送信します。
インタラクション.アップデートステート {
"タイプ": 「PureCloud.Interaction.updateState」、
" ;データ" ;:{
" ;アクション" ;:“<action>”,
「id」:“<interaction ID>”
}
}

ターゲット対話の状態を更新します。

値: ピックアップ、切断、ホールド、ミュート、およびセキュア.

インタラクション.addカスタム属性
"タイプ": 「PureCloud.Interaction.addCustomAttributes」、
" ;データ" ;:{
「id」:“<targeted interaction>”,
"属性": {
「鍵」: 「価値」
}
}
}
インタラクションにカスタム属性を追加します。

Lightningコンポーネントを作成する(開発者)

Salesforceがコールセンター設定で選択されたイベントをリッスンしてSalesforceできるように、照明コンポーネントを作成します。

  1. Apex、コンポーネント、およびJavaScriptファイルをSalesforce開発者コンソールに追加します。

    サンプルファイルは次からダウンロードできます。 PureCloud for Salesforce Einsteinの例 GitHubリポジトリ。

    詳細については、 開発者コンソールのファイルメニュー Salesforceドキュメント。

  2. をセットする タイプ そして id JavaScriptファイルのソース用。

    この設定により、クライアントのステータスを変更できます。

    source.postMessage({
        type: 'PureCloud.User.updateStatus',
        data: { id: status },
    }
  3. 管理者がインタラクション、通知、またはUserActionsイベントを起動するように統合を構成した場合、JavaScriptファイルでこれらのイベントをサブスクライブします。

    詳細については、 申し込む メソッド PureCloud Embeddable Framework ドキュメント(開発者センター)。

このページで説明されている機能は近日リリース予定です。詳細については、 リリースノート

ライトニングメッセージサービスを通じて、統合が発射できると周り提起されているイベントをリッスンステータス相互作用、通知、またはUserActionsイベントへの変更、相互作用の状態変化、およびサブスクリプション。

コード例については、 Salesforce Lightningアプリのイベント( GitHub ).

イベント

イベント名 説明
インタラクション

インタラクション状態の変更を起動します。

可能な値:追加、変更、接続、切断、acw、割り当て解除、callbackPlaced、callbackCallEnded、blindTransfer、consultTransfer、またはcompleteConsultTransfer。

詳細については、 サブスクリプションタイプごとのイベント(デベロッパーセンター) PureCloud Embeddable Frameworkドキュメントで。

通知

通知状態の変更を起動します。

可能な値:interactSelection、chatUpdate、interactionWindow。

詳細については、 サブスクリプションタイプごとのイベント(デベロッパーセンター) PureCloud Embeddable Frameworkドキュメントで。

UserAction

ユーザーアクション状態の変更を起動します。

可能な値:ログイン、ログアウト、 ステーション 、 ステータス 、モーダル、routingStatus、またはビュー。

詳細については、 サブスクリプションタイプごとのイベント(デベロッパーセンター) PureCloud Embeddable Frameworkドキュメントで。

注意:すべてのコールバックパラメータで説明PureCloud Embeddable Frameworkのドキュメントを追加ルート型とともに雷メッセージサービスのデータペイロードでご利用いただけます。下の表を参照 Sureforceの場合はPureCloudを使用したCommunicate

管理者は、統合が起動してイベントを待機するようにコールセンター設定を構成します。

統合を構成する

  1. コールセンターの設定でクライアントイベントメッセージタイプ、 選択する ライトニングメッセージチャネル

    この設定により、統合はメッセージチャネルでメッセージを送信します。

  2. (オプション)下 クライアントイベントタイプ、サブスクライブする他のイベント(Interaction、Notification、およびUserAction)を選択します。クリック 矢印  下に追加します 選ばれた
  3. (オプション)選択 チャット通知を展開 チャット通知イベントの拡張ペイロードを受信します。
  4. 保存するをクリックします。
注意:LightningアプリケーションにUtility項目としてLightingコンポーネントを追加する場合は、必ず選択してください。 自動的に起動。詳細については、 照明アプリにユーティリティバーを追加する Salesforceドキュメントにあります。

詳細については、 コールセンターの設定

Sureforceの場合はPureCloudを使用したCommunicate

次の表は、Salesforceクライアント用のPureCloudクライアントがlistenする使用可能なタイプの一覧です。これらのタイプは、Lightningメッセージサービスを通じて発生します。

注意:これらのタイプはPureCloud始まり、その後にテーブルの名前が続きます。たとえば、 PureCloud.User.updateStatus.
タイプ ボディ例 説明
ユーザー更新ステータス {
"タイプ": 「PureCloud.User.updateStatus」、
" ;データ" ;:{
「id」:「<status ID>」
}
}
アップデートユーザー ステータス 。リクエストでステータス IDを送信します。
インタラクション.アップデートステート {
"タイプ": 「PureCloud.Interaction.updateState」、
" ;データ" ;:{
" ;アクション" ;:“<action>”,
「id」:“<interaction ID>”
}
}

ターゲット対話の状態を更新します。

値: ピックアップ、切断、ホールド、ミュート、およびセキュア.

インタラクション.addカスタム属性
"タイプ": 「PureCloud.Interaction.addCustomAttributes」、
" ;データ" ;:{
「id」:“<targeted interaction>”,
"属性": {
「鍵」: 「価値」
}
}
}
インタラクションにカスタム属性を追加します。

メッセージチャネルを購読する

メッセージチャネルをサブスクライブするには、 PureCloud for Salesforce管理パッケージのバージョンX以降をインストールします。管理パッケージのこれらのバージョンには、 purecloud__ClientEvent__c すべてのメッセージを受信するチャネル。購読した後 purecloud__ClientEvent__c、 Salesforceはコールセンターの設定で選択されたイベントをリッスンしてSalesforceできます。

実装方法は、使用するコンポーネントによって異なります。次のコード例は、Lightning AuraコンポーネントでLMSを使用する方法を示しています。

でLightningメッセージを購読する purecloud__ClientEvent__c Auraコンポーネントのチャネル。

<lightning:messageChannel type="purecloud__ClientEvent__c" aura:id="clientEventMessageChannel" onMessage="{!c.onClientEvent}" scope="APPLICATION"/>

Lightningメッセージを受信するには、onClientEventを作成します。

({
    onClientEvent: function (component, message, helper) {
        var eventData = message.getParams();
        if (eventData) {
            if(eventData.type === 'Interaction' && eventData.data.id) {
		console.log(‘Interaction ID: ‘ + eventData.data.id);
            }
        }
    }
})

Lightningメッセージを送信するには、 PureCloud for Salesforceクライアントがリッスンするタイプを公開します。タイプのリストについては、 PureCloud for SalesforceとCommunicateする.

component.find('clientEventMessageChannel').publish({
    type: 'PureCloud.User.updateStatus',
    data: { id: status }
});

他の例については、 Lightningメッセージサービス[開発者プレビュー] Salesforce Developers Blogをご覧ください。

統合について詳しくは、以下を参照してください。 SalesforceのPureCloudについて