レスポンスのプロパティの選択
プロパティセレクターを使用すると、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 参照資料のクエリパラメーターを調べて確認できます。