レスポンスのプロパティの選択
プロパティセレクターを使用すると、API レスポンスで返されるプロパティを設定できます。これらを使用すると、サイズの大きいレスポンスから不要なプロパティを削除し、サイズを縮小できます。
プロパティセレクターを使用するには、リクエストに select
パラメーターを含めます。たとえば、getProductの name
プロパティのみを選択するには、select=(name)
セレクターを使用します。
セレクター値は括弧で囲む必要があります。以下のセレクターがサポートされます。
機能 | 選択したパラメーターの値 |
---|---|
1 つのプロパティを含めます。 | (property) |
1 つのプロパティを除外します。 | (-property) |
複合プロパティを含む、すべてのレベルのプロパティを含めます。 | (**) |
複合プロパティを除く、トップレベルのプロパティを含めます。 | (*) |
下位ドキュメントプロパティを含めます。 | (property.(**)) |
1 番目のドキュメントを返します。インデックスは 0 から始まります。 | (property[0].(**)) |
最初の 5 つのドキュメントを返します。 | (property[0:4].(**)) |
2 番目、4 番目、および 6 番目のドキュメントを返します。 | (property[1,3,5].(**)) |
条件に一致するドキュメントを返します。 | (property[?(@.key==val)]) |
複数の条件に一致するドキュメントを返します。 | (property[?(@.key1==val1) || ?(@.key2=val2)]) |
複数のプロパティを選択するには、コンマ区切りの値を使用します。たとえば、name
と recommendations
(その下位を含む) を選択するには、select=(name,recommendations.(**)
セレクターを使用します。
下位プロパティを選択するには、すべての結果レベルを含めます。たとえば、variants
の productId
を選択するには、select=(variants.(productId))
セレクターを使用します。
セレクターを使用してプロパティを除外することもできます。プロパティを除外するには、まずプロパティを含めてください。たとえば、inventory
から backorderable
を除外するには、select=(inventory.(*,-backorderable))
を使用します。
セレクターを使用して、1 つ以上の条件に基づいてドキュメントをフィルター処理できます。たとえば、small
画像と large
画像をフィルター処理するには、select=(imageGroups[?(@.viewType==small || @.viewType==large)])
を使用します:
プロパティセレクターは、Shopper エンドポイントのサブセットでのみ利用できます。エンドポイントが select
をサポートしているかどうかは、API 参照資料のクエリパラメーターを調べて確認できます。