LANG SELRCT

Google Apps Scriptのコードを書く場所  (新規作成: スプレッドシート | スクリプトエディタ

2020年2月4日火曜日

Salesforce APIでCaseの情報を更新したい

今回やること

指定したCase IDの優先度を「高」に設定してみる
"Priority" : "高"


使うメソッドはPATCH
"method": "PATCH",


ここで使うCase IDとは

対象ケースを開いた時にアドレスバーのCase/の後に表示される文字列↓




事前準備

接続アプリケーションを作成して
アクセストークンなどのデータをスクリプトのプロパティに保存しておく

手順は以下のブログに書きました。

SalesforceでAPIを使うために接続アプリケーションを作成したい
Salesforceで接続アプリケーションを作成したい(Lightningの方で)



コード.gs
function patchData() {
  var options = {
    "method": "PATCH",
    "headers": {
      "Authorization": "Bearer " + getProp("access_token"),
      "Content-Type": "application/json"
    },
    "payload": createPayload()
  }
  
  var url = getProp("instance_url") + "/services/data/v47.0/sobjects/Case/5002w000002HSlkAAG";
  var response = UrlFetchApp.fetch(url, options);
  Logger.log(response);
}

function createPayload() {
  var obj = {
    "Priority" : "高"
  }
  var json = JSON.stringify(obj);
  return json;
}


patchData()を実行してみる。


実行前の優先度は「中」。


実行後の優先度は「高」に更新されました。


補足

PUTは使えないようです。

PUTで試したら以下のように405エラーが出ました。

{"errorCode":"METHOD_NOT_ALLOWED","message":"HTTP Method 'PUT' not allowed. Allowed are HEAD,GET,PATCH,DELETE"}


注意点

Salesforce側の設定によっては、他のフィールドも自動更新される可能性があるため、更新されたあとのケースが意図した通りに更新されているか検証は必要です。


関連記事

SalesforceでAPIを使うために接続アプリケーションを作成したい
Salesforceで接続アプリケーションを作成したい(Lightningの方で)


参考

サンプルコードを実行する
https://developer.salesforce.com/docs/atlas.ja-jp.222.0.api_rest.meta/api_rest/quickstart_code.htm

最新の投稿

JIRAのAutomation rulesでglobal ruleとmultiple projectsには実行Limitがあるらしい(スタンダードプラン)

JIRAのスタンダードプランの場合 Automation rulesのScopeの設定で、multi-project か global rule だと実行数のLimitにかかる可能性があります。 Single-project なら使用量にカウントされないようです。 Limitにか...