Salesforceのイベント

 メモ:   この記事は、Salesforce向けGenesys Cloudに適用されます。

あなたは火に統合を設定するかのいずれかでイベントをリッスンすることができます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が完了)
  • インタラクション状態の変更(ピックアップ、切断、ミュート、ホールド、セキュア一時停止、blindTransfer、consultTransfer、finishTransfer、secureSession)

開発者はこれらのイベントを使用するVisualforceページを作成できます。 コードの例については、以下を参照してください。 Salesforce Classic Consoleアプリのイベント (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)

ACWが必要です。

パラメーター

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

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

CLIENT_EVENT

クライアントイベント。

パラメーター

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

データオブジェクト

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

パラメーター

名前 データ・タイプ 説明 メモ  
カテゴリ 文字列  イベントのタイプ。

詳細については、以下を参照してください。 購読タイプごとのイベント (Genesys Cloud Developer Center)を参照してください。

データ オブジェクト

{
    "reason": "client",
    "data": {
        "type": "Notification",
        "category": "interactionSelection",
	"data": { }
    }
}

 

INTERACTION_EVENT

相互作用状態の変更。

パラメーター

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

データオブジェクト

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

パラメーター

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

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

INTERACTION_CONNECTED

相互作用がつながった。

パラメーター

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

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

インタラクションの切断

対話が切断されました。

パラメーター

名前 データ・タイプ 説明 メモ  
理由 文字列  イベントのタイプ。
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

アドアソシエーション

インタラクションログに新しい連絡先または関係の関連付けを追加します。

パラメーター

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

データオブジェクト

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

パラメーター

名前 データ・タイプ 説明 メモ  
type 文字列  協会の種類。

値: 接触と関係

Contact の値は、埋め込みクライアントインターフェースのインタラクションログビューのName メニューに、Relation の値はRelated To メニューに表示されます。

Note: Ensure that you associate contact value with WhoId and relation value with WhatId of the Task record in Salesforce. If you associate with incompatible record fields, then any requests to save call logs fail. For more information about Task record fields, see Salesforce documentation.

id 文字列  アソシエーションのID。
テキスト 文字列  アソシエーションの表示名。
選ぶ ブール型
  • を真に受ける。 統合は、すべてのアクティブなインタラクションに対して、アソシエーションを自動的に選択します。
  • を偽った。 統合は、すべてのアクティブなインタラクションに対してアソシエーションを自動選択するわけではありません。
interactId 文字列  アソシエーションを受信するインタラクションのID。  If select is set to true, the integration adds the association only to the interaction with this ID.

この例では、統合により、ID1234と表示名John Smithを持つ新しいコンタクトの関連付けがインタラクションに追加されます。

{ 
  "type": "PureCloud.addAssociation",  
  "data": { 
      "type": "contact", 
      "id": "1234", 
      "text": "John Smith"
   } 
}

カスタム属性の追加

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

パラメーター

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

データオブジェクト

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

パラメーター

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

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

状態を変える

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

パラメーター

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

データオブジェクト

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

パラメーター

名前 データ・タイプ 説明 メモ  
action 文字列  相互作用の望ましい状態。

値: 値:ピックアップ、切断、ホールド、ミュート、securePause、blindTransfer、consultTransfer、finishTransfer、secureSession。 

使用のみ 終了転送 相談の転送および セキュアセッション 安全なIVRフローを実現します。

id 文字列  インタラクションのID。
参加者コンテキスト オブジェクト 見る participantContextオブジェクト. 使用のみ 参加者コンテキスト いつ アクション は に設定されます ブラインド転送 または consultTransfer(コンサルテーション.
secureSessionContext (セキュアセッションコンテキスト) オブジェクト 参照 secureSessionContext オブジェクトsecureSessionContext object. 使用のみ secureSessionContext (セキュアセッションコンテキスト) いつ アクション は に設定されます セキュアセッション.

見る participantContextオブジェクト.

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

パラメーター

名前 データ・タイプ 説明 メモ  
転送先 文字列  外部転送のエージェントまたはキューのID、フロー名、フローID、または電話番号。

フロー名またはフロー ID に sip: のプレフィックスを付けます (例: sip:AuditorSecureFlow)。

特殊文字を encodeURIComponent() エンコードURIコンポーネント() メソッド。

transferTargetType 文字列  転送エンティティのタイプ。

値: userId、queueId、address。

使用 住所 フロー名、フローID、または外部転送用の電話番号 転送ターゲット.

secureSessionContext オブジェクトsecureSessionContext object

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

パラメーター

名前 データ・タイプ 必須またはオプション 説明 メモ  
フローID 文字列  必須 転送されたインタラクションを受信するセキュアフローの ID。
ユーザーデータ 文字列  必須 顧客が提供するデータ。

にマップします Flow.InvocationData 安全な流れの変数。

警告:  警告: セキュアまたはPCIデータを ユーザーデータ.

[切断] ブール型 任意 セキュアセッションの作成後にインタラクションを切断する (true)、またはセキュアセッションの作成後にインタラクションを切断しない (false)。

次の例は、エージェントまたはキューにコンサルテーションなしで転送されたインタラクションを示しています。

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

次の例は、安全なIVRフローに転送されたインタラクションを示しています。

{
    "data": {
        "action": "secureSession",
        "id": "1234-1234-1234-1234",
        "secureSessionContext": {
            "flowId": "741f4f39-7a94-470d-a1dd-dd68d01e0dd8",
            "userData": "hello",
            "disconnect": false
        }
    }
}

changestatus

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

パラメーター

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

データオブジェクト

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

パラメーター

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

 

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

createConference

複数のインタラクションから会議を作成します。

パラメーター

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

 

データオブジェクト

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

パラメーター

名前 データ・タイプ 説明 メモ  
InteractionIds 配列 会議に追加されたインタラクションIDのリスト。

 

{
    "data": {
        "interactionIds": [ 
            "9641cedc-4cc2-48e1-84f7-fc4xxxx513e8", 
            "5eafbfc4-6ff4-40e4-a2d7-dxxxxxxxx809", 
            "363ba2ca-xxxx-405e-bebe-fc59b1ae517b"  
         ]
    }
}

subscribe

クライアントイベントをサブスクライブします。

パラメーター

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

 

データオブジェクト

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

パラメーター

名前 データ・タイプ 説明 メモ  
type 文字列  サブスクライブするイベントのタイプ。 値: インタラクション、通知、UserAction。
カテゴリ 文字列の配列 通知を受け取る個々のカテゴリ。 値: 見る サブスクリプションタイプごとのイベント

サブスクリプションタイプごとのイベント

イベント 分類 データ
インタラクション データ タイプ: 文字列可能な値: 追加、変更、接続、切断、acw、割り当て解除、callbackPlaced、callbackCallEnded、blindTransfer、consultTransfer、またはcompleteConsultTransfer。 データ タイプ: オブジェクトまたはインタラクションID
通知 データ タイプ: 弦 可能な値: InteractionSelection、chatUpdate、interactionWindow、conversationTranscription。
UserAction データ タイプ: 弦 可能な値: ログイン、ログアウト、 ステーション 、 ステータス 、モーダル、routingStatus、またはビュー。 データ タイプ: オブジェクトルーティング

{
    "data": {
        "type": "Notification",
        "categories": ["interactionSelection", "chatUpdate", "interactionWindow", "conversationTranscription"]
    }
}

サブスクライブされたクライアントイベントのメッセージを受信する方法の詳細については、イベントのCLIENT_EVENTを参照してください。

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

コードの例については、以下を参照してください。 Salesforce Lightningアプリのイベント (GitHub)。

イベント名 説明
ハンドシェーク 次の場合: クライアントイベントを有効にする がコールセンター設定で選択されている場合、統合はクライアントがロードするたびにハンドシェイクイベントを生成します。 握手イベントは、LightningコンポーネントがイベントをGenesys Cloud for Salesforceクライアントに発射するために必要なコンテキストを提供します。
インタラクション

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

使用可能な値: 可能な値: add、change、connect、disconnect、accw、deallocate、callbackPlaced、callbackCallEnded、blindTransfer、consultTransfer、completeConsultTransfer、secureSession。

通知

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

使用可能な値: InteractionSelection、chatUpdate、interactionWindow、conversationTranscription、messageUpdate。

UserAction

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

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

詳細については、以下を参照してください。 購読タイプごとのイベント (Genesys Cloud Developer Center)を参照してください。

 メモ:   注記:Genesys Cloud Embeddable Frameworkマニュアルに記載されているすべてのコールバック・パラメータは、追加されたルート・タイプとともにpostMessageデータ・ペイロードで利用できます。 以下を参照してください。 Salesforce向けGenesys Cloudとの通信 セクション。

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

  1. Salesforceで、をクリックします セットアップ
  2. 検索する インストール済みパッケージ
  3. 下 造るクリック インストール済みパッケージ。
  4. インストール済みパッケージ ページをクリックし、 設定 [Genesys Cloud for Salesforce]パッケージの隣に表示されます。
  5. クライアントイベント設定、次の項目を構成します クライアントイベントメッセージ
  6. にとって クライアントイベントメッセージタイプ、 選択する Window.postMessage API

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

  7. (オプション) クライアントイベントタイプ、購読する他のイベント(Interaction、Notification、およびUserAction)を選択します。 クリック 矢印  下に追加するには 選択.
  8. (オプション)選択 チャット通知を展開 チャット通知イベント用の拡張ペイロードを受信します。
  9. 保存するをクリックします。

 メモ:   LightningアプリケーションにUtility項目としてLightingコンポーネントを追加する場合は、必ず選択してください。 自動的に起動。 詳細については、 照明アプリにユーティリティバーを追加する Salesforceドキュメントにあります。

詳細については、以下を参照してください。 新しいチケットを設定する.

Salesforceクライアント用Genesys Cloudは、postMessage Web APIを通じて生成された次のアクションを公開します。

アドアソシエーション

インタラクションログに新しい連絡先または関係の関連付けを追加します。

パラメーター

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

データオブジェクト

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

パラメーター

名前 データ・タイプ 説明 メモ  
type 文字列  協会の種類。

値: 接触と関係

Contact の値は、埋め込みクライアントインターフェースのインタラクションログビューのName メニューに、Relation の値はRelated To メニューに表示されます。

Note: Ensure that you associate contact value with WhoId and relation value with WhatId of the Task record in Salesforce. If you associate with incompatible record fields, then any requests to save call logs fail. For more information about Task record fields, see Salesforce documentation.

id 文字列  アソシエーションのID。
テキスト 文字列  アソシエーションの表示名。
選ぶ ブール型
  • を真に受ける。 統合は、すべてのアクティブなインタラクションに対して、アソシエーションを自動的に選択します。
  • を偽った。 統合は、すべてのアクティブなインタラクションに対してアソシエーションを自動選択するわけではありません。
interactId 文字列  アソシエーションを受信するインタラクションのID。  If select is set to true, the integration adds the association only to the interaction with this ID.

この例では、統合により、ID1234と表示名John Smithを持つ新しいコンタクトの関連付けがインタラクションに追加されます。

{ 
  "type": "PureCloud.addAssociation",  
  "data": { 
      "type": "contact", 
      "id": "1234", 
      "text": "John Smith"
   } 
}

Interaction.addCustomAttributes

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

パラメーター

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

データオブジェクト

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

パラメーター

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

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

Interaction.createConference

複数のインタラクションから会議を作成します。

パラメーター

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

データオブジェクト

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

パラメーター

名前 データ・タイプ 説明 メモ  
InteractionIds 配列 会議に追加されたインタラクションIDのリスト。

{
    "type": "PureCloud.Interaction.createConference", 
    "data": {
        "interactionIds": [
            "9641cedc-4cc2-48e1-84f7-fc4xxxx513e8",
            "5eafbfc4-6ff4-40e4-a2d7-dxxxxxxxx809", 
            "363ba2ca-xxxx-405e-bebe-fc59b1ae517b"
         ]
    }
}

Interaction.updateState

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

パラメーター

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

データオブジェクト

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

パラメーター

名前 データ・タイプ 説明 メモ  
action 文字列  相互作用の望ましい状態。

値: 値:ピックアップ、切断、ホールド、ミュート、securePause、blindTransfer、consultTransfer、finishTransfer、secureSession。 

使用のみ 終了転送 相談の転送および セキュアセッション 安全なIVRフローを実現します。

id 文字列  インタラクションのID。
参加者コンテキスト オブジェクト 見る participantContextオブジェクト. 使用のみ 参加者コンテキスト いつ アクション は に設定されます ブラインド転送 または consultTransfer(コンサルテーション.
secureSessionContext (セキュアセッションコンテキスト) オブジェクト 参照 secureSessionContext オブジェクトsecureSessionContext object. 使用のみ secureSessionContext (セキュアセッションコンテキスト) いつ アクション は に設定されます セキュアセッション.

見る participantContextオブジェクト.

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

パラメーター

名前 データ・タイプ 説明 メモ  
転送先 文字列  外部転送のエージェントまたはキューのID、フロー名、フローID、または電話番号。

フロー名またはフロー ID に sip: のプレフィックスを付けます (例: sip:AuditorSecureFlow)。

特殊文字を encodeURIComponent() エンコードURIコンポーネント() メソッド。

transferTargetType 文字列  転送エンティティのタイプ。

値: userId、queueId、address。

使用 住所 フロー名、フローID、または外部転送用の電話番号 転送ターゲット.

secureSessionContext オブジェクトsecureSessionContext object

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

パラメーター

名前 データ・タイプ 必須またはオプション 説明 メモ  
フローID 文字列  必須 転送されたインタラクションを受信するセキュアフローの ID。
ユーザーデータ 文字列  必須 顧客が提供するデータ。

にマップします Flow.InvocationData 安全な流れの変数。

警告:  警告: セキュアまたはPCIデータを ユーザーデータ.

[切断] ブール型 任意 セキュアセッションの作成後にインタラクションを切断する (true)、またはセキュアセッションの作成後にインタラクションを切断しない (false)。

次の例は、エージェントまたはキューにコンサルテーションなしで転送されたインタラクションを示しています。

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

次の例は、安全なIVRフローに転送されたインタラクションを示しています。

{
    "type": "PureCloud.Interaction.updateState", 
    "data": {
        "action": "secureSession",
        "id": "1234-1234-1234-1234",
        "secureSessionContext": {
            "flowId": "741f4f39-7a94-470d-a1dd-dd68d01e0dd8",
            "userData": "hello",
            "disconnect": false,
        }
    }
}

User.updateStatus

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

パラメーター

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

データオブジェクト

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

パラメーター

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

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

subscribe

クライアントイベントをサブスクライブします。

パラメーター

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

データオブジェクト

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

パラメーター

名前 データ・タイプ 説明 メモ  
type 文字列  サブスクライブするイベントのタイプ。 値: インタラクション、通知、UserAction。
カテゴリ 文字列の配列 通知を受け取る個々のカテゴリ。 値: 見る サブスクリプションタイプごとのイベント

 

サブスクリプションタイプごとのイベント

イベント 分類 データ
インタラクション データ タイプ: 文字列 
使用可能な値: 追加、変更、接続、切断、acw、割り当て解除、callbackPlaced、callbackCallEnded、blindTransfer、consultTransfer、またはcompleteConsultTransfer。
データ タイプ: オブジェクトまたはインタラクションID
通知 データ タイプ: 文字列
使用可能な値: InteractionSelection、chatUpdate、interactionWindow、conversationTranscription。
UserAction データ タイプ: 文字列 
使用可能な値: ログイン、ログアウト、 ステーション 、 ステータス 、モーダル、routingStatus、またはビュー。
データ タイプ: オブジェクトルーティング

{
 "type": "PureCloud.subscribe",
 "data": {
     "type": "Notification",
     "categories": ["interactionSelection", "chatUpdate", "interactionWindow", "conversationTranscription"]
  }
}

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

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

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

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

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

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

    source.postMessage({
        type: 'PureCloud.User.updateStatus',
        data: { id: status },
    }
  3. 管理者がInteraction、Notification、またはUserActionsイベントを発生させるように統合を設定した場合は、JavaScriptファイルでこれらのイベントを購読します。

    詳細については、 購読 メソッドを Genesysクラウド組み込み可能フレームワーク ドキュメンテーション(Genesys Cloud Developer Center)。

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

コードの例については、以下を参照してください。 Salesforce Lightningアプリのイベント (GitHub)。


イベント名 説明
InitialSetup

Genesys Cloud forSalesforceクライアントがリクエストを処理する準備ができていることを示します。 このイベントは、Lightningコンポーネントがクライアントイベントをサブスクライブできることを示します。

インタラクション

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

使用可能な値: 可能な値: add、change、connect、disconnect、accw、deallocate、callbackPlaced、callbackCallEnded、blindTransfer、consultTransfer、completeConsultTransfer、secureSession。

通知

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

使用可能な値: InteractionSelection、chatUpdate、interactionWindow、conversationTranscription、messageUpdate。

UserAction

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

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

詳細については、以下を参照してください。 購読タイプごとのイベント (Genesys Cloud Developer Center)を参照してください。

 メモ:   注記:Genesys Cloud Embedable Frameworkマニュアルに記載されているすべてのコールバックパラメータは、追加されたルートタイプとともにLightning Message Serviceデータペイロードで利用できます。 以下を参照してください。 Salesforce向けGenesys Cloudとの通信 セクション。

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

  1. Salesforceで、をクリックします セットアップ
  2. 検索する インストール済みパッケージ
  3. 下 造るクリック インストール済みパッケージ。
  4. インストール済みパッケージ ページをクリックし、 設定 [Genesys Cloud for Salesforce]パッケージの隣に表示されます。
  5. クライアントイベント設定、次の項目を構成します クライアントイベントメッセージ
  6. にとって クライアントイベントメッセージタイプ、 選択する ライトニングメッセージチャネル。 

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

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

 メモ:   LightningアプリケーションにUtility項目としてLightingコンポーネントを追加する場合は、必ず選択してください。 自動的に起動。 詳細については、 照明アプリにユーティリティバーを追加する Salesforceドキュメントにあります。

詳細については、以下を参照してください。 新しいチケットを設定する.

Salesforceクライアント用Genesys Cloudは、Lightning Message Serviceから提起された次のアクションを公開します。

アドアソシエーション

インタラクションログに新しい連絡先または関係の関連付けを追加します。

パラメーター

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

データオブジェクト

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

パラメーター

名前 データ・タイプ 説明 メモ  
type 文字列  協会の種類。

値: 接触と関係

Contact の値は、埋め込みクライアントインターフェースのインタラクションログビューのName メニューに、Relation の値はRelated To メニューに表示されます。

Note: Ensure that you associate contact value with WhoId and relation value with WhatId of the Task record in Salesforce. If you associate with incompatible record fields, then any requests to save call logs fail. For more information about Task record fields, see Salesforce documentation.

id 文字列  アソシエーションのID。
テキスト 文字列  アソシエーションの表示名。
選ぶ ブール型
  • を真に受ける。 統合は、すべてのアクティブなインタラクションに対して、アソシエーションを自動的に選択します。
  • を偽った。 統合は、すべてのアクティブなインタラクションに対してアソシエーションを自動選択するわけではありません。
interactId 文字列  アソシエーションを受信するインタラクションのID。  If select is set to true, the integration adds the association only to the interaction with this ID.

この例では、統合により、ID1234と表示名John Smithを持つ新しいコンタクトの関連付けがインタラクションに追加されます。

{ 
  "type": "PureCloud.addAssociation",  
  "data": { 
      "type": "contact", 
      "id": "1234", 
      "text": "John Smith"
   } 
}

Interaction.addCustomAttributes

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

パラメーター

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

データオブジェクト

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

パラメーター

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

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

Interaction.createConference

複数のインタラクションから会議を作成します。

パラメーター

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

データオブジェクト

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

パラメーター

名前 データ・タイプ 説明 メモ  
InteractionIds 配列 会議に追加されたインタラクションIDのリスト。

{
    "type": "PureCloud.Interaction.createConference", 
    "data": {
        "interactionIds": [
            "9641xxxx-4bb2-xxxx-84f7-xxxxxx8513e8",
            "5eafbfc4-6ff4-xxxx-a2d7-d23c1abbd809", 
            "363ba2ca-xxxx-405e-bebe-fc59xxxxx17b"
         ]
    }
}

Interaction.updateState

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

パラメーター

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

データオブジェクト

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

パラメーター

名前 データ・タイプ 説明 メモ  
action 文字列  相互作用の望ましい状態。

値: 値:ピックアップ、切断、ホールド、ミュート、securePause、blindTransfer、consultTransfer、finishTransfer、secureSession。 

使用のみ 終了転送 相談の転送および セキュアセッション 安全なIVRフローを実現します。

id 文字列  インタラクションのID。
参加者コンテキスト オブジェクト 見る participantContextオブジェクト. 使用のみ 参加者コンテキスト いつ アクション は に設定されます ブラインド転送 または consultTransfer(コンサルテーション.
secureSessionContext (セキュアセッションコンテキスト) オブジェクト 参照 secureSessionContext オブジェクトsecureSessionContext object. 使用のみ secureSessionContext (セキュアセッションコンテキスト) いつ アクション は に設定されます セキュアセッション.

見る participantContextオブジェクト.

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

パラメーター

名前 データ・タイプ 説明 メモ  
転送先 文字列  外部転送のエージェントまたはキューのID、フロー名、フローID、または電話番号。

フロー名またはフロー ID に sip: のプレフィックスを付けます (例: sip:AuditorSecureFlow)。

特殊文字を encodeURIComponent() エンコードURIコンポーネント() メソッド。

transferTargetType 文字列  転送エンティティのタイプ。

値: userId、queueId、address。

使用 住所 フロー名、フローID、または外部転送用の電話番号 転送ターゲット.

secureSessionContext オブジェクトsecureSessionContext object

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

パラメーター

名前 データ・タイプ 必須またはオプション 説明 メモ  
フローID 文字列  必須 転送されたインタラクションを受信するセキュアフローの ID。
ユーザーデータ 文字列  必須 顧客が提供するデータ。

にマップします Flow.InvocationData 安全な流れの変数。

警告:  警告: セキュアまたはPCIデータを ユーザーデータ.

[切断] ブール型 任意 セキュアセッションの作成後にインタラクションを切断する (true)、またはセキュアセッションの作成後にインタラクションを切断しない (false)。

次の例は、エージェントまたはキューにコンサルテーションなしで転送されたインタラクションを示しています。

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

次の例は、安全なIVRフローに転送されたインタラクションを示しています。

{
    "type": "PureCloud.interaction.updateState", 
    "data": {
        "action": "secureSession",
        "id": "1234-1234-1234-1234",
        "secureSessionContext": {
            "flowId": "741f4f39-7a94-470d-a1dd-dd68d01e0dd8",
            "userData": "hello",
            "disconnect": false,
        }
    }
}

User.updateStatus

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

パラメーター

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

データオブジェクト

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

パラメーター

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

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

subscribe

クライアントイベントをサブスクライブします。

パラメーター

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

データオブジェクト

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

パラメーター

名前 データ・タイプ 説明 メモ  
type 文字列  サブスクライブするイベントのタイプ。 値: インタラクション、通知、UserAction。
カテゴリ 文字列の配列 通知を受け取る個々のカテゴリ。 値: 見る サブスクリプションタイプごとのイベント

 

サブスクリプションタイプごとのイベント

イベント 分類 データ
インタラクション データ タイプ: 文字列 
使用可能な値: 追加、変更、接続、切断、acw、割り当て解除、callbackPlaced、callbackCallEnded、blindTransfer、consultTransfer、またはcompleteConsultTransfer。
データ タイプ: オブジェクトまたはインタラクションID
通知 データ タイプ: 文字列
使用可能な値: InteractionSelection、chatUpdate、interactionWindow、conversationTranscription。
UserAction データ タイプ: 文字列 
使用可能な値: ログイン、ログアウト、 ステーション 、 ステータス 、モーダル、routingStatus、またはビュー。
データ タイプ: オブジェクトルーティング

{
 "type": "PureCloud.subscribe",
 "data": {
     "type": "Notification",
     "categories": ["interactionSelection", "chatUpdate", "interactionWindow", "conversationTranscription"]
  }
}

メッセージチャネルをサブスクライブするには、 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メッセージを送信するには、Salesforceクライアント用Genesys Cloudがリッスンするイベントを公開します。 イベントのリストについては、 Salesforce向けGenesys Cloudとの通信 セクション。

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

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

統合の詳細については、以下を参照してください。Salesforce向けGenesys Cloudについて.