REST API
特徴
- リモートサイトからSalesforce標準APIを呼び出す為のインバウンド連携
- 設計パターンの「リモートプロセス呼び出し-要求と応答(同期処理)」に該当する
- Salesforceが提供する標準APIを利用する為、仕様に基づけば即時連携が可能となる
- URIで操作対象のリソースを表現して、リソースに対するCRUDをHTTPメソッドで実現する
- HTTPメソッド毎のリソース操作
- GET:リソースの取得:SELECT
- POST:リソースの作成:INSERT
- PATCH:リソースの更新:UPDATE
- DELETE:リソースの削除:DELETE
- PUT:リソースの作成または更新:UPSERT
- 認証は主に**oAuth2.0(access_token)**であり、セッションIDも可
- 返却形式は主にJSONであり、XMLも可
- JSONの場合、ペイロードが軽量である
- 接続したいデータの用途によりRESTベースのAPIが異なる場合がある
- Chatter:Chatter API
- メタデータ:メタデータ API
- Force.com アプリケーション用のカスタム開発ツール:Tooling API
セキュリティ
- データ
- ログイン時のユーザに対応したSalesforce側のデータセキュリティが働く(オブジェクト権限、項目レベルセキュリティなど)
- ネットワーク
- TLSプロトコルが必須
- Salesforceネットワーク認証により接続可能な時間帯、プロファイルまたは組織全体でのIPアドレス範囲の制御が可能
サンプル
GET(query)
/vXX.X/query/?q=SOQL クエリ
/vXX.X/query/?q=SELECT+id+,+Name+FROM+Lead+limit+1
注意すべきガバナ制限
制限 | 備考 |
---|---|
24 時間あたりの合計コール数 | エディション毎の計算方法 |
1 つの SOSL クエリによって取得されるレコードの合計数2000件 |
RESTを選択するシナリオ
- モバイル、タブレット等のネイティブアプリケーションとの連携が必要な場合(軽量の為)
- 少数のレコード件数の登録・更新・削除の場合
- カスタマイズされたChatter、コミュニティまたはおすすめ用の UI を構築する場合
- Chatter REST API を使用