この文章は 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 Experience で同じ機能を実現するには、このメソッドで使用できる deferred パラメータを使用します。返されたオブジェクトから screenPop () メソッドに SCREEN_POP_DATA 内の値を渡します。

ヒント

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

構文

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

引数

名前 説明
searchParams string 検索対象の文字列。
queryParams string URL に渡すクエリパラメータを指定します。画面ポップオプションが Pop to Visualforce に設定されている場合のみ、クエリパラメータが URL に渡されます。
params object フローに渡す引数を指定します。flowArgs は、フローに渡される引数に関する情報を含むキー - 値ペアによるオブジェクトのリストです。引数は、指定された名前の入力変数とフローで定義された種別に対応する必要があります。対応しない場合、引数は無視されます。

params: { FLOW: { flowArgs: [{ 'name': 'Your_Name', 'type': 'Your_Type', 'value': 'Your_Value'}] } }

この引数は、フローでのみ使用できます。フローの引数についての詳細は、『メタデータ API 開発者ガイド』のフローに関するトピックで FlowVariable を参照してください。

重要

defaultFieldsValue object 省略可能。(着信通話の) 検索結果がない場合にソフトフォンを新しいエンティティにポップするように設定する場合、この引数を使用して画面ポップのデフォルト項目を指定できます。たとえば、新しいエンティティの画面ポップが開いたときに、指定された項目が事前に設定されます。
1{  searchParams: 'searchTermWithEmptyResults',
2    callType: 'inbound',
3    defaultFieldValues: {LastName : 'searchAndScreenPopLastName'},
4    deferred: false,
5    callback: function(result) {
6        if (result.success) {
7            console.log(result.returnValue);
8        } else {
9            console.log(result.errors);
10        }
11    }
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 — デフォルト値。検索の実行直後に画面ポップが実行されることを示します。
  • TrueSCREEN_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/54.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    "Id": "006x0000001ZcyG"
4    "LastModifiedDate": "2017-10-24T18:42:39.000Z", 
5    "Name":"Acme - 600 Widgets",
6    "RecordType":"Opportunity"
7   },
8   "001x0000003DGQR":{
9      "Name":"Acme",
10      "Type":"Analyst",
11      "object":"Account",
12      "displayName":"Company"
13   },
14   "006x0000001ZcyH":{
15      "Id": "006x0000001ZcyH"
16      "LastModifiedDate": "2017-10-24T18:42:39.000Z", 
17      "Name":"Acme - 200 Widgets",
18      "RecordType":"Opportunity"
19   },
20   "006x0000001ZcyF":{
21      "Id": "006x0000001ZcyF"
22      "LastModifiedDate": "2017-10-24T18:42:39.000Z",
23      "Name":"Acme - 1,200 Widgets",
24      "RecordType":"Opportunity"
25   }
26}
この API メソッドを deferred パラメータを指定して呼び出すと、画面は移動せずに次のサンプル出力が返されます。
1{
2   "006x0000001ZcyG":{
3       "Id": "006x0000001ZcyG"
4       "LastModifiedDate": "2017-10-24T18:42:39.000Z",
5       "Name":"Acme - 600 Widgets",
6       "RecordType":"Opportunity"
7   },
8  SCREEN_POP_DATA : {} //an object. Do not modify it. Pass it to screenPop() API to navigate.
9}
取引先または取引先責任者オブジェクトでこの API メソッドを呼び出すと、追加情報が返されます。
  • AccountId または PersonContactId — 関連する取引先または取引先責任者の ID。
  • IsPersonAccount — 取引先または取引先責任者が個人取引先の場合は true、そうでない場合は false
次に例を示します。
1{  
2   "006x0000001ZcyG":{
3       "Id": "006x0000001ZcyG"
4       "IsPersonAccount": true,
5       "LastModifiedDate": "2017-11-15T00:10:47.000Z",
6      "Name":"Acme Person Account",
7    "PersonContactId" : "003D000000QOMqg",
8      "RecordType":"Account"
9   }
10}
errors array API コールが正常に行われた場合、この変数は null になります。API コールが失敗した場合、この変数はエラーメッセージの配列を返します。