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

Ресурс productstatuses позволяет проверить статус утверждения или отклонения конкретного продукта для определенного места назначения. Для получения более подробной информации о том, какие продукты могут иметь проблемы с качеством данных и в чем они могут заключаться, обратитесь к руководству по статусу продукта .
В наших примерах API мы используем три товара: две футболки Google и кепку Google. Мы используем минимальный набор данных о товарах, представленный в таблице ниже, для выполнения запросов к ресурсам products с целью вставки, получения, обновления, отображения списка и удаления отдельных товаров и партий товаров.
Мы рекомендуем настраивать информацию о доставке и налогах на уровне учетной записи , а не на уровне товара.
Для субаккаунтов нескольких продавцов на торговых площадках все товары должны содержать поле external_seller_id . Подробнее см. в разделе «Идентификаторы товаров» .
![]() | ![]() | ![]() | |
| идентификатор | онлайн:ен:США:1111111111 | онлайн:ен:США:2222222222 | онлайн:ен:США:3333333333 |
| offerId | 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 долларов США |
| доступность | В наличии | В наличии | В наличии |
| imageLink | https://shop.example.com/ | https://shop.example.com/ | https://shop.example.com/ |
| гтин | 9504000059422 | 9504000059446 | 9504000059452 |
| мпн | 00638NIC | 00638ANG | 00638ABC |
| бренд | |||
| Категория товаров Google | Одежда и аксессуары > Одежда | Одежда и аксессуары > Одежда | Одежда и аксессуары > Аксессуары для одежды > Головные уборы |
| цвет | черный | зеленый | черный |
| размер | Л | М | М |
| возрастная_группа | взрослый | взрослый | взрослый |
| пол | мужской | мужской | унисекс |
| включенное_назначение | Действия при совершении покупок, товарные объявления | Действия при совершении покупок, товарные объявления | Действия при совершении покупок |
продукты.вставка
Для добавления одного товара используйте следующий URL-адрес запроса, указав свой идентификатор продавца и пример JSON-тела. Вставка создаст новый товар. Если для атрибутов channel , contentLanguage , offerId и feedLabel существуют значения для данного товара, этот метод обновит эту запись и заменит все данные из предыдущих вызовов API для данного товара.
Товары, которые исключены из всех направлений более чем на 7 дней, автоматически удаляются.
В приведенном примере в список доступных товаров добавляется новая футболка "Black Google Tee".
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 существующей футболки "Black Google Tee" будут обновлены данными о товаре, указанными в теле запроса, а все остальные поля останутся без изменений.
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 выводит список всех товаров, которые есть у продавца в базе данных 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"
]
}
]
}


