概要
Salesforceでは、オブジェクト(標準オブジェクト・カスタムオブジェクト)に対し、外部からAPIによって登録、変更、削除、取得や検索などの操作を行うためのREST APIを利用することができます。
このAPI群はオブジェクトごとに自動的に作られるため、個別に開発する必要はありません。
このページでは、APIによるSalesforceのレコード操作の方法について説明します。
API利用のための注意事項
APIの有効化権限の割り当て
APIアクセスユーザプロファイルに「API の有効化」権限を割り当てる必要があります。
(参考)API 対応エディションと開発環境
https://developer.salesforce.com/docs/atlas.ja-jp.api_rest.meta/api_rest/intro_rest_resources.htm
OAuth2 JWT Bearer Tokenフローによる接続とアクセス
Salesforce組織への接続のためにはOAuthによる認証・認可を用います。
https://help.salesforce.com/s/articleView?id=sf.remoteaccess_oauth_flows.htm&type=5
認証フローにはいくつか選択した用意されていますが、システム間連携による認証フローとしては、JWT Bearer Tokenフローを使って認証する方式を使うとよいでしょう。
サーバ間インテグレーション用の OAuth 2.0 JWT ベアラーフロー
詳しい手順は上記の公式ドキュメントの通りです。以下のような流れとなります。
- JWTの電子署名を行うための秘密鍵、証明書を作成する。
- 管理者アカウントでSalesforce組織にログインし、接続アプリケーションを作成する
- プログラム経由で、JWTの生成とアクセストークンのリクエストを行う。
レコードの登録、変更、削除、取得
前述で取得したアクセストークンを用いて、レコードの操作ができます。
詳しい方法は以下のドキュメントを参照してください。
各種プログラミング言語向けライブラリによるアクセス
Java、Node.js、Pythonなど、主要なプログラミング言語でSalesforce APIを利用するためのライブラリも存在します。
素直にOAuth2 JWT Bearer Tokenフローを実装するのに比べて、取り扱いようにラップしてあったり、手軽に利用できる場合もあるので、ぜひ利用を検討してください。
- JSForce
- https://jsforce.github.io/
- ブラウザとNode.jsの療法で利用可能であり、REST API, Bulk API, Metadata APIなど、様々なSalesforce APIを取り扱うことができるJavaScriptライブラリです。
- Lightning Platform Web Services Connector (WSC)
- https://github.com/forcedotcom/wsc
- WSDL ベースで Salesforce API を使いやすくするJavaライブラリです。
- Simple Salesforce
- https://github.com/simple-salesforce/simple-salesforce
- Python用のSalesforce REST APIライブラリです。
使い方については、各種ライブラリのドキュメントを参照してください。