商品のリソース呼び出し

products リソースを使用すると、60 を超える商品属性を柔軟に管理できます。Google ショッピングでの表示が承認されるためには、これらのフィールドを含めることが必須となるフィールドが数多くあります。場所、商品のタイプ、商品バリエーション、商品バンドルなどのさまざまな条件に基づいて、必須になる可能性のあるオプション フィールドがいくつかあります。商品に対して構成できる 60 以上のオプション パラメータの詳細については、商品データ仕様をご覧ください。

products リソースを使用すると、Merchant Center データベース内のすべての商品を insertgetupdatedelete 一度に 1 つずつ指定したり、list のすべての商品を登録したりすることができます。

productstatuses リソースを使用すると、掲載先における特定の商品の承認ステータスまたは不承認ステータスを確認できます。データ品質に問題がある可能性がある商品と、それがどのような問題を引き起こすかについて詳しくは、商品ステータス ガイドをご覧ください。

この API の例では、2 つの Google T シャツと 1 つの Google キャップという 3 つの商品を使用します。次の表に示す最小限の商品データセットを使用して、products リソース呼び出しを行い、個々の商品と商品のバッチを挿入、取得、更新、一覧表示、削除します。

送料と税金の情報は、商品レベルではなくアカウント レベルで構成することをおすすめします。

ショッピングモールの複数販売者サブアカウントの場合は、すべての商品に external_seller_id フィールドを含める必要があります。詳しくは、プロダクト ID をご覧ください。

id online:en:US:1111111111 online:en:US:2222222222 online:en:US:3333333333
offerId 1111111111 2222222222 3333333333
title 黒の Google T シャツ Google T シャツ(緑) Google ツイルキャップ
説明 黒の Google T シャツ 綿 100% の Google T シャツ 従来の Google キャップ
商品グループ ID google_tee google_tee
リンク http://my.site.com/blacktee http://my.site.com/greentee http://my.site.com/blackhat
condition 新規 新規 新規
price 2199.00 JPY 2199.00 JPY 1099.00 JPY
稼働率 在庫あり 在庫あり 在庫あり
imageLink https://shop.example.com/store/20160512512/assets/items/images/GGOEGXXX1100.jpg https://shop.example.com/store/20160512512/assets/items/images/GGOEGXXX0906.jpg https://shop.example.com/store/20160512512/assets/items/images/GGOEGHPB071610.jpg
gtin 9504000059422 9504000059446 9504000059452
mpn(製品番号) 00638NIC 00638ANG 00638ABC
brand Google Google Google
Google 商品カテゴリ ファッション・アクセサリー > 衣料品 ファッション・アクセサリー > 衣料品 ファッション・アクセサリー > ファッション・アクセサリー > 帽子
Black Black
size L M M
age_group アダルト アダルト アダルト
gender male male 男女共用
included_destination ショッピング アクション、ショッピング広告 ショッピング アクション、ショッピング広告 Shopping Actions

products.insert

単一の商品を挿入するには、次のリクエスト URL を使用して、販売者 ID とサンプル JSON 本文を指定します。挿入により新しい商品が作成されます。特定のプロダクトの属性 channelcontentLanguageofferIdfeedLabel に値が存在する場合、このメソッドはそのエントリを更新し、特定のプロダクトの以前の API 呼び出しのデータをすべて置き換えます。

すべての掲載先から 7 日間除外された商品は、自動的に削除されます。

この例では、購入可能な商品に新しい「黒の Google T シャツ」を挿入しています。

POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products

products.insert のリクエスト本文の呼び出しの例:

{
 "kind": "content#product",
 "offerId": "1111111111",
 "title": "Google Tee Black",
 "description": "The Black Google Tee is available in unisex sizing.",
 "link": "http://my.site.com/blacktee/",
 "imageLink": "https://shop.example.com/.../images/GGOEGXXX1100.jpg",
 "contentLanguage": "en",
 "targetCountry": "US",
 "feedLabel": "US",
 "channel": "online",
 "ageGroup": "adult",
 "availability": "in stock",
 "availabilityDate": "2019-01-25T13:00:00-08:00",
 "brand": "Google",
 "color": "black",
 "condition": "new",
 "gender": "male",
 "googleProductCategory": "1604",
 "gtin": "608802531656",
 "itemGroupId": "google_tee",
 "mpn": "608802531656",
 "price": {
  "value": "21.99",
  "currency": "USD"
 },
 "sizes": [
  "Large"
 ]
}

商品には、JSON 本文内にカスタム属性を設定することもできます。たとえば、1 つの商品に purchase_quantity_limit を設定すると、ユーザーが注文できるアイテム数を制限できます。

