Salesforce 拡張機能

<ph type="x-smartling-placeholder"></ph> 現在、Apigee Edge のドキュメントが表示されています。
Apigee X のドキュメント
詳細

<ph type="x-smartling-placeholder">

バージョン: 1.0.2

Salesforce アカウントのデータにアクセスします。データを挿入、更新、取得、クエリします。

ここでは、この拡張機能を構成して使用するためのリファレンスを提供します。

前提条件

ここでは、この拡張機能を構成して使用するためのリファレンスを提供します。ExtensionCallout ポリシーを使用して API プロキシから拡張機能を使用する前に、次のことを行う必要があります。

  1. RSA x509 秘密鍵と証明書のペアを作成します。

    拡張機能の構成時に認証情報として秘密鍵(.key)を使用します。拡張機能に Salesforce へのアクセス権を付与する接続アプリを作成するときに、証明書(.crt)ファイルを使用します。

    openssl req -x509 -sha256 -nodes -days 36500 -newkey rsa:2048 -keyout salesforce.key -out salesforce.crt
    
    
  2. 接続されているアプリを設定します。

    Salesforce 接続アプリは Salesforce 拡張機能へのアクセスを提供します。アプリを設定するには、以下の手順をご覧ください。

  3. 接続されているアプリのコンシューマ キーを取得します。拡張機能はアプリでの認証時にこれを使用します。

    1. Salesforce の設定の左側のナビゲーションで、[アプリ] >アプリ マネージャー
    2. リストで、作成した接続アプリを見つけます。
    3. アプリケーションの行の右側にあるプルダウンから [View] をクリックします。
    4. [API (Enable OAuth Settings)] で [Consumer Key] を探し、その値を安全な場所にコピーします。これは、拡張機能の構成時に使用できます。

拡張機能によるアクセス用に接続済みアプリを設定する

Salesforce 拡張機能が Salesforce にアクセスできるようにするには、その拡張機能と Salesforce との接続を可能にする Salesforce 接続アプリを作成する必要があります。

Salesforce の接続アプリケーションは、外部アプリケーションが API を介して Salesforce に接続するための手段です。

接続されているアプリを設定するには

  1. Salesforce にログインします。
  2. 右上の歯車アイコンをクリックしてから [Setup] をクリックします。
  3. 左側のナビゲーションで [アプリ] >アプリ マネージャー
  4. [App Manager] ページで [New Connected App] をクリックします。
  5. [Basic Information] で、必須フィールドに入力します。値は簿記に関するものです。拡張機能では使用されません。
  6. [API (Enable OAuth Settings)] で [Enable OAuth Settings] チェックボックスを選択します。
  7. 拡張機能で使用されていませんが、[Callback URL] を入力します。http://localhost/ または他のプレースホルダ ホストを使用できます。
  8. [Use digital signatures] チェックボックスを選択します。
  9. [Use digital signatures] で [Choose File] をクリックし、先に作成した salesforce.crt を見つけてアップロードします。
  10. [Selected OAuth Scopes] で以下を追加し、[Selected OAuth Scopes] に追加します。 <ph type="x-smartling-placeholder">
      </ph>
    • データ(api)にアクセスして管理する
    • リクエストを随時自動的に実行する(refresh_token、offline_access)
  11. [保存] をクリックします。エラーがある場合は、salesforce.crt ファイルを再生成してアップロードする必要がある場合があります。
  12. 作成されたアプリケーションのページで [Manage] をクリックします。
  13. 作成したアプリの [App Manager] ページで、[Edit Policies] をクリックします。
  14. [OAuth policies] で [Permitted Users] プルダウンをクリックし、[Admin approved users are pre-authorized] をクリックします。
  15. [保存] をクリックします。
  16. アプリケーションのページに戻り、[Profiles] の下の [Manage Profiles] をクリックします。
  17. [Application Profile Assignment] ページで、このアプリケーションを使用できるユーザー プロファイルのチェックボックスをオンにします。

    拡張機能の構成時に使用するユーザー名のユーザーに対応するプロファイルを選択してください。また、少なくともシステム管理者ユーザーがこのアプリケーションにアクセスできることを確認してください。

    Salesforce 内のユーザーのプロファイル設定を確認できます。[設定] 領域で、[ユーザー >Users は、拡張機能が表すユーザーを見つけ、[Profile] 列でユーザーのプロファイルを見つけます。

  18. [保存] をクリックします。

Salesforce について

Salesforce は顧客管理(CRM)プラットフォームです。顧客管理は、企業が顧客の顧客を理解するのに役立ちます。顧客情報ややり取りをより適切に管理することで、あらゆるニーズや問題を解決できます。これらはすべて、どのパソコンやデバイスからでも常にアクセスできる単一のプラットフォーム上で行えます。

操作

<ph type="x-smartling-placeholder">

挿入

レコードを sObject タイプとして挿入します。

構文

<Action>insert</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "records":[ records-to-insert ],
  "allOrNone": true | false
}]]></Input>

