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

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

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

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

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

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

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

идентификатор онлайн:en:US:1111111111 онлайн:en:US:2222222222 онлайн:en:US:3333333333
offerId 1111111111 2222222222 3333333333
заголовок Черная футболка Google Футболка Google зеленая Кепка Google Twill
описание Черная футболка 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 долларов США
доступность В наличии В наличии В наличии
imageLink https://shop.example.com/ магазин/20160512512/assets/items/images/ GGOEGXXX1100.jpg https://shop.example.com/ магазин/20160512512/assets/items/images/ GGOEGXXX0906.jpg https://shop.example.com/ магазин/20160512512/assets/items/images/ GGOEGHPB071610.jpg
гтин 9504000059422 9504000059446 9504000059452
mpn 00638NIC 00638ANG 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"
}

products.get

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

Список products.list содержит список всех товаров, имеющихся в базе данных Merchant Center. Используйте следующий 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"
   ]
  }
 ]
}