"customAttributes": [
 {
   "name": "purchase_quantity_limit",
   "value": "4"
 }
]

purchase_quantity_limit カスタム属性は、商品定義に対してユーザーの注文 1 件あたりの購入制限を設定し、フィードでもサポートされています。この属性は、API で完全にサポートされるまでは、現在ベータ版です。販売者は任意のカスタム属性を追加できますが、API による特定の処理は行われません。

呼び出しが成功すると、HTTP 200 コードと、idofferIdcontentLanguagefeedLabelchannel のみが入力された商品リソースを含むレスポンス本文が返されます。

{
 "kind": "content#product",
 "id": "online:en:US:1111111111",
 "offerId": "1111111111",
 "contentLanguage": "en",
 "targetCountry": "US",
 "feedLabel": "US",
 "channel": "online"
}

products.get

Merchant Center データベース内の特定の商品の情報を取得するには、products.get を使用します。新しく挿入した商品がこの呼び出しで使用可能になるまでに数分かかることがあります。

次の HTTP リクエスト URL とパラメータ、販売者 ID、取得する商品の商品 ID(REST ID 形式)を使用します。

GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}

呼び出しが成功すると、レスポンスの本文で HTTP 200 と「商品リソース」が返されます。ID が online:en:US:1111111111 の商品から取得される商品データの例は次のとおりです。

{
 "kind": "content#product",
 "id": "online:en:US:1111111111",
 "offerId": "1111111111",
 "source": "api",
 "title": "Google Tee Black",
 "description": "The Black Google Tee is available in unisex sizing.",
 "link": "http://my.site.com/blacktee/",
 "imageLink": "https://shop.example.com/.../images/GGOEGXXX1100.jpg",
 "contentLanguage": "en",
 "targetCountry": "US",
 "feedLabel": "US",
 "channel": "online",
 "ageGroup": "adult",
 "availability": "in stock",
 "availabilityDate": "2019-01-25T13:00:00-08:00",
 "brand": "Google",
 "color": "black",
 "condition": "new",
 "gender": "male",
 "googleProductCategory": "1604",
 "gtin": "608802531656",
 "itemGroupId": "google_tee",
 "mpn": "608802531656",
 "price": {
  "value": "21.99",
  "currency": "USD"
 },
 "sizes": [
  "Large"
 ]
}

products.update

1 つの商品を更新するには、次のリクエスト URL を PATCH メソッドで使用します。販売者 ID、商品 ID、商品について更新するデータを含む JSON 本文を指定します。該当するすべてのフィールドを指定する必要がある products.insert とは異なり、products.update では変更するフィールドを指定するだけで済みます。

属性を追加または変更するには、JSON の本文で新しい値を含むフィールドを指定します。この例では、リクエストの本文で提供された商品データで、既存の「黒の Google T シャツ」の titledescription を更新し、その他のフィールドはすべてそのままにします。

PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}

products.update のリクエスト本文の呼び出しの例:

{
 "title": "Google Tee Black Limited Edition",
 "description": "The Limited Edition Tee is available in unisex sizing and features a retail fit."
}

products.update リクエストで更新できるのは最上位のフィールドのみです。ネストされたフィールドを更新するには、最上位オブジェクト全体を指定する必要があります。

この例では、既存の商品のネストされたフィールドを含む最上位の salePrice オブジェクトを、リクエスト本文で指定された商品データで更新し、その他のフィールドはすべてそのまま更新します。

PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}
{
 "salePrice": {
  "value": "17.99",
  "currency": "USD"
 }
}

リクエストの本文に含まれる他のフィールドを変更せずに更新する特定のフィールドを選択するには、updateMask を指定します。このクエリ文字列パラメータには、変更するフィールドのカンマ区切りのリストを指定する必要があります。updateMask は、名前付きフィールドのみが更新されることをアサートする場合に役立ちます。updateMask を指定しないと、上記の例に示すように、リクエスト内のすべてのフィールドを更新するようにマークするのと同じ結果になります。

この例では、リクエスト本文で指定されたそれぞれの商品データで、既存の「黒の Google T シャツ」の descriptionavailability のみを更新し、title を含む他のすべてのフィールドは変更しません。

PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}?updateMask=description,availability

products.update のリクエスト本文の呼び出しの例:

{
 "title": "Google Tee Black",
 "description": "This Limited Edition is out of print.",
 "availability": "out of stock"
}

updateMask リストでフィールドが指定されているものの、リクエストの本文には含まれていない場合、そのフィールドは Product リソースから削除されます(存在する場合)。

この例では、updateMask を使用して salePrice フィールドの値を削除します。

PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}?updateMask=salePrice