<Action>insert</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "records":[
    { "Name": "MyAccountName" }
  ],
  "allOrNone": true
}]]></Input>

リクエスト パラメータ

パラメータ 説明 デフォルト 必須
スオブジェクト 挿入するレコードの sObject タイプ 文字列 なし。 はい。
records JSON 形式の sObject レコードの配列。最大数: 1,000。 配列 なし。 はい。
allOrNone true: アップデートの一部が失敗した場合に、アップデート全体を失敗させます。 ブール値 false いいえ。

レスポンス

挿入オペレーションの結果を含む results 配列。

{
  results: [
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
プロパティ 説明 デフォルト 必須
results[*].id 新しいレコード用に生成された sObject ID。 文字列 なし。 はい。
results[*].success レコードの挿入が成功した場合は true ブール値 なし。 はい。
results[*].errors 実行中にキャッチされたエラーの配列(ある場合)。 配列 なし。 はい。

update

Salesforce レコードを更新します。

構文

<Action>update</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "records": [ records-to-update ],
  "allOrNone": true | false
}]]></Input>

<Action>update</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "records":[
    { 
      "id":"0011U00000LQ76KQAT",
      "Name": "MyNewAccountName" 
    }
  ],
  "allOrNone": true
}]]></Input>

リクエスト パラメータ

パラメータ 説明 デフォルト 必須
スオブジェクト 更新するレコードの sObject タイプ 文字列 なし。 はい。
records JSON 形式の sObject レコードの配列。更新する各レコードには、レコードの ID 値を含める必要があります。最大数: 1,000。 配列 なし。 はい。
allOrNone true: アップデートの一部が失敗した場合に、アップデート全体を失敗させます。 ブール値 false いいえ。

レスポンス

更新の結果を含む results 配列。

{
  results: [
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
パラメータ 説明 デフォルト 必須
results[*].id 更新されたレコード用に生成された sObject ID。 文字列 なし。 はい。
results[*].success レコードの挿入が成功した場合は true ブール値 なし。 はい。
results[*].errors 実行中にキャッチされたエラーの配列(ある場合)。 配列 なし。 はい。

retrieve

ID により、レコードを sObject として取得します。sObject タイプのすべてのフィールドを返します。

構文

<Action>retrieve</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "ids":[ IDs-of-records-to-retrieve ]
}]]></Input>

<Action>retrieve</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "ids":["0011U00000LQ76KQAT"]
}]]></Input>

リクエスト パラメータ

パラメータ 説明 デフォルト 必須
スオブジェクト 取得するレコードの sObject タイプ 文字列 なし。 はい。
ids 取得する sObject ID レコードの配列。最大数: 1,000。 配列 なし。 はい。
allOrNone true: リクエストの一部が失敗した場合にオペレーション全体を失敗させます。 ブール値 false いいえ。

レスポンス

JSON として表される sObject の records 配列。プロパティ値が null であっても、オブジェクトのすべてのプロパティが JSON に含まれていることに注意してください。

{
  records: [
    { sobject-json },
    { sobject-json }
  ]
}

querySOQL

Salesforce Object Query Language(SOQL)を使用して Salesforce.com に対してクエリを実行します。

構文

<Action>querySOQL</Action>
<Input><![CDATA[{
  "soql": soql-query-statement
}]]></Input>

<Action>querySOQL</Action>
<Input><![CDATA[{
  "soql": "SELECT Id, Name FROM Account"
}]]></Input>

リクエスト パラメータ

パラメータ 説明 デフォルト 必須
Soql クエリに使用する SOQL ステートメント。 文字列 なし。 はい。

レスポンス

クエリの結果。

{
  totalSize: 2,
  records: [
    {
      attributes: { attributes-of-record },
      Id: '0011U00000LQ76KQAT',
      Name: 'AccountName1'
    },
    {
      attributes: { attributes-of-record },
      Id: '0011U00000LQ76LQAT',
      Name: 'AccountName2'
    }
  ],
  done: true
}
パラメータ 説明 デフォルト 必須
totalSize クエリによって返されたレコードの数。 Integer なし。 はい。
records JSON で sObject として返されたレコードの配列。最大数: 1,000。 配列 なし。 はい。
完了 クエリ オペレーションが完了した場合は true ブール値 なし。 はい。

