вызовы ресурсов продуктов

Ресурс products обеспечивает большую гибкость и контроль над более чем 60 атрибутами продукта. Существует ряд полей, которые являются обязательными и должны быть включены, чтобы их можно было одобрить для отображения в Google Покупках. Существует ряд необязательных полей, которые могут стать обязательными в зависимости от различных условий, таких как местоположение, тип продукта, варианты продукта и наборы продуктов. Более подробную информацию о более чем 60 дополнительных параметрах, которые можно настроить для продуктов, см. в Спецификациях данных о продукте .

Ресурс products позволяет insert , get , update и delete по одному продукту за раз, а также list все продукты в базе данных торгового центра.

Ресурс productstatuses можно использовать для проверки статуса утверждения или отклонения конкретного продукта для пункта назначения. Дополнительную информацию о том, какие продукты могут иметь проблемы с качеством данных и в чем заключаются эти проблемы, можно найти в руководстве по состоянию продукта .

В наших примерах API мы используем три продукта: две футболки Google и кепку Google. Мы используем минимальный набор данных о продуктах, показанный в таблице ниже, для вызовов ресурсов products для вставки, получения, обновления, перечисления и удаления отдельных продуктов и партий продуктов.

Мы рекомендуем настраивать информацию о доставке и налогах на уровне учетной записи , а не на уровне продукта.

Для субаккаунтов торговых площадок с несколькими продавцами все продукты должны включать поле external_seller_id . Дополнительные сведения см. в разделе «Идентификаторы продуктов» .

идентификатор онлайн:en:US:1111111111 онлайн: en: США: 2222222222 онлайн: en: США: 3333333333
идентификатор предложения 1111111111 2222222222 3333333333
заголовок Черная футболка Google Зеленая футболка Google Саржевая кепка Google
описание Черная футболка Google Футболка Google из 100 % хлопка. Классическая кепка Google
идентификатор группы товаров google_tee google_tee
связь http://my.site.com/blacktee http://my.site.com/greentee http://my.site.com/blackhat
состояние Новый Новый Новый
цена 21,99 долларов США 21,99 долларов США 10,99 долларов США
доступность В наличии В наличии В наличии
изображениеСсылка https://shop.example.com/ магазин/20160512512/активы/предметы/изображения/ GGOEGXXX1100.jpg https://shop.example.com/ магазин/20160512512/активы/предметы/изображения/ GGOEGXXX0906.jpg https://shop.example.com/ магазин/20160512512/активы/предметы/изображения/ GGOEGHPB071610.jpg
Гтин 9504000059422 9504000059446 9504000059452
MPN 00638NIC 00638АНГ 00638ABC
бренд Google Google Google
Категория продукта Google Одежда и аксессуары > Одежда Одежда и аксессуары > Одежда Одежда и аксессуары > Аксессуары для одежды > Головные уборы
цвет черный зеленый черный
размер л М М
возрастная группа взрослый взрослый взрослый
пол мужской мужской унисекс
включенное_назначение Торговые действия, товарные объявления Торговые действия, товарные объявления Покупки

продукты.вставка

Чтобы вставить один продукт, используйте следующий URL-адрес запроса, указав идентификатор продавца и образец тела JSON. Вставка создает новый продукт. Если для данного продукта существуют значения атрибутов channel , contentLanguage , offerId и feedLabel , этот метод обновляет эту запись и заменяет все данные из предыдущих вызовов API для данного продукта.

Товары, исключенные из всех направлений более 7 дней, автоматически удаляются.

В показанном примере к доступным продуктам добавляется новая «Черная футболка Google».

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. Например, мы можем установить purchase_quantity_limit для одного продукта, чтобы ограничить количество товаров, которые клиент может заказать:

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

Обратите внимание, что пользовательский атрибут purchase_quantity_limit устанавливает лимит покупок на заказ клиента в определении продукта и также поддерживается фидами. Атрибут в настоящее время находится на стадии бета-тестирования, пока не будет полностью поддерживаться API. Продавец может добавить любой дополнительный пользовательский атрибут, но это не приводит к какой-либо конкретной обработке API.

Успешный вызов возвращает код HTTP 200 и тело ответа, содержащее вставленный ресурс продукта с заполненными только id , offerId , contentLanguage , feedLabel и channel :

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

продукты.получить

Чтобы получить информацию о конкретном товаре в базе данных Merchant Center, используйте products.get . Прежде чем новый добавленный продукт станет доступен посредством этого вызова, может пройти несколько минут.

Используйте следующий URL-адрес и параметры HTTP-запроса, свой идентификатор продавца и идентификатор продукта (формат REST ID) для продукта, который вы хотите получить:

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

Успешный вызов возвращает HTTP 200 и «ресурс продукта» в теле ответа. Вот пример данных о продукте, полученных из продукта с 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"
 ]
}

продукты.обновление

Чтобы обновить один продукт, используйте следующий URL-адрес запроса с методом PATCH, указав свой идентификатор продавца, идентификатор продукта и тело JSON, содержащее данные, которые вы хотите обновить для продукта. В отличие от products.insert , который требует предоставления всех применимых полей, products.update требует от вас указать только те поля, которые вы хотите изменить.

Чтобы добавить или изменить атрибут, укажите поле с новым значением в теле JSON. В показанном примере title и description существующей «Черной футболки Google» будут обновлены данными о продукте, указанными в теле запроса, при этом все остальные поля останутся нетронутыми.

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 эквивалентно пометке всех полей запроса для обновления, как показано в примере выше.

В показанном примере будут обновлены только description и availability существующей «Черной футболки Google» с соответствующими данными о продукте, указанными в теле запроса, при этом все остальные поля, включая 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 .

Чтобы использовать updateMask в запросе products.custombatch , updateMask должен быть указан в тексте запроса.

В показанном примере price и availability существующей «Черной футболки Google» будут обновлены с использованием products.custombatch с использованием данных о продукте, указанных в записи пакета, при этом все остальные поля, включая title и description останутся нетронутыми.

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 с примером URL-адреса HTTP-запроса, идентификатора продавца и идентификатора продукта (в формате REST ID, например online:en:US:1111111111 ) для продукта, который вы хотите удалить:

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

Успешный ответ возвращает HTTP Status 204 без тела ответа.

продукты.список

products.list перечислены все продукты, которые есть у продавца в базе данных торгового центра. Используйте следующий URL-адрес запроса:

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

Успешный вызов возвращает данные HTTP 200 и JSON для продуктов в ключе «resources».

Возвращаются следующие три примера продуктов:

{
 "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"
   ]
  }
 ]
}