Salesforce APIとは?主なAPIの特徴や選び方を解説
目次[非表示]
- 1.Salesforceの活用に欠かせないAPIとは
- 2.Salesforceにおける主なAPIの種類の一覧
- 2.1.SOAP API
- 2.2.REST API
- 2.3.Bulk API
- 2.4.Connect REST API
- 2.5.User Interface API
- 2.6.Streaming API
- 2.7.Metadata API
- 2.8.Apex REST API・Apex SOAP API
- 2.9.Analytics REST API
- 2.10.Tooling API
- 2.11.GraphQL API
- 3.SalesforceのAPIを使う際に考えたいこと
- 4.SalesforceのAPIまとめ
あらゆる営業データや顧客情報を可視化するSFA/CRMツールである「Salesforce」。基幹システムのERPや、コールセンターの問い合わせ管理システムなど幅広い外部システムと連携し、活用の幅を広げられるのがSalesforceの大きなメリットです。
今回ご紹介するSalesforce APIは、システム連携を実現するために欠かせないツールです。Salesforceには、さまざまなAPIが用意されているため、自社の要件に合わせて選びましょう。
本記事では、各APIの特徴や具体的な活用シーンをご紹介します。それぞれの選定方法も解説していますので、ぜひ参考にしてください。
Salesforceの活用に欠かせないAPIとは
API(Application Programming Interface)とは、既存のシステムと外部のシステムを接続・連携させるためのインターフェースです。たとえば、Salesforceに搭載されているAPIを活用すれば、MAツールや名刺管理ソフトなどの外部システムと連携し、新たな機能を拡張できます。
また、Salesforceを利用するうえで、「他システムと連携するデータを自由に操作したい」といったニーズが発生することもあります。
このような場合に、Salesforceで公開されているAPIを活用すると、自社の要件に合わせて独自のシステムを開発することが可能です。既存のインターフェースを利用できるため、スクラッチ開発に比べて開発コストや工数の削減につながります。
▼データ連携がもっとわかる!お役立ち資料はこちら
Salesforceにおける主なAPIの種類の一覧
SalesforceのAPIは数多く存在します。本記事では、そのなかでも主要な12種類を取り上げ、それぞれの特徴や活用シーンを具体的にご紹介します。SalesforceのAPIは、種類によって適した用途や対応するプロトコル、データ形式などが異なるため、特徴を理解したうえで活用しましょう。
API種別 |
プロトコル |
データ形式 |
通信方式 |
---|---|---|---|
SOAP API |
SOAP |
XML |
同期 |
REST API |
REST |
JSON・XML |
同期 |
Bulk API |
REST |
CSV・JSON・XML |
非同期 |
Connect REST API |
REST |
JSON・XML |
同期 ※写真の処理は非同期 |
User Interface API |
REST |
JSON |
同期 |
Streaming API |
Bayeux |
JSON |
非同期 |
Metadata API |
SOAP |
XML |
非同期 |
Apex REST API |
REST |
JSON・XML・カスタム |
同期 |
Apex SOAP API |
SOAP |
XML |
同期 |
Analytics REST API |
REST |
JSON・XML |
同期 |
Tooling API |
REST・SOAP |
JSON・XML・カスタム |
同期 |
GraphQL API |
GraphQL |
JSON |
同期 |
SOAP API
SOAP APIは、Salesforceが提供するなかで最も歴史が長い標準的なAPIで、数多くの実績があります。
SOAP APIに準拠するデータ形式はXMLのみですが、XMLはデータ管理や送受信の作業を簡易化するために、幅広いシーンで活用されています。また、拡張性が高く、要素名をはじめとするデータ構造を自由に定義できるのが特徴です。
SOAP APIには、レコードの取得・更新やデータ検索、パスワード管理など、システム間のデータ統合に必要な機能が搭載されています。SalesforceにERPや会計ソフトを連携するなどの活用が可能です。
REST API
REST APIは、Webサービスとの連携に活用できるAPIで、「RESTful API」とも呼ばれます。SOAP APIと同じ役割を持ちますが、REST APIは軽量かつ柔軟性に優れているというメリットがあります。
REST APIは、簡略的なコーディングが可能なJSONと呼ばれるデータ形式に対応しています。XMLに比べてデータ処理の負荷が少ないことから、速度を向上させることが可能です。
SOAP APIは記述パターンが厳格化されており、安全性に優れています。Webアプリケーションのような軽量なデータ連携を高速処理したい場合はREST API、安全性を重視する場合はSOAP APIなど、目的に合わせて使い分けると良いでしょう。
なお、REST APIは別のSalesforce APIに応用できます。たとえば、CMS(コンテンツ管理システム)やビジネスチャットツールと連携する場合は「Connect REST API」、レコードの作成や更新を行う際は「User Interface API」を用いるようなイメージです。
Bulk API
Bulk APIは、非同期でデータ処理を行う性質を持ちます。SOAP APIやREST APIのようなリアルタイム処理に対応したAPIの場合、データ量が増えると処理速度が遅くなりますが、Bulk APIは数万単位の大規模なレコードでも高速処理が可能です。
Salesforceに基幹システムのマスタデータを読み込むようなケースで実力を発揮します。
Connect REST API
モバイルアプリケーションやWebアプリケーション上で、Salesforceの「Chatter機能」を実行したい場合は、Connect REST APIを活用すると良いでしょう。
Chatterとは、Salesforceに搭載されている社内SNS・ビジネスチャット機能です。Salesforceに蓄積されたレコードやファイルの更新情報を記録できるほか、従業員同士でリアルタイムにメッセージの送受信を行えます。Connect REST APIを活用すれば、Chatterフィードをアプリケーション上に表示できます。
User Interface API
User Interface APIは、モバイルアプリケーションやWebアプリケーションを構築する際に、カスタマイズ性を高めるために活用されるAPIです。アプリケーション上でSalesforceのレコードを作成・編集し、画面へ表示させることが可能になります。
Salesforceが2015年に導入した、UIを柔軟にカスタマイズできる「Lightning Experience」にもUser Interface APIが活用されています。
Streaming API
Streaming APIは、Salesforce内のデータ更新を監視するためのAPIです。事前に設定した条件に合うデータ更新が行われた場合、一斉にプッシュ通知が実行されます。また、Salesforce内やシステム外のサーバーなど、プッシュ通知の受信先を指定できるのも特徴です。
Streaming APIを活用すれば、ポーリングの手間を最小限に抑えられます。ポーリングとは、ページ要求から結果を受け取るまでの一連の流れです。本来は、データの更新有無を定期的にポーリングして確かめる必要がありますが、Streaming APIを活用すると自動的に通知を受け取れるため、工数を削減できます。
Metadata API
Salesforceには、レコードそのものを表す「ビジネスデータ」と、レコード以外の情報である「メタデータ」の2種類のデータが保存されます。メタデータには、データベーススキーマや組織の全般設定などの情報が含まれます。このメタデータを操作するために活用されるのが、Metadata APIです。
Apex REST API・Apex SOAP API
Salesforce専用のプログラミング言語であるApexを活用したAPIです。
Salesforceは、各データを表す「レコード」と、レコードを表示する型の役割を果たす「項目」、そして複数の項目を一つのまとまりとして形成する「オブジェクト」によってデータを管理しています。オブジェクトには、取引先やリード、商談といった既存の枠組みが用意されています。
オブジェクトの各要素はSalesforce側で変更できますが、より柔軟にカスタマイズしたい場合はApex REST API・Apex SOAP APIを活用します。たとえば、疑似的な複合主キーを実現したい場合に、連結したレコードを保存できるように独自のビジネスロジックを構築するなどの活用が可能です。
Analytics REST API
Analytics REST APIは、Salesforce内で分析に使用するデータ群である「データセット」や、データセットの情報をグラフや表にして表した「レンズ」にアクセスできるAPIです。Analytics REST APIを活用することで、Salesforceの解析機能と外部システムを連携できます。
具体的には、Salesforceのレポートとダッシュボードにアクセスが可能です。また、データセットバージョンのリスト取得や、Analyticsアプリケーションの作成もできます。
Tooling API
Tooling APIは、ApexやVisualforceを用いてカスタムアプリケーションの開発を進める方向けのAPIです。Tooling APIを活用すれば、静的リソースファイルの作業をコピーして管理したり、Visualforceにおけるコンポーネントの作業エラーをチェックしたりすることが可能になります。
また、株式会社セールスフォース・ジャパンが運営するビジネスアプリケーションプラットフォーム、「Force.com」に機能を追加できるのも特徴です。Force.comを使って、マーケティング管理や契約管理などの業務アプリケーションを構築したい場合に役立ちます。
GraphQL API
GraphQL APIは、1回のリクエストで必要なすべてのデータを要求できるAPIです。
たとえば、REST APIでユーザーの電話番号を参照する場合、電話番号以外に担当者名や住所といった不要なデータまで取得してしまうケースも珍しくありません。しかし、必要なデータのみを返すために複数のエンドポイントを作成すると、工数が増えてしまいます。
GraphQL APIは、要求した回答のみを返してくれるRESTエンドポイントを構築できるのが特徴です。1回のリクエストで必要なデータのみが揃うため、エンドポイントの構築や送受信にかかる時間と手間を削減できます。
SalesforceのAPIを使う際に考えたいこと
Salesforce APIは、次の2つの手順に沿って比較すると自社の要件に合ったものを選びやすくなります。
- 連携したいデータの件数を確認する
外部システムと連携する際のデータ量に応じて活用するAPIを決定します。取り扱うデータ量が10万件を超えるような場合は、同期型のSOAP APIやREST APIよりも、非同期型のBulk APIが向いています。
- どういった機能がほしいかを考慮する
自社要件を実現するために必要な機能を備えたAPIを選定します。たとえば、Salesforceの解析機能を使いたい場合はAnalytics REST APIを選ぶといったイメージです。
SalesforceのAPIまとめ
今回は、Salesforce APIの特徴や活用シーンをご紹介しました。APIによって適した用途が異なるため、まずはそれぞれの特徴を理解することが大切です。そのうえで、自社の要件に合った機能を持つAPIを選ぶと良いでしょう。
Salesforceと外部システムのデータ統合をお考えの方は、データ連携ツール「ASTERIA Warp」を検討してみてはいかがでしょうか。
ASTERIA Warpは、「CSVファイル取得・データ変換・RDB登録」といった一連の連携フローを、ドラッグアンドドロップやプロパティの設定などによってノーコードで実現できるツールです。独自システムをいちから開発する必要がなく、工数を最小限に抑えられるメリットがあります。
また、Salesforceはもちろん、基幹システムやERP、CRMといった100種類以上の外部システム同士の連携が可能です。お問い合わせや資料請求は、当社までお気軽にご連絡ください。
▼データ連携がもっとわかる!お役立ち資料はこちら