list

Salesforce.com のレコードを一覧表示します。指定された sObject タイプのすべてのフィールドを返します。

構文

<Action>list</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "limit": max-number-of-records,
  "offset": record-index-at-which-to-begin-response-set
}]]></Input>

<Action>list</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "limit": 1000,
  "offset": 0
}]]></Input>

リクエスト パラメータ

パラメータ 説明 デフォルト 必須
スオブジェクト 一覧表示するレコードの sObject タイプ 文字列 なし。 はい。
limit 返されるレコードの最大数。 Integer 1000 いいえ。
offset 一覧表示するレコードのオフセット。 Integer 0 いいえ。

レスポンス

JSON としてリストされた sObject を含む records 配列。

{
  records: [
    { sobject-json },
    { sobject-json }
  ]
}

del

指定した ID のレコードを削除します。

構文

<Action>del</Action>
<Input><![CDATA[{
  "sobject": records-sObject-type,
  "ids":[ IDs-of-records-to-retrieve ]
}]]></Input>

<Action>del</Action>
<Input><![CDATA[{
  "sobject": "Account",
  "ids":["0011U00000LQ76KQAT"]
}]]></Input>

リクエスト パラメータ

パラメータ 説明 デフォルト 必須
スオブジェクト 削除するレコードの sObject タイプ 文字列 なし。 はい。
ids 削除するレコードの sObject ID の配列。最大数: 1,000。 配列 なし。 はい。

レスポンス

オペレーションの結果を含む results 配列。

{
  results:[
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
プロパティ 説明 デフォルト 必須
results[*].id 指定されたレコードの sObject ID。 文字列 なし。 はい。
results[*].success レコードに対するオペレーションが成功した場合は true ブール値 なし。 はい。
results[*].errors 実行中にキャッチされたエラーの配列(ある場合)。 配列 なし。 はい。

getAccessToken

Salesforce.com API アクセス トークンを取得します。REST API のクエリに使用できます。

構文

<Action>getAccessToken</Action>
<Input><![CDATA[{}]]></Input>

リクエスト パラメータ

なし。

レスポンス

JSON 形式のアクセス トークン。

{
  "accessToken":"00D1U0000014m3hqswvoM22I5GTw9EJrztlZ8eSSka88Q",
  "scope":"api",
  "instanceUrl": "https://na85.salesforce.com",
  "id": "https://login.salesforce.com/id/00D1U0004564mutUAA/0051U43214qecVQAQ",
  "tokenType": "Bearer"
}
プロパティ 説明 デフォルト 必須
accessToken アクセス トークン。 文字列 なし。 はい。
スコープ トークンがアクセスを提供するスコープ。 文字列 なし。 はい。
instanceUrl Salesforce 組織で使用されるインスタンスの URL。 文字列 なし。 はい。
id 接続されているアプリの ID。 文字列 なし。 はい。
tokenType アクセス トークンのタイプ。 文字列 ベアラー はい。

構成リファレンス

API プロキシで使用するためにこの拡張機能を構成してデプロイする場合は、以下を使用します。

拡張機能の一般的なプロパティ

すべての拡張機能には次のプロパティがあります。

プロパティ 説明 デフォルト 必須
name この拡張機能に付ける名前。 なし
packageName Apigee Edge から提供された拡張機能パッケージの名前。 なし
version 拡張機能を構成する拡張機能パッケージのバージョン番号。 なし
configuration 追加する拡張機能に固有の構成値。この拡張機能パッケージのプロパティをご覧ください。 なし

この拡張機能パッケージのプロパティ

この拡張機能に固有の次の構成プロパティの値を指定します。

プロパティ 説明 デフォルト 必須
認可サーバーの URL Salesforce から承認を取得するときに使用する URL。通常、これは https://login.salesforce.com です。 なし。 はい。
接続アプリのコンシューマ キー 作成した接続アプリ用に Salesforce から提供されたコンシューマ キー。コンシューマ キーを取得する方法については、前提条件の手順をご覧ください。 なし。 はい。
認証情報 Apigee Edge コンソールで入力すると、これは上記の手順で生成した salesforce.key ファイルの内容です。Management API で送信する場合は、salesforce.key ファイルから生成された base64 エンコード値になります。 なし。 はい。
Salesforce ユーザーのユーザー名 作成した接続アプリに関連付けられたユーザー名。Salesforce 拡張機能はこれを使用して Salesforce から承認を取得します。 なし。 はい。