この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

REST API のアーキテクチャ

REST API は、RESTful の標準的な原則に従い、その特性を備えています。
クライアントサーバー
クライアントアプリケーションは、Salesforce REST API から独立しているため、それぞれが個別に管理および更新されます。
ステートレス
クライアントからサーバーへの各要求には、要求を理解するのに必要なすべての情報が含まれている必要があります。サーバーに格納されたコンテキストは使用しないでください。ただし、リソースの表現は URI を使用して相互接続されるため、クライアントは状態が変わっても進行できます。
キャッシュの動作
応答にはキャッシュ可能かどうかを示すラベルが付加されます。
統一されたインターフェース
すべてのリソースには、HTTPS を介した汎用インターフェースを使用してアクセスします。
名前付きリソース
すべてのリソースには、Lightning Platform エンドポイントの後にベース URI を続けた形式で名前が付けられます。詳細情報と具体的な例については、「REST リソースと要求」を参照してください。
階層化されたコンポーネント
クライアントとサーバーの間には、プロキシサーバーやゲートウェイなどを介すことができます。

REST API には、標準的な RESTful の原則に加えて、重要な特性がアーキテクチャに組み込まれており、アプリケーションを開発する際に理解および考慮する必要があります。

認証
REST API では、OAuth 2.0 (セキュアな API 認証を可能にするオープンプロトコル) がサポートされています。詳細は、Salesforce ヘルプ「OAuth によるアプリケーションの認証」を参照してください。
JSON および XML のサポート
UTF-8 の JSON 要求がサポートされます。この要求がデフォルトです。UTF-8 と UTF-16 の XML 要求がサポートされます。XML 応答は UTF-8 で提供されます。HTTP ACCEPT ヘッダーを使用して、JSON と XML のいずれかを指定できます。
バージョン 57.0 以前では、URI に jsonxml を付加できます。例: /Account/001D000000INjVe.json。ただし、推奨されるのは HTTP ACCEPT ヘッダーを使用して、JSON または XML を指定することです。
バージョン 58.0 以降では、URI に JSON や XML を付加することはサポートされていません。
圧縮
圧縮は、帯域幅の負荷を軽減します。この目的で REST API とクライアントの間で送信されるメッセージは圧縮されます。REST API では HTTP 1.1 仕様での定義に従い、gzip と deflate の圧縮をサポートしています。「圧縮ヘッダー」を参照してください。
条件付き要求
応答のキャッシュは、いくかの例外を除いて、HTTP 1.1 の仕様で定義された標準に準拠する条件付き要求ヘッダーによってサポートされています。「条件付き要求ヘッダー」を参照してください。
クロスオリジンリソース共有
クロスオリジンリソース共有 (CORS) を使用すると、Web ブラウザーで他のオリジンからのリソースを要求できます。たとえば、CORS を使用すると、https://www.example.com にある JavaScript コードで https://www.salesforce.com からのリソースを要求できます。Web ブラウザーで JavaScript から、サポートされている Salesforce API、Apex REST リソース、および Lightning Out にアクセスするには、コードを提供するオリジンを Salesforce CORS 許可リストに追加します。「Web ブラウザーからのクロスオリジン要求の実行」を参照してください。
Salesforce ID の長さ
レスポンスボディでの Salesforce ID は常に 18 文字です。リクエストボディでは、15 文字または 18 文字の ID を使用できます。
メソッドの上書き
使用する HTTP ライブラリで任意の HTTP メソッド名の上書きまたは設定が許可されていない場合に HTTP メソッドを上書きするには、要求パラメーター _HttpMethod を使用します。
1POST https://instance_name/services/data/v60.0/chatter/
2/chatter/users/me/conversations/03MD0000000008KMAQ
3?_HttpMethod=PATCH&read=true

_HttpMethod パラメーターでは、大文字と小文字が区別されます。すべての値で大文字と小文字を正しく区別してください。

メモ

HTTPS
クライアントとサーバー間の通信はすべて HTTPS で行います。