OCAPI 展開 23.1

ネットワークトラフィックとサーバーの CPU 使用率を最小限に抑えるために、Open Commerce API は 展開 (expansion) と呼ばれる手法を使用する場合があります。この手法は、選択されたリソースの一部を意図的に省略することで、全体的なレスポンスのサイズを減らします。ただし、デフォルトで省略される部分を含めたい場合は、expand クエリパラメーターを使用して、省略部分を明示的にリクエストできます。このパラメーターで、展開したいエンティティのコンマ区切りリストを指定し、各エンティティを名前で識別します。

この展開手法は、productsproduct_search リソースでサポートされています。展開を可能にするリソースタイプは、1 つのベースリソースと、1 つまたは複数のサブリソースで構成されます。*products* リソースの場合、ベースリソースは */products/{id}*、およびその 2 つのサブリソースは */products/{id}/prices**/products/{id}/variations* です。

デフォルトでは、ベースリソースは基本的なプロパティのサブセットのみを返します。サブリソースはベースプロパティのみならず、サブリソース固有のプロパティ (価格プロパティなど) も返します。サブリソースの名前は、expand クエリパラメーター値として使用されます。

以下の例で、展開の仕組みを説明します。

expand パラメーターが指定されていないベースリソースへのリクエスト。レスポンスドキュメントには一部の基本的なプロパティのみが含まれます。

別々のサブリソースへの 2 つのリクエスト。サブリソースのレスポンスドキュメントには、基本的なプロパティに加えて、サブリソース固有のプロパティが含まれます。

expand パラメーターを使用した 1 つのリクエスト。レスポンスドキュメントには、基本的なプロパティに加えて、expand パラメーター値で名前が指定された各サブリソース固有のプロパティが含まれます。