Salesforceが提供するデータ連携APIとは?
Salesforceでは、外部システムとSalesforce間でデータ連携を行うために様々なAPIを提供しています。また、SalesforceのApex言語で実装したプログラムをREST APIやSOAP APIとして、外部システムから実行する仕組みも提供しています。
- Enterprise Edition
- Performance Edition
- Unlimited Edition
- Developer Edition
- Database.com Edition
- Salesforce Classic※一部使用できない組織あり
- Lightning Experience
データ連携APIの種類
Salesforceは、外部システムとのデータ連携用のAPIを、11種類提供しています。APIによって機能はもちろん、利用可能なプロトコルやデータ形式などが異なりますので、APIごとに解説していきます。
Salesforce標準のREST API
Salesforce標準のREST APIは、Salesforceのデータを作成、参照、更新、削除できるRESTベースのAPIです。シンプルなREST APIのため、モバイルアプリケーションや外部のWebシステムで利用しやすいというメリットがあります。
一方で、大規模データやChatterなどのソーシャルデータの操作には、向かないというデメリットがあります。
プロトコル |
データの形式 |
通信方式 |
REST |
JSON・XML |
同期 |
Salesforce標準のSOAP API
Salesforce標準のSOAP APIは、Salesforceのデータを作成、参照、更新、削除できるSOAPベースのAPIです。SOAPをサポートしている言語のプログラムであれば、Salesforce標準のSOAP APIを使用できます。
プロトコル |
データの形式 |
通信方式 |
SOAP(WSDL) |
XML |
同期 |
Chatter REST API
Chatter REST APIは、Chatterやユーザなどのソーシャルデータを取得できるRESTベースのAPIです。モバイルアプリケーションや外部のWebアプリケーションなどにデータを連携する場合に便利です。
Chatter REST APIは、TwitterやFacebookなどのSNSを提供する企業が公開するAPIに似ています。
プロトコル |
データの形式 |
通信方式 |
REST |
JSON・XML |
同期(写真に関する処理は非同期で通信) |
ユーザインターフェースAPI
ユーザインターフェースAPIは、Salesforceが提供するLightning Experienceやモバイルアプリケーションを実装する際に利用するAPIです。APIを利用することで、ネイティブモバイルアプリケーションや、WebアプリケーションをSalesforceのUIに似せて実装できます。
プロトコル |
データの形式 |
通信方式 |
REST |
JSON |
同期 |
Analytics REST API
Analytics REST API は、データセットやレンズなどのAnalyticsアセット情報にアクセスできるAPIです。APIで行える操作には次の操作があります。
- Analytics Platformにインポートされたデータセットへのアクセス
- レンズを作成・取得
- XMD情報へのアクセス
- データセットバージョンのリスト取得
- Analyticsアプリケーションを作成・取得
- Analyticsダッシュボードを作成・更新・取得
- アプリケーションの連動関係のリスト取得
- ユーザへの使用可能な機能の設定
- スナップショットや複製データセットの操作
プロトコル |
データの形式 |
通信方式 |
REST |
JSON・XML |
同期 |
Bulk API
Bulk APIは、大規模データを操作するためのRESTベースのAPIです。大規模データを操作するために、千から百万件単位のデータを簡単に読み込めるよう設計されています。
Bulk APIを利用したバッチを作成することで、非同期で大量のレコードを参照・登録・更新・削除・queryAllを行うことが可能です。Bulk APIで作成されたバッチは、バックグラウンドで実行されます。
また、Bulk APIはデータローダでCSVファイルを読み込むことで、CSVファイルのデータを一括でSalesforceに登録するなどの操作を可能にします。
プロトコル |
データの形式 |
通信方式 |
REST |
CSV・JSON・XML |
非同期 |
メタデータAPI
メタデータAPIは、カスタマイズをメタデータモデルで管理するAPIです。よく利用されるシーンとして、テスト用環境でカスタマイズした内容を本番環境へ移行するシーンがあります。
メタデータ APIの機能は、Visual Studio Code向けSalesforce拡張機能または、Ant移行ツールを使うと、簡単に利用できます。
プロトコル |
データの形式 |
通信方式 |
SOAP(WSDL) |
XML |
非同期 |
ストリーミングAPI
ストリーミング APIは、条件を満たした際に通知をSalesforceからプッシュで受け取るAPIです。例えば、Salesforceが管理するレコードに変更があった場合、変更された旨が通知されます。
受信するイベントには次のイベントがあります。
PushTopicイベント
PushTopicイベントは、あらかじめSOQLクエリを定義し、定義した通知対象のレコード操作(作成、更新など)が発生した際に受信します。PushTopicイベントのサポート対象のオブジェクトは、全カスタムオブジェクトと、取引先や商談などSalesforce標準のオブジェクトのみです。
オブジェクトのサポート状況については「ストリーミングAPI開発者ガイド」をご参照ください。
変更データキャプチャイベント
変更データキャプチャイベントは、すべてのカスタムオブジェクトと、標準オブジェクトのサブセットが変更された際に受信します。サポートされる標準オブジェクトがPushTopic イベントよりも多く、変更に関する情報を含めて受信できる点が特徴です。
なお、変更データキャプチャイベントは、APIバージョン44.0以降で使用できます。
プラットフォームイベント
プラットフォームイベントは、事前定義した条件を満たすSalesforceの操作が行われた際に公開・受信します。条件だけではなく、受信するデータも事前に定義することが可能です。
汎用イベント
汎用イベントは、Salesforceのデータ変更に関係なく、特定の変更があった際に、任意のペイロードを公開・受信します。
プロトコル |
データの形式 |
通信方式 |
Bayeux |
JSON |
非同期(ストリーム) |
Apex REST API
Apex REST APIは、Apex言語で実装されたメソッドをRESTベースで実行できるAPIです。Apex REST APIを利用する際の認証方式は、OAuth 2.0とセッション IDの2種類の方式をサポートしています。
プロトコル |
データの形式 |
通信方式 |
REST |
JSON・XML・カスタム |
同期 |
Apex SOAP API
Apex SOAP APIは、Apex言語で実装されたメソッドをSOAPで実行できるAPIです。Apex SOAP APIもApex REST APIと同様に、認証方式にOAuth 2.0とセッション IDの2種類の方式をサポートされています。
プロトコル |
データの形式 |
通信方式 |
SOAP(WSDL) |
XML |
同期 |
Tooling API
Tooling APIは、Salesforceのメタデータを他のシステムに連携する際に利用します。また、Tooling APIを使用することで、Force.comアプリケーション用のカスタイマイズできるように、SOAPとRESTのインターフェースを提供しています。
プロトコル |
データの形式 |
通信方式 |
REST・SOAP(WSDL) |
JSON・XML・カスタム |
同期 |
SalesforceのAPIでデータ連携してみよう

今回は、Salesforceのデータ連携APIを紹介しました。
Salesforceでは、外部システムからSalesforceへデータ連携するために11種類のAPIを提供しています。外部システムとの連携を検討している方は、ぜひ参考にしてください。]]>
この記事の監修者・著者
-
株式会社オープンアップITエンジニア
-
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