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.

ACW_COMPLETED

ACWが完了しました。

パラメーター

データ・タイプ 説明 メモ
理由 文字列 イベントのタイプ。
interactId 文字列 インタラクションのID。

{
    "reason": "acw_completed",
    "interactionId": "44560c74-5e84-4062-94b6-5680cdeb54d5" 
}

ACW_REQUIRED

ACWが必要です。

パラメーター

データ・タイプ 説明 メモ
理由 文字列 イベントのタイプ。
interactId 文字列 インタラクションのID。

{ 
    "reason": "acw_required",
    "interactionId": "44560c74-5e84-4062-94b6-5680cdeb54d5"
}

INTERACTION_EVENT

インタラクション状態変化。

パラメーター

データ・タイプ 説明 メモ
理由 文字列 アクションのタイプ。
データ オブジェクト 見る データオブジェクト.

データオブジェクト

アクションを定義します。

パラメーター

データ・タイプ 説明 メモ
カテゴリ 文字列 イベントのタイプ。 有効な値:変更、追加。
データ オブジェクト

{
    "reason": "interaction",
    "data": {
	"category": "change",
	"data": { }
    }
}

INTERACTION_CONNECTED

インタラクション接続されました。

パラメーター

データ・タイプ 説明 メモ
理由 文字列 イベントのタイプ。
interactId 文字列 インタラクションのID。

{
    "reason": "connected",
    "interactionId": “44560c74-5e84-4062-94b6-5680cdeb54d5″
}

INTERACTION_DISCONNECTED

対話が切断されました。

パラメーター

データ・タイプ 説明 メモ
理由 文字列 イベントのタイプ。
interactId 文字列 インタラクションのID。

{
    "reason": "disconnected",
    "interactionId": “44560c74-5e84-4062-94b6-5680cdeb54d5″
}

LOGGED_OUT

ユーザーがログアウトしました。

パラメーター

データ・タイプ 説明 メモ
理由 文字列 イベントのタイプ。

{
    "reason": "logged_out"
}

UPDATE_STATUS

ユーザーがログアウトしました。

パラメーター

データ・タイプ 説明 メモ
理由 文字列 イベントのタイプ。
ステータス 文字列 エージェントのステータス 。
id 文字列 選択したステータス ID(プライマリまたはセカンダリ)。
sub_status 文字列 エージェントのセカンダリステータス 。 統合は二次の状態を使用している場合は、 応答二含んステータス情報を。

{
    "reason": "status_updated",
    "status": "AVAILABLE",
    "id": "44560c74-5e84-4062-94b6-5680cdeb54d5",
    "sub_status":"Available Work At Home"
}

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

注意:これらのアクションは inin.salesforce.constants.consoleevent.、リストの名前が続きます。たとえば、 inin.salesforce.constants.consoleevent.changestatus.

カスタム属性の追加

インタラクションにカスタム属性を追加します。

パラメーター

データ・タイプ 説明 メモ
データ オブジェクト 見る データオブジェクト.

データオブジェクト

アクションを定義します。

パラメーター

データ・タイプ 説明 メモ
id 文字列 インタラクションのID。
属性 オブジェクト カスタムインタラクション属性のキーと値のペア。

{ 
    "data": {
        "id": "1234-1234-1234-1234",
        "attributes": {
            "record_url": "/0000413456"
        }
    }
}

状態を変える

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

パラメーター

データ・タイプ 説明 メモ
データ オブジェクト 見る データオブジェクト.

データオブジェクト

アクションを定義します。

パラメーター

データ・タイプ 説明 メモ
アクション 文字列 相互作用の望ましい状態。

値:ピックアップ、切断、保留、ミュート、securePause、blindTransfer、consultTransfer、concludeTransfer。

使用のみ concludeTransfer 転送用。

id 文字列 インタラクションのID。
参加者コンテキスト オブジェクト 見る participantContextオブジェクト. 使用のみ participantContext いつ アクション に設定されています blindTransfer または コンサルト転送.

参加者コンテキスト オブジェクト

転送を受信するエンティティを定義します。

パラメーター

データ・タイプ 説明 メモ
転送ターゲット 文字列 エージェントまたはキューのID、または外部転送の電話番号。
転送ターゲットタイプ 文字列 転送エンティティのタイプ。

