この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Lightning Experience の searchAndScreenPop()

使用方法

特定の文字列に対してソフトフォンレイアウトで指定されたオブジェクトを検索します。検索結果を返し、一致するレコードが画面にポップされます。このメソッドは、ソフトフォンレイアウトで定義された画面ポップ設定を優先します。このメソッドは API バージョン 38.0 以降で使用できます。

Lightning Experience の searchAndScreenPop() メソッドは、Salesforce Classic のメソッドと動作が異なります。
  • Open CTI for Lightning Experience では、値が [新規のブラウザウィンドウまたはタブ] の場合、ソフトフォンレイアウト項目 [画面ポップの表示範囲] はサポートされません。Lightning Experience では、デフォルト値は [現在のブラウザウィンドウ] です。
  • Open CTI for Lightning Experience には、deferred という新しい引数があります。

searchAndGetScreenPopUrl() メソッドは、Open CTI API for Lightning Experience では使用できません。Lightning で同じ機能を実現するには、このメソッドで使用できる deferred パラメータを使用します。返されたオブジェクトから screenPop () メソッドに SCREEN_POP_DATA 内の値を渡します。

ヒント

ソフトフォンレイアウトのデフォルト設定で動作に矛盾がある場合には、ソフトフォンレイアウトを編集してキャッシュを強制的に更新します。[設定] からソフトフォンレイアウトを編集し、変更を保存します。次に、レイアウトをもう一度編集し、レイアウトをデフォルト設定にリセットします。

構文

1sforce.opencti.searchAndScreenPop({
2     searchParams:string //Optional 
3     queryParams:string, //Optional
4     callType:sforce.opencti.CALL_TYPE.*, //Required. See arguments for more information. 
5     deferred:boolean //Optional) 
6     callback:function //Optional
7});

引数

名前 説明
searchParams string 検索対象の文字列。
queryParams string URL に渡すクエリパラメータを指定します。画面ポップオプションが Pop to Visualforce に設定されている場合のみ、クエリパラメータが URL に渡されます。
callType string 着信、発信、内線、または null などの通話種別を指定します。通話種別は、ソフトフォンレイアウトでの設定ごとに、語句検索を行うオブジェクトを決定します。
次のいずれかの値によって通話種別を指定します。
  • sforce.opencti.CALL_TYPE.INBOUND
  • sforce.opencti.CALL_TYPE.OUTBOUND
  • sforce.opencti.CALL_TYPE.INTERNAL
deferred boolean 画面ポップが検索の直後に実行されるか後で実行されるかを指定します。画面ポップが後で実行される場合は、JSON オブジェクトが返されます。操作を実行するには、このオブジェクトを変更せずに sforce.opencti.screenPop に渡す必要があります。
  • False - デフォルト値。検索の実行直後に画面ポップが実行されることを示します。
  • True - SCREEN_POP_DATA キー内で JSON {object} が返されます。画面ポップを実行するには、このオブジェクトを変更せずに sforce.opencti.screenPop に返します。
callback function API メソッドコールが完了するとき��実行された JavaScript メソッド。

サンプルコード – HTML および JavaScript

1<html>
2<head>
3   <script type="text/javascript" src="http://domain:port/support/api/38.0/lightning/opencti_min.js"></script>
4   <script type="text/javascript">
5      	 var callback = function(response) {
6         if (response.success) {
7            console.log('API method call executed successfully! returnValue:', response.returnValue);
8         } else { 
9            console.error('Something went wrong! Errors:', response.errors);
10         }
11      	};
12       function searchAndScreenPop() {
13                //Invokes API method
14                sforce.opencti.searchAndScreenPop({ searchParams : 'Acme',queryParams : 'Key1=value1&Key2=value2', callType : sforce.opencti.CALL_TYPE.INBOUND,  deferred: false, callback : callback });
15        }
16    </script>
17</head>
18<body>
19    <button onclick="searchAndScreenPop();">searchAndScreenPop</button>
20</body>
21</html>

応答

名前 説明
success boolean API メソッドコールが正常に呼び出された場合は true、それ以外の場合は false が返されます。
returnValue object 検索結果に一致するオブジェクトのリストを返します。検索は、ソフトフォンレイアウトで指定されたオブジェクトで実行されます。検出されたオブジェクトごとに、オブジェクト ID、オブジェクトタブ名、項目名、および項目値が JSON オブジェクトとして返されます。
次に、「Acme」を検索し、1 つの取引先オブジェクトと 3 つの商談オブジェクトが検出された例を示します。
1{
2   "006x0000001ZcyG":{
3      "Name":"Acme - 600 Widgets",
4      "object":"Opportunity",
5      "displayName":"Opportunity"
6   },
7   "001x0000003DGQR":{
8      "Name":"Acme",
9      "Type":"Analyst",
10      "object":"Account",
11      "displayName":"Company"
12   },
13   "006x0000001ZcyH":{
14      "Name":"Acme - 200 Widgets",
15      "object":"Opportunity",
16      "displayName":"Opportunity"
17   },
18   "006x0000001ZcyF":{
19      "Name":"Acme - 1,200 Widgets",
20      "object":"Opportunity",
21      "displayName":"Opportunity"
22   }
23}
この API メソッドを deferred パラメータを指定して呼び出すと、画面は移動せずに次のサンプル出力が返されます。
1{
2   "006x0000001ZcyG":{
3      "Name":"Acme - 600 Widgets",
4      "object":"Opportunity",
5      "displayName":"Opportunity"
6   },
7  SCREEN_POP_DATA : {} //an object. Do not modify it. Pass it to screenPop() API to navigate.
8}
個人取引先でこの API メソッドを呼び出すと、追加情報が返されます。
  • accountId または contactId — 関連する取引先または取引先責任者の ID。
  • personAccount - 組織で個人取引先が有効になっている場合は true、それ以外の場合は false
次に例を示します。
1{  
2   "006x0000001ZcyG":{  
3      "RecordName":"Acme Person Account",
4      "RecordType":"Account",
5      "PersonContactId":"003D000000QOMqg",
6      "IsPersonAccount":true
7   }
8}
9{  
10   "url":"http://yourInstance.salesforce.com/001x0000003DGQR",
11   "RecordId":"001x0000003DGQR",
12   "RecordName":"Acme Person Account",
13   "RecordType":"Account",
14   "PersonContactId":"003D000000QOMqg",
15   "IsPersonAccount":true
16}
errors array API コールが正常に行われた場合、この変数は null になります。API コールが失敗した場合、この変数はエラーメッセージの配列を返します。