SOAP API の概要
Salesforce では、使いやすく、強力で安全なアプリケーションプログラムインターフェースを使用した組織の情報へのプログラムによるアクセスを提供しています。このドキュメントを使用するには、ソフトウェア開発、Web サービス、そして Salesforce ユーザインターフェースについての基本的な知識が必要です。
このガイドで説明されている機能は、組織で API 機能が有効化されている場合に使用できます。この機能は、Performance Edition、Unlimited Edition、Enterprise Edition、Developer Edition ではデフォルトで有効になっています。Professional Edition を使用する組織の中には、API が有効化されている組織もあります。このガイドに記載されている機能にアクセスできない場合は、Salesforce にご連絡ください。
SOAP API を使用するケース
Salesforce には、強力な CRM 機能を提供するアプリケーションが組み込まれています。また、Salesforce では組織に応じて組み込みアプリケーションをカスタマイズする機能も用意されています。ただし、組織には、既存の機能ではサポートされていない複雑なビジネスプロセスがあることがあります。Force.com プラットフォームには、このような場合に高度な管理者や開発者がカスタム機能を実装できるさまざまな方法が搭載されています。これらには、SOAP API、Apex、および Visualforce が含まれます。
SOAP API
SOAP API を使用して、取引先、リード、カスタムオブジェクトなどのレコードを作成、取得、更新、または削除します。さらに、SOAP API では 20 種類を超えるコールを使用して、パスワードの管理や検索の実行などの多くの機能を実行できます。SOAP API は、Web サービスをサポートしている言語で使用できます。
REST API
REST API では、Salesforce を操作するための強力で便利で、使いやすい REST ベースの Web サービスインターフェースを提供します。インテグレーションや開発が容易になるという利点があり、モバイルアプリケーションや Web プロジェクトで使用するための技術の選択としては最適です。ただし、処理するレコード件数が多い場合、REST 規則に基づいており、大規模データセットの処理用に最適化されている Bulk API を使用することをお勧めします。
Bulk API
Bulk API は、REST 規則に基づいており、大規模データセットの読み込みまたは削除用に最適化されています。Bulk API を使用すると、Salesforce のバックグラウンド処理で複数のバッチを送信することにより、多数のレコードを非同期にクエリ、挿入、更新、更新/挿入または削除できます。
SOAP API は、一度に少数のレコードを更新するリアルタイムのクライアントアプリケーション用に最適化されています。SOAP API を使用しても多数のレコードを処理することはできますが、数百、数千のレコードがデータセットに含まれている場合には実用性に欠けます。Bulk API は、千から百万単位のレコードのデータを簡単に読み込めるように設計されています。
メタデータ API
メタデータ API を使用して、組織のカスタマイズを取得、リリース、作成、更新、または削除します。最も一般的な使い方は、Sandbox またはテスト組織から本番環境への変更の移行です。メタデータ API は、カスタマイズを管理し、データ自体ではなくメタデータモデルを管理可能なツールを構築することを目的とします。
Force.com IDE または Force.com 移行ツールを使用すると、最も簡単にメタデータ API の機能にアクセスできます。これらのツールはメタデータ API の上位に構築され、メタデータ API との連携タスクを簡略化するために標準 Eclipse および Ant ツールを使用します。Eclipse プラットフォームで開発された Force.com IDE は、統合された開発環境に慣れているプログラマに快適な環境を提供し、IDE 内でコード記述、コンパイル、テスト、リリースのすべてを行うことができます。Force.com 移行ツールは、スクリプトまたはコマンドラインユーティリティを使用してローカルディレクトリと Salesforce 組織間でメタデータを移動する場合に最適です。
Apex
- Web サービスを作成する
- メールサービスを作成する
- 複数のオブジェクトに複雑な検証を実行する
- ワークフローでサポートされていない複雑なビジネスプロセスを作成する
- カスタムトランザクションロジック (1 つのレコードやオブジェクトだけでなく、トランザクション全体で発生するロジック) を作成する
- レコードの保存などの別の操作にカスタムロジックを追加し、ユーザインターフェース、Visualforce ページ、SOAP API のいずれから操作が実行されても、ロジックが実行されるようにする
詳細は、『Force.com Apex コード開発者ガイド』を参照してください。
Visualforce
- ウィザードやその他のマルチステッププロセスの構築
- アプリケーションを介した独自のカスタムフローコントロールの作成
- 最適かつ効果的なアプリケーションの相互作用を目的とした、ナビゲーションパターンやデータ固有ルールの定義
詳細は、『Visualforce 開発者ガイド』を参照してください。
Salesforce ソリューションのカスタマイズ、インテグレーション、および拡張
Force.com を使用すると、選択した言語およびプラットフォームを使用して、ご使用の Salesforce 組織を次のようにカスタマイズ、インテグレーション、および拡張します。
- Salesforce のカスタマイズ: カスタム項目、カスタムリンク、カスタムオブジェクト、カスタムページレイアウト、カスタムボタン、カスタムレコードタイプ、カスタム Sコントロール、カスタムタブを使用して、特定のビジネス要件を満たします。
- Salesforce のインテグレーション: 組織の ERP や会計システムを使用して統合します。リアルタイムの販売情報やサポート情報を会社のポータルに配信し、重要なビジネスシステムに顧客情報を入力します。
- Salesforce の拡張: 組織のビジネス要件を反映する新機能により、プレゼンテーション、ビジネスロジック、およびデータサービスの面で拡張します。
Force.com ソリューション、開発者のリソース、コミュニティリソースの詳細については、「Salesforce 開発者」 にアクセスしてください。
サポート対象の Salesforce のエディション
SOAP API を使用するには、組織で Enterprise Edition、Performance Edition、Unlimited Edition、または Developer Edition を使用する必要があります。既存の Salesforce のお客様が Enterprise Edition、Unlimited Edition、または Performance Edition にアップグレードする場合は、担当者にご連絡ください。
Web サービスクライアントアプリケーションを開発するには、すべてのカスタマイズやデータを含む、Salesforce リリースの完全なレプリカである Developer Sandbox を使用することをお勧めします。詳細は、http://www.salesforce.com/products/sandbox.jspを参照してください。
Developer Edition では、Enterprise Edition で使用できるすべての機能にアクセスできます。Developer Edition で制約されているのは、ユーザ数とディスク容量のみです。Developer Edition では、組織の使用中のデータに影響を与えることなくソリューションを構築およびテストできる開発コンテキストを用意しています。Developer Edition のアカウントは、https://developer.salesforce.com/page/Getting_Started から無料で入手できます。
標準への準拠
SOAP API は、次の標準仕様に準拠するよう実装されています。
| 標準名 | Web サイト |
|---|---|
| Simple Object Access Protocol (SOAP) 1.1 | |
| Web Service Description Language (WSDL) 1.1 | http://www.w3.org/TR/2001/NOTE-wsdl-20010315 |
| WS-I Basic Profile 1.1 | http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html |
開発プラットフォーム
SOAP API は、Visual Studio .NET 2005 を含む、現在のさまざまな SOAP 開発環境で動作します。本ドキュメントでは、Java および C# (.NET) の例を示しています。Java の例は WSC 20.0 (WSC) および JDK 6 (Java Platform Standard Edition Development Kit 6) に基づいています。他のバージョンの WSC は、https://github.com/forcedotcom/wsc および http://mvnrepository.com/artifact/com.force.api/force-wsc で入手できます。互換性のある開発プラットフォームの詳細やさらなるサンプルコードについては、developer.salesforce.com にアクセスしてください。
SOAP API サポートポリシー
クライアントアプリケーションでは、より豊富な機能と優れた効率性の利点を十分に生かすよう、最新バージョンの Force.com WSDL ファイルを使用することをお勧めします。[設定] から、 をクリックして、組織の最新の WSDL に移動することができます。新しいバージョンがリリースされた場合は、クイックスタートで次のステップを実行してご使用の WSDL を更新してください。
- WSDL ファイルを再生成する (「ステップ 2: Web サービス WSDL を生成または取得する」)
- WSDL ファイルをご使用の環境にインポートする (「ステップ 3: 開発プラットフォームに WSDL ファイルをインポートする」)
後方互換性
Salesforce では、Force.com プラットフォームを使用する場合の後方互換性を容易に確保できるよう努めています。
新しい Salesforce リリースは、次の 2 つのコンポーネントで構成されています。
- Salesforce システムにある新しいリリースのプラットフォームソフトウェア
- 新しいバージョンの SOAP API
たとえば、Winter '07 リリースには SOAP API バージョン 9.0 が、Summer '07 リリースには SOAP API バージョン 10.0 が含まれていました。
プラットフォームソフトウェアのリリース全体で、各 SOAP API バージョンのサポートを維持しています。指定した SOAP API バージョンで機能するよう作成されたアプリケーションが、その後のプラットフォームソフトウェアのリリースでも同じバージョンの SOAP API では継続して機能するという点では、SOAP API には後方互換性があります。
Salesforce では、あるバージョンの SOAP API に対応して作成されたアプリケーションがその後の SOAP API バージョンで機能することは保証されません。SOAP API の拡張は継続して行われているため、メソッド署名およびデータ表示の変更が必要になる場合がよくあります。ただし、変更によりアプリケーションを新しい SOAP API バージョンに移行する必要がある場合、バージョン間の SOAP API ��一貫性を最小限に保持しています。
Winter '07 リリースに付属する SOAP API バージョン 9.0 を使用して作成されたアプリケーションは、Summer '07 リリースの SOAP API バージョン 9.0、また今後のリリースにも引き続き対応します。ただし、同じアプリケーションが SOAP API バージョン 10 で機能するようにするために、アプリケーションを変更する必要がある場合があります。
WSDL の選択
API アクセスの WSDL ファイルを取得できる Force.com Web サービスは、次の 2 つです。
- Force.com Enterprise WSDL— この API は、組織のクライアントアプリケーションを開発する多くのエンタープライズユーザ向けのものです。Enterprise WSDL ファイルは、組織データを強力に定型化して表示します。開発環境にスキーマ、データ型、項目に関する情報を提供し、開発環境と Force.com Web サービスとのより緊密なインテグレーションを実現できます。組織の Salesforce 構成でカスタム項目またはカスタムオブジェクトが追加、名前変更、または削除された場合、WSDL が変更します。Enterprise WSDL をダウンロードし、管理パッケージを組織にインストールする場合、生成された WSDL に追加するインストールパッケージのバージョンを選択するという、追加のステップを実行する必要があります。Enterprise WSDL を生成する場合は、次の点に注意してください。
- 新しいカスタム項目またはカスタムオブジェクトが組織の情報で追加、名前変更または削除する場合、WSDL ファイルを再生成して項目やオブジェクトにアクセスする必要があります。
- 生成された WSDL には、選択されたバージョンのインストールパッケージで使用できるものなど、組織内のオブジェクトや項目が含まれています。項目またはオブジェクトが今後のパッケージバー��ョンに追加される場合、API インテグレーションのオブジェクトまたは項目と連動するよう、そのパッケージバージョンで Enterprise WSDL を生成する必要があります。
- Force.com Partner WSDL— この API は、組織のクライアントアプリケーションを開発する Salesforce パートナー向けのものです。Salesforce オブジェクトモデルはあまり強く型付けされていないため、この Partner WSDL を使用して、組織内のデータにアクセスすることができます。