LANG SELRCT

Apps Script Reference  (Create: Create new Spreadsheet | Create new Apps Script

Tuesday, February 4, 2020

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

Latest post

スプレッドシートA列にある複数のテキストをスライドに追加したい(Google Apps Script)

今回Google Apps Scriptでやりたいこと GoogleスプレッドシートA列にある複数の値を取得して Googleスライドに渡して 図形オブジェクトのテキストとして追加したい ① スプレッドシートのA列に値を入れておく ② Code.gsのinsertNewShape...