値:userId、queueId、address。

使用する 住所 transferTargetの外部転送用の電話番号。

例 

{
    "data": {
        "action": "blindTransfer",
        "id": "1234-1234-1234-1234",
        "participantContext": {
            "transferTarget": "3175550123",
            "transferTargetType": "address"
        }
    }
}

ステータスを変更する

アップデートユーザー ステータス 。

パラメーター

データ・タイプ 説明 メモ
データ オブジェクト 見る データオブジェクト.

データオブジェクト

アクションを定義します。

パラメーター

データ・タイプ 説明 メモ
id 文字列 インタラクションのID。

例 

{
    "data": {
        "id": "1234-1234-1234-1234"
    }
}

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

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

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

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

可能な値:追加、変更、接続、切断、acw、deallocate、callbackPlaced、callbackCallEnded、blindTransfer、consultTransfer、completeConsultTransfer。

通知

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

可能な値:interactionSelection、chatUpdate、interactionWindow。

UserAction

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

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

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

注意:すべてのコールバックパラメータで説明PureCloud Embeddable Frameworkのドキュメントを追加ルート・タイプと一緒のpostMessageデータペイロードでご利用いただけます。を参照してください PureCloud for SalesforceとCommunicateする セクション。

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

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

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

  2. (オプション)下 クライアントイベントタイプ、サブスクライブする他のイベント(Interaction、Notification、およびUserAction)を選択します。クリック 矢印  下に追加します 選ばれた
  3. (オプション)選択 チャット通知を展開 チャット通知イベントの拡張ペイロードを受信します。
  4. クリック 保存する

注意:LightingコンポーネントをユーティリティアイテムとしてLightningアプリに追加する場合は、必ず選択してください自動的に開始. 詳細については、 照明アプリにユーティリティバーを追加する Salesforceドキュメントにあります。

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

PureCloud for Salesforceクライアントは、postMessage Web APIを介して発生する以下のアクションを公開します。

インタラクション.addカスタム属性

インタラクションにカスタム属性を追加します。

パラメーター

データ・タイプ 説明 メモ
タイプ 文字列 アクションのタイプ。 PureCloud 。 +アクション名。
データ オブジェクト 見る データオブジェクト.

データオブジェクト

アクションを定義します。

パラメーター

データ・タイプ 説明 メモ
id 文字列 インタラクションのID。
属性 オブジェクト カスタムインタラクション属性のキーと値のペア。

{
    "type": "PureCloud.interaction.addCustomAttributes", 
    "data": {
        "id": "1234-1234-1234-1234",
        "attributes": {
            "record_url": "/0000413456"
        }
    }
}

インタラクション.アップデートステート

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

パラメーター

データ・タイプ 説明 メモ
タイプ 文字列 アクションのタイプ。 PureCloud 。 +アクション名。
データ オブジェクト 見る データオブジェクト.

データオブジェクト

アクションを定義します。

パラメーター

データ・タイプ 説明 メモ
アクション 文字列 相互作用の望ましい状態。

値:ピックアップ、切断、保留、ミュート、securePause、blindTransfer、consultTransfer、concludeTransfer。

使用のみ concludeTransfer 転送用。

id 文字列 インタラクションのID。
参加者コンテキスト オブジェクト 見る participantContextオブジェクト. 使用のみ participantContext いつ アクション に設定されています blindTransfer または コンサルト転送.

参加者コンテキスト オブジェクト 

転送を受信するエンティティを定義します。

パラメーター

データ・タイプ 説明 メモ
転送ターゲット 文字列 エージェントまたはキューのID、または外部転送の電話番号。
転送ターゲットタイプ 文字列 転送エンティティのタイプ。

値:userId、queueId、address。

使用する 住所 外部転送用の電話番号 transferTarget.

例 

{
    "type": "PureCloud.interaction.updateState", 
    "data": {
        "action": "blindTransfer",
        "id": "1234-1234-1234-1234",
        "participantContext": {
            "transferTarget": "3175550123",
            "transferTargetType": "address"
        }
    }
}

ユーザー更新ステータス

アップデートユーザー ステータス 。

パラメーター

データ・タイプ 説明 メモ
タイプ 文字列 アクションのタイプ。 PureCloud 。 +アクション名。
データ オブジェクト 見る データオブジェクト.