サンプルのリクエスト本文には、削除するための salePrice フィールドを含めないでください。本文または空の本文を指定することもできます。他のフィールドは、updateMask に含まれていない限り、変更されません。

products.custombatch リクエスト内で updateMask を使用するには、リクエストの本文で updateMask を指定する必要があります。

この例では、products.custombatch を使用して、バッチエントリで指定された商品データで既存の「黒の Google T シャツ」の priceavailability を更新し、titledescription などの他のフィールドはすべて変更しません。

POST https://shoppingcontent.googleapis.com/content/v2.1/products/batch
{
  "entries": [{
    "batchId": 1,
    "merchantId": "MERCHANT_ID",
    "productId": "online:en:US:1111111111",
    "method": "update",
    "product": {
      "title": "Google Tee Black",
      "description": "The Black Google Tee is available in unisex sizing.",
      "availability": "in stock",
      "price": {
        "value": "19.99",
        "currency": "USD"
      }
    },
    "updateMask": "availability,price"
  }]
}

products.delete

単一の商品を削除するには、products.delete を使用して、サンプル HTTP リクエスト URL、販売者 ID、削除する商品の商品 ID(online:en:US:1111111111 などの REST ID 形式)を指定します。

DELETE https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId}

成功すると、レスポンスの本文なしで HTTP Status 204 が返されます。

products.list

products.list: 販売者が Merchant Center データベースに登録されているすべての商品をリストします。次のリクエスト URL を使用します。

GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products

呼び出しが成功すると、「resources」キーに含まれる商品の HTTP 200 と JSON データが返されます。

次の 3 つのサンプル商品が返されます。

{
 "kind": "content#productsListResponse",
 "resources": [
  {
   "kind": "content#product",
   "id": "online:en:US:1111111111",
   "offerId": "1111111111",
   "source": "api",
   "title": "Google Tee Black",
   "description": "The Black Google Tee is available in unisex sizing.",
   "link": "http://my.site.com/blacktee/",
   "imageLink": "https://shop.example.com/.../images/GGOEGXXX1100.jpg",
   "contentLanguage": "en",
   "targetCountry": "US",
   "feedLabel": "US",
   "channel": "online",
   "ageGroup": "adult",
   "availability": "in stock",
   "availabilityDate": "2019-01-25T13:00:00-08:00",
   "brand": "Google",
   "color": "black",
   "condition": "new",
   "gender": "male",
   "googleProductCategory": "1604",
   "gtin": "608802531656",
   "itemGroupId": "google_tee",
   "mpn": "608802531656",
   "price": {
    "value": "21.99",
    "currency": "USD"
   },
   "sizes": [
    "Large"
   ]
  },
  {
   "kind": "content#product",
   "id": "online:en:US:2222222222",
   "offerId": "2222222222",
   "source": "api",
   "title": "Google Tee Green",
   "description": "100% cotton jersey fabric sets this Google t-shirt above the crowd.
    Features the google logo across the chest. Unisex sizing.",
   "link": "http://my.site.com/greentee/",
   "imageLink": "https://shop.example.com/.../images/GGOEGXXX0906.jpg",
   "contentLanguage": "en",
   "targetCountry": "US",
   "feedLabel": "US",
   "channel": "online",
   "ageGroup": "adult",
   "availability": "in stock",
   "availabilityDate": "2019-01-25T13:00:00-08:00",
   "brand": "Google",
   "color": "green",
   "condition": "new",
   "gender": "male",
   "googleProductCategory": "1604",
   "gtin": "608802531649",
   "itemGroupId": "google_tee",
   "mpn": "608802531649",
   "price": {
    "value": "21.99",
    "currency": "USD"
   },
   "sizes": [
    "Medium"
   ]
  },
  {
   "kind": "content#product",
   "id": "online:en:US:3333333333",
   "offerId": "3333333333",
   "source": "api",
   "title": "Google Twill Cap",
   "description": "Classic urban styling distinguishes this Google cap.
    Retains its shape, even when not being worn.",
   "link": "http://my.site.com/blackhat/",
   "imageLink": "https://shop.example.com/.../images/GGOEGHPB071610.jpg",
   "contentLanguage": "en",
   "targetCountry": "US",
   "feedLabel": "US",
   "channel": "online",
   "ageGroup": "adult",
   "availability": "in stock",
   "availabilityDate": "2019-01-07T13:00:00-08:00",
   "brand": "Google",
   "color": "black",
   "condition": "new",
   "gender": "male",
   "googleProductCategory": "173",
   "gtin": "689355417246",
   "mpn": "689355417246",
   "price": {
    "value": "10.99",
    "currency": "USD"
   },
   "sizes": [
    "Medium"
   ]
  }
 ]
}