2022/09/16

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を提供しています。外部システムとの連携を検討している方は、ぜひ参考にしてください。]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】