この記事の目次
Salesforce APIの重要性とは?

APIとは何か?

APIの役割について

Salesforce APIの種類

SOAP API
SOAP APIは、同名の業界標準プロトコルに基づいた堅牢で強力なWebサービスです。今回紹介する6つのAPIの中で一番スタンダードなAPIに該当します。 SOAP APIはメッセージの記述にXML(文章の見た目や構造を記述するためのマークアップ言語)を使用し、データ伝送には主にHTTPを用いることで、Webサービスの提供や利用に適しています。 機能としてはレコードの操作や定義された大容量のメタデータ取得、ユーザパスワードの変更といったユーティリティ機能も備えています。Bulk API
Bulk APIは組織への初回データ読み込みなど大量レコードを処理に適したAPIです。ここでいう大量とは、50,000レコード以上を意味しています。 Bulk APIを使用して複数のバッチ処理(一定量のあるいは一定期間のデータを一括処理するための処理方法)でも多数のレコードを非同期でクエリ、queryAll、更新・導入または削除することが可能です。もちろん非同期なので、バッチはバックグラウンドで処理されます。 Bulk APIの一番メジャーな使用方法は、CSVファイルを使ってデータローダーでレコードの処理を可能にすることです。データローダーを使用すると、独自のアプリケーションを作成する必要がなくなるメリットがあるのでとても便利です。REST API
REST APIは軽量なデータを操作することに適したAPIです。 REST API は、あらゆる種類のSalesforce機能をRESTリソースとHTTPメソッドを介して公開します。「何のリソースを」「どのように」操作するかをURIやHTTPメソッドで表現できるのです。 例えばレコードの作成や読み取り、更新、削除、データの検索またはクエリ、オブジェクトメタデータの取得、組織の制限に関する情報のアクセスなどが可能です。 また、実装がとても簡単かつ通信量が軽量な点がメリットで、ブラウザアプリやモバイルとの連携にうってつけです。 また、独立性が高くシンプルな設計が強みなので、HTTPさえ理解できていれば、汎用性が高いプログラムを作成することができます。そのため、初心者が扱いやすいAPIとしておすすめです。Streaming API
Streaming APIは、データの変更後にトリガされる通知の設定に特化したAPIです。 Streaming APIでは、プッシュ技術を使用してイベントのストリーミングを行い、ほぼリアルタイムでイベントを受信する登録メカニズムを提供することができます。 例えば、Salesforceインフラストラクチャに対して絶えずポーリングし、不必要な API コールと処理時間を消費するアプリケーションでStreaming APIを使用すると、データを返さない要求の数を減らし、効率を高めることができます。 また、組織でのデータ変更に関する全般的な通知を必要とするアプリケーションにStreaming APIを使用して、API コールの数を削減しパフォーマンスをあげることも可能です。 しかし、プロトコルの仕組みや通知の保証が難しいため、コアデータの連携には適していない点に注意が必要です。Chatter REST API
Chatter REST APIは特にモバイルアプリケーションで使用されるAPIです。 Chatter REST API は、FacebookやTwitterなどに用いられることが多く、Chatterフィードとユーザー、グループ、フォロワー、ファイルなどのソーシャルデータへのプログラムを使用したアクセスを提供することができます。 Chatter REST APIではファイルやおすすめ、トピック、通知、Data.comの購入などにプログラムを介してアクセスすることも可能です。 Chatter REST API を使用して、モバイルアプリケーション、イントラネットサイト、およびサードパーティWeb アプリケーションなど、さまざまなアプリケーションにChatterを統合することも可能です。Tooling API
Tooling APIはSalesforceメタデータを他のシステムと統合するために使用されるAPIです。Tooling APIは、開発者ツール作成で使用され、RESTやSOAPからアクセスできるオブジェクトを公開することが可能です。 例えば、Tooling APIを使用することで既存のForce.comツールに機能を追加したり、Force.com開発用の動的モジュールをエンタープライズインテグレーションツールに組み込んだり、特定のアプリケーションまたはサービス専用の開発ツールを作成することができます。 また、ApexクラスとトリガやVisualforceページとコンポーネントの作業コピーを管理およびリリースすることも可能。チェックポイントまたはヒープダンプマーカーの設定、匿名Apexの実行、ログ記録情報およびコードカバー率情報へのアクセスも行うことができます。Salesforce APIを実際に使用してみよう!