データオブジェクト

アクションを定義します。

パラメーター

データ・タイプ 説明 メモ
id 文字列 インタラクションのID。

{
    "type": "PureCloud.user.updateStatus", 
    "data": {
        "id": "1234-1234-1234-1234"
    }
}

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、deallocate、callbackPlaced、callbackCallEnded、blindTransfer、consultTransfer、completeConsultTransfer。

通知

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

可能な値:interactionSelection、chatUpdate、interactionWindow。

UserAction

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

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

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

注意:すべてのコールバックパラメータで説明PureCloud Embeddable Framework追加ルート型とともに雷メッセージサービスのデータペイロードにドキュメントを利用できます。を参照してください PureCloud for SalesforceとCommunicateする セクション。

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

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

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

  2. (オプション)下 クライアントイベントタイプ、サブスクライブする他のイベント(Interaction、Notification、およびUserAction)を選択します。クリック 矢印  下に追加します 選ばれた
  3. (オプション)選択 チャット通知を展開 チャット通知イベントの拡張ペイロードを受信します。
  4. クリック 保存する

注意:LightingコンポーネントをユーティリティアイテムとしてLightningアプリに追加する場合は、必ず選択してください自動的に開始. 詳細については、 照明アプリにユーティリティバーを追加する Salesforceドキュメントにあります。

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

PureCloud for Salesforceクライアントは、Lightningメッセージサービスを通じて発生する以下のアクションを公開します。

インタラクション.addカスタム属性

インタラクションにカスタム属性を追加します。

パラメーター

データ・タイプ 説明 メモ
タイプ 文字列 アクションのタイプ。 PureCloud 。 +アクション名。
データ オブジェクト 見る データオブジェクト.

データオブジェクト

アクションを定義します。

パラメーター

データ・タイプ 説明 メモ
id 文字列 インタラクションのID。
属性 オブジェクト カスタムインタラクション属性のキーと値のペア。

{
    "type": "PureCloud.interaction.addCustomAttributes",
    "data": {
        "id": "1234-1234-1234-1234",
        "attributes": {
            "record_url": "/0000413456"
        }
    }
}

インタラクション.アップデートステート

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

パラメーター

データ・タイプ 説明 メモ
タイプ 文字列 アクションのタイプ。 PureCloud 。 +アクション名。
データ オブジェクト 見る データオブジェクト.

データオブジェクト

アクションを定義します。

パラメーター

データ・タイプ 説明 メモ
アクション 文字列 相互作用の望ましい状態。

値:ピックアップ、切断、保留、ミュート、securePause、blindTransfer、consultTransfer、concludeTransfer。

使用のみ concludeTransfer 転送用。

id 文字列 インタラクションのID。
参加者コンテキスト オブジェクト 見る participantContextオブジェクト. 使用のみ participantContext いつ アクション に設定されています blindTransfer または コンサルト転送.

参加者コンテキスト オブジェクト

転送を受信するエンティティを定義します。

パラメーター

データ・タイプ 説明 メモ
転送ターゲット 文字列 エージェントまたはキューのID、または外部転送の電話番号。
転送ターゲットタイプ 文字列 転送エンティティのタイプ。

値:userId、queueId、address。

使用する 住所 外部転送用の電話番号 transferTarget.

{
    "type": "PureCloud.interaction.updateState", 
    "data": {
        "action": "blindTransfer",
        "id": "1234-1234-1234-1234",
        "participantContext": {
            "transferTarget": "3175550123",
            "transferTargetType": "address"
         }
    }
}

ユーザー更新ステータス

アップデートユーザー ステータス 。

パラメーター

データ・タイプ 説明 メモ
タイプ 文字列 アクションのタイプ。 PureCloud 。 +アクション名。
データ オブジェクト 見る データオブジェクト.

データオブジェクト

アクションを定義します。

パラメーター

データ・タイプ 説明 メモ
id 文字列 ステータス ID。

{
    "type": "PureCloud.user.updateStatus",
    "data": {
        "id": "1234-1234-1234-1234"
    }
}

メッセージチャネルをサブスクライブするには、最新バージョンのPureCloud for Salesforce管理パッケージをインストールします。このバージョンの管理パッケージには、 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について