Salesforceが提供するデータ連携APIとは?APIの種類を解説します

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 の有効化
データ連携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を提供しています。外部システムとの連携を検討している方は、ぜひ参考にしてください。
Search キーワード検索
Popular 人気の記事
-
SalesforceにおけるApexとは?特徴や使い方を解説
公開: 更新:
Categories 連載一覧
Tags タグ一覧
Jobs 新着案件
-
Salesforceエンジニアの求人/設計開発/東京都中央区/【WEB面談可】/在宅ワーク
月給80万~80万円東京都中央区(小伝馬町駅) -
Salesforceエンジニアの求人/決済代行システム管理/東京都新宿区/【WEB面談可】/在宅ワーク
月給56万~56万円東京都新宿区(初台駅) -
Salesforceエンジニアの求人/運用保守・開発/東京都文京区/【WEB面談可】/在宅勤務
月給58万~63万円東京都文京区(後楽園駅) -
Salesforceエンジニアの求人/構築/東京都千代田区/【WEB面談可】/在宅勤務
月給50万~50万円東京都千代田区(永田町駅) -
Salesforceエンジニアの求人/運用/東京都品川区/【WEB面談可】/在宅勤務
月給30万~30万円東京都品川区(五反田駅) -
Salesforceエンジニアの求人/営業支援/東京都千代田区/【WEB面談可】/在宅勤務
月給50万~50万円東京都千代田区(虎ノ門駅)