Lightning Experience の runApex()
使用方法
Salesforce で公開された Apex クラスから Apex メソッドを実行します。このメソッドは API バージョン 38.0 以降で使用できます。
構文
1sforce.opencti.runApex({
2 apexClass:string,
3 methodName:string,
4 methodParams:string,
5 callback:function //Optional
6})引数
| 名前 | 型 | 説明 |
|---|---|---|
| args | object | JavaScript オブジェクトには以下が含まれます。
|
サンプルコード – HTML および JavaScript
- [設定] で、Apex クラスと Apex メソッドを作成します。
1global class AccountRetrieval{ 2 3webService static String getAccount(String name) { 4 List<Account> accounts = new List<Account>(); 5 for (Account account : Database.query('Select Id, Name, phone from Account where Name like \'' + name + '%\'')){ 6 accounts.add(account); 7 } 8 String JSONString = JSON.serialize(accounts); 9 return JSONString; 10 } 11} - [設定] で、[WSDL からの生成] をクリックしてメソッドとクラスを公開し、サードパーティのソフトフォンからコールできるようにします。
- コードをソフトフォンに追加します。
1<html> 2<head> 3 <script type="text/javascript" src="http://domain:port/support/api/50.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 runApex() { 13 var param = {apexClass: 'AccountRetrieval', methodName: 'getAccount', methodParams: 'name=acme'}; 14 param.callback = callback; 15 //Invokes API method 16 sforce.opencti.runApex(param); 17 } 18 </script> 19</head> 20<body> 21 <button onclick="runApex();">runApex</button> 22</body> 23</html> - 出力が返されます。ここでは、取引先 Acme が見つかりました。
1{ 2 "success": true, 3 "returnValue": { 4 "runApex": "[{\"attributes\":{\"type\":\"Account\",\"url\":\"/services/data/v38.0/sobjects/Account 5/001xx000003DGawAAG\"},\"Id\":\"001xx000003DGawAAG\",\"Name\":\"Acme\",\"Phone\":\"(212) 555-5555\"}]" 6 }, 7 "errors": null 8}
応答
| 名前 | 型 | 説明 |
|---|---|---|
| success | boolean | API メソッドコールが正常に呼び出された場合は true、それ以外の場合は false が返されます。 |
| returnValue | object | JavaScript オブジェクトには、指定された Apex クラスからメソッドを���行した結果が含まれます。返される形式の指定はできません。形式は、実行したメソッドの値によって決定されます。次に例を示します。 |
| errors | array | API コールが正常に行われた場合、この変数は null になります。API コールが失敗した場合、この変数はエラーメッセージの配列を返します。 |