Force.com REST リソースの理解
REST リソースは、1 つのデータレコード、レコードのコレクション、さらには動的なリアルタイム情報などの情報を抽象化したものです。Force.com REST API の各リソースは、名前付きの URI で識別され、標準 HTTP メソッド (HEAD、GET、POST、PATCH、DELETE) を使用してアクセスされます。Force.com REST API は、リソース、その URI、およびそれらの間のリンクの使用に基づきます。リソースは、Salesforce 組織や Force.com 組織との連携に使用します。次のような操作が可能です。
- 使用できる API バージョンに関する概要情報を取得する。
- Account (取引先) などの Salesforce オブジェクトやカスタムオブジェクトに関する詳細情報を取得する。
- User (ユーザ) などの Force.com オブジェクトやカスタムオブジェクトに関する詳細情報を取得する。
- クエリまたは検索を実行する。
- レコードを更新または削除する。
たとえば、Salesforce のバージョンに関する情報を取得するとします。これを行うには、Versions リソースの要求を送信します (この例では、na1 インスタンスで cURL を使用します)。
1curl https://na1.salesforce.com/services/data/この要求の出力は、次のとおりです。
1[
2 {
3 "version":"20.0",
4 "url":"/services/data/v20.0",
5 "label":"Winter '11"
6 }
7 ...
8]
Force.com REST API リソースとアーキテクチャの重要な特性を次に示します。
- ステートレス
- クライアントからサーバへの各要求には、要求を実行するのに必要なすべての情報が含まれている必要があり、サーバに保存されたコンテキストは使用されません。ただし、リソースの表現は URL によって相互接続されるため、ステートが変わってもクライアントは処理を続行できます。
- キャッシュの動作
- 応答にはキャッシュ可能かどうかを示すラベルが付加されます。
- 統一されたインターフェース
- すべてのリソースには、HTTP を介した汎用インターフェースを使用してアクセスします。
- 名前付きリソース
- すべてのリソースは、Force.com URI に続くベース URI を使って名前が付けられます。
- 階層化されたコンポーネント
- Force.com REST API アーキテクチャでは、クライアントとリソースの間にプロキシサーバやゲートウェイなどを介在させることができます。
- 認証
- Force.com REST API は OAuth 2.0 (セキュアな API 認証を可能にするオープンプロトコル) をサポートします。詳細は「認証について」を参照してください。
- JSON および XML のサポート
- デフォルトは JSON です。HTTP ACCEPT ヘッダーを使って、JSON と XML のいずれかを選択したり、URI の最後に .json、.xml を付加したりできます (例: /Account/001D000000INjVe.json)。
- JavaScript Object Notation (JSON) 形式は UTF-8 でサポートされます。日時��報は ISO8601 形式です。
- XML 逐次化は SOAP API と類似しています。XML 要求は UTF-8 および UTF-16 でサポートされ、XML 応答は UTF-8 で提供されます。