レスポンスプロパティの選択

プロパティセレクターを使用すると、API レスポンスで返されるプロパティを設定できます。これらを使用すると、サイズの大きいレスポンスから不要なプロパティを削除し、レスポンスのサイズを減らすことができます。

プロパティセレクターを使用するには、リクエストに select パラメーターを含めます。たとえば、getProductname プロパティのみを選択するには、select=(name) セレクターを使用します。

1GET /product/shopper-products/v1/organizations/f_ecom_zzte_053/products/25604524M?siteId=RefArch&select=(name)
2
3{
4  "name": "Black Single Pleat Athletic Fit Wool Suit",
5}

セレクター値は括弧で囲む必要があります。以下のセレクターがサポートされます。

機能select パラメーターの値
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)])

複数のプロパティを選択するには、コンマ区切りの値を使用します。たとえば、namerecommendations (その下位を含む) を選択するには、select=(name,recommendations.(**) セレクターを使用します。

1GET /product/shopper-products/v1/organizations/f_ecom_zzte_053/products/25604524M?siteId=RefArch&select=(name,recommendations.(**))
2
3{
4  "name": "Black Single Pleat Athletic Fit Wool Suit",
5  "recommendations": [
6    {
7      "recommendationType": {
8        "displayValue": "Product Detail Page - Cross Sell",
9        "value": 1
10      },
11      "recommendedItemId": "25686544M"
12    }
13  ]
14}

下位プロパティを選択するには、すべての結果レベルを含めます。たとえば、variantsproductId を選択するには、select=(variants.(productId)) セレクターを使用します。

1GET /product/shopper-products/v1/organizations/f_ecom_zzrf_016/products/25604524M?siteId=RefArch&select=(variants.(productId))
2
3{
4  "variants": [
5    {
6      "productId": "750518699660M"
7    }
8  ]
9}

セレクターを使用してプロパティを除外することもできます。プロパティを除外するには、まずプロパティを含めてください。たとえば、inventory から backorderable を除外するには、select=(inventory.(*,-backorderable)) を使用します。

1GET /product/shopper-products/v1/organizations/f_ecom_zzrf_016/products/25604524M?siteId=RefArch&select=(inventory.(*,-backorderable))
2
3{
4  "inventory": {
5    "ats": 1800,
6    "id": "inventory_m",
7    "orderable": true,
8    "preorderable": false,
9    "stockLevel": 1800
10  }
11}

セレクターを使用して、1 つ以上の条件に基づいてドキュメントをフィルター処理できます。たとえば、small 画像と large 画像をフィルター処理するには、select=(imageGroups[?(@.viewType==small || @.viewType==large)]) を使用します:

1GET /product/shopper-products/v1/organizations/f_ecom_zzrf_016/products/25604524M?siteId=RefArch&select=(imageGroups[?(@.viewType==small || @.viewType==large)])
2
3{
4  "imageGroups": [
5    {
6      "images": [],
7      "viewType": "large"
8    },
9    {
10      "images": [],
11      "viewType": "small"
12    }
13  ]
14}

プロパティセレクターは、Shopper エンドポイントのサブセットでのみ利用できます。エンドポイントが select をサポートしているかどうかは、API 参照資料のクエリパラメーターを調べて確認できます。

Note