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

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 オブジェクトには以下が含まれます。
  • apexClass (文字列) — 実行するメソッドの Apex クラスを指定します。
  • methodName (文字列) — 実行するメソッドを指定します。
  • methodParams (文字列) — メソッドに渡すパラメータを指定します。文字列は、項目値のペアを含み、有効なクエリ文字列の形式にする必要があります。
    次に例を示します。
    1name=acme&phone=(212) 555-5555

    Apex メソッドがパラメータを取らない場合、methodParamsnone または空のオブジェクト {} として指定できます。

  • callback (関数) — メソッドの完了時にコールされる JavaScript メソッド。

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

  1. [設定] で、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}
  2. [設定] で、[WSDL からの生成] をクリックしてメソッドとクラスを公開し、サードパーティのソフトフォンからコールできるようにします。
  3. コードをソフトフォンに追加します。
    1<html>
    2<head>
    3   <script type="text/javascript" src="http://domain:port/support/api/39.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>
  4. 出力が返されます。ここでは、取引先 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 クラスからメソッドを実行した結果が含まれます。返される形式の指定はできません。形式は、実行したメソッドの値によって決定されます。次に例を示します。
1{"runApex":"[{\"attributes\":{\"type\":\"Account\",
2\"url\":\"/services/data/v39.0/sobjects/Account/
3001xx000003DGawAAG\"},\"Id\":\"001xx000003DGawAAG\",
4\"Name\":\"Acme\",\"Phone\":\"(212)555-5555\"}]"}
errors array API コールが正常に行われた場合、この変数は null になります。API コールが失敗した場合、この変数はエラーメッセージの配列を返します。