拡張ポイントを使用して画面ポップをカスタマイズします

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

拡張ポイントを使用して、Salesforce用Genesys Cloudの画面ポップの動作をカスタマイズできます。 拡張ポイントはSalesforce Apexプログラミング言語を使用します。 

メモ:   この高度なカスタマイズの記事は、Salesforceに精通している開発者を対象としています。

前提条件

  • [拡張ポイント設定] セクションを含む管理パッケージのバージョン。 詳細については、以下を参照してください。 拡張ポイントを構成する.

Salesforceで、を実装するApexクラスを使用して単一のApexファイルを作成します。 purecloud.CTIExtension.ScreenPop インターフェース。 Apexクラスをグローバルとして定義し、統合でコードを呼び出します。

purecloud.CTIExtension.ScreenPopインターフェース

メソッドの署名が含まれ、Salesforce用Genesys Cloudのスクリーンポップ機能をカスタマイズするために定義できます。

利用先

でメソッドシグネチャを使用する purecloud.CTIExtension.ScreenPop スクリーンポップ機能がどのように機能するかを定義するためのインターフェイス。

onScreenPopメソッド

画面ポップ ロジックを駆動するために使用されます。

このメソッドは、インバウンドアラートのやり取りのために呼び出されます。 オンスクリーンポップ は、アラートのやり取りごとにエージェントごとに1回だけ呼び出されます。 このメソッドは、デフォルトの画面ポップ動作を変更するデータを返すことができます。

Apexコードが例外をトリガーする場合、統合はデフォルトの画面ポップ動作を実行します。 値が返されない場合、統合は画面のポップ動作を抑制します。

入力プロパティ

以下のプロパティは、メソッドに渡されるJSONデータに含まれます。

名前 データ・タイプ    説明 メモ  
検索値 文字列  検索値。 値の例: 電子メールアドレス(チャットおよび電子メールのやり取り用)、電話番号(音声およびSMSのやり取り用)。
インタラクション オブジェクト インタラクション データを表すデータ オブジェクト。 詳細については、のデータオブジェクト形式を参照してください。 凝縮された会話情報

出力プロパティ

重要。   から返されたJSONデータでは、以下のプロパティの1つのみを使用します オンスクリーンポップ メソッド。
名前 データ・タイプ    説明 メモ  
URL 文字列  Salesforce内のページのURL。  標準のSalesforceページ、Visualforceページ、またはArchitectフローからデータが事前入力された新しいレコードページを指定できます。
検索値 文字列  Salesforceレコードで検索される値。 

ケース番号、電話番号、連絡先名、その他の項目を指定できます。 

詳細については、の「ソフトフォンレイアウト設定」セクションを参照してください。 Salesforce用Genesys Cloudの画面ポップ.

デフォルト画面ポップ ブール型 デフォルトの画面ポップ(真)を実行するか、デフォルトの画面ポップ(偽)を実行しません。

詳細については、の「デフォルトの画面ポップ動作」セクションを参照してください。 Salesforce用Genesys Cloudの画面ポップ.

詳細については、以下を参照してください。 Salesforce用Genesys Cloudの画面ポップ.

重要。  
  • Apexクラスをグローバルとして定義し、統合でコードを呼び出します。
  • 複数の拡張ポイント(またはインタフェース)を実装する場合は、それらをすべて同じApexファイルに配置します。
グローバルクラスMyCTIExtensionsはpurecloud.CTIExtension.ScreenPop {を実装します
public String onScreenPop(String data){
 // 例: 電話番号で最近のケースレコードを検索します。見つからない場合は、デフォルトの画面ポップ動作にフォールバックします。
        地図<String, Object=""> screenPopData =(マップ<String, Object="">)JSON.deserializeUntyped(data);
地図<String, Object=""> dataToReturn =新しいマップ<String, Object="">();
 String phoneNumber =(String)screenPopData.get( 'searchValue');
 if(String.isNotBlank(phoneNumber)){
リスト ケース= [SELECT Id FROM Case WHERE ContactPhone =: phoneNumber ORDER BY LastModifiedDate DESC LIMIT 1];
 if(cases.size()> 0){
 dataToReturn.put( 'url'、cases.get(0).Id);
 JSON.serialize(dataToReturn);を返します。
 }
 }
 dataToReturn.put( 'defaultScreenPop'、true);
 JSON.serialize(dataToReturn);を返します。
 }
 }

詳細については、以下を参照してください。 Salesforce用Genesys Cloudの拡張ポイント.